23 Commits

Author SHA1 Message Date
hjzhangcm bd009036d8 fix codex warning issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5C3XK
Signed-off-by: hjzhangcm <zhanghaijun20@huawei.com>
2022-06-14 10:38:06 +08:00
xiongluo 7d12ac2836 optimize smart gc params
merge bool params and reduce param number

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5B4MQ

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-06-09 20:05:08 +08:00
xiongluo 0a218f7bb7 add smart gc interface and change gc params
add interface to change gc params
close concurrent sweep and mark in background
limit the post task num

issue:https://gitee.com/openharmony/ability_ability_runtime/issues/I59N1V

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-06-07 14:33:15 +08:00
lukai cdcd46b347 fix concurrent sweep bugs
Both concurrentSweep thread and js thread will operate remember set, which leads to competition.

Use two remembersets, one for concurrentSweep, one for js thread

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5794M?from=project-issue

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: Ie86ead2e5f5dfaf47c9830a56d158711b0ba9147
2022-05-15 19:42:58 +08:00
Yuqiang Xian d9068ae3e0 Tidy up Heap class; re-organize the fields by categories and add descriptions.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I551ZU

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: I53a4f5840a42d2b67ef7200145250e8e19ce072d
2022-04-28 11:14:39 +08:00
Yuqiang Xian 5925e8ff44 Fix some terminologies used in concurrent marker and sweeper.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I54NZF

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: I2d398290ff7c0febffa7eb15bac78a4c3d9bc6a1
2022-04-27 18:28:18 +08:00
Yuqiang Xian d5d9acb51d Refactor the GC related components.
Part 1: Rename evacuator classes and provide a generic GarbageCollector interface.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I54NZF

Change-Id: Iedc7817f55afa136df5ece95d456b85a1bd5aadc
Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-04-26 14:33:49 +08:00
wengchangcheng 4804cd80d3 add Wextra and Werror in gn args
1. add -Wextra and -Werror to check code format error
2. modify all compiler error

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4ZDQE

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: If5fdd1980494269b4c06bf1bb38a8eba7952adea
2022-03-24 21:45:19 +08:00
DaiH 3e5c4da8c3 Change file folder "platform" to "tastpool"
Signed-off-by: DaiH <daihuina1@huawei.com>

1. Change file folder "platform" to "tastpool"
2. Change class "platform" to "tastpool"

https: //gitee.com/openharmony/ark_js_runtime/issues/I4Z7EU
Change-Id: Ife3f2a9e52a02e5046e3ccd936f1993aa225e908
2022-03-23 15:43:38 +08:00
lukai 486f8fdf86 Fix concurrent sweep bugs
Both concurrentSweep thread and evacuate thread could modify rememberset at the same time.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4YVUE

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: Ie4aa3d540ab6c9a542e1be3493e4e46e5017241c
2022-03-22 14:41:42 +08:00
yingguofeng@huawei.com 12e27e6863 Heap code refactoring
Delete MemManager class. The allocation function move to heap.cpp. The Space
manage Allocator.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4UTFQ

Change-Id: I03cef52d9a1c86b07323de1e19ead53fe6daaf99
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-02-25 16:03:15 +08:00
xiongluo 82b0916295 GC name is unclear and confused. class_ in object factory are redundant.
Modify gc name and delete class_ in object factory.

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4T5DR

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-02-16 01:10:53 -10:00
yingguofeng@huawei.com 3ace067f87 GC performance optimization
1、Delete strategy no gc for start up
2、Adapter performance tools: runtime stat
3、Modify freeObjectKind to freeObjectSet

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4SASV?from=project-issue

Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: I01643755057b6146d1f6b67032256e687873cd07
2022-02-15 14:24:21 +08:00
yingguofeng@huawei.com ef9b13734d Performance optimization for gc
1、Optimize GC parallel evacate strategy: evacuate to old space with FreeListAllocator.
2、Adjust strategy that whole region evacuate: Only support new fromspace to new tospace.
3、Adjust Semi space capacity growing/shrinking strategy and Adjust Semi space initialize size.

splay-benchmark:
blue zone: ark_js(2500), v8(2000)
ark-dev:  ark(1200), v8(1500)

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4SASV?from=project-issue

Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: Ie9c6e94c47f531bf9c1ebf5bc7443dd1acb7d2ac
2022-02-15 14:23:43 +08:00
songzhengchao c715b45033 implement fastpath writebarrier and region class init markingbitmap on
construct function and refactor stub call runtime offset which's relative with
arch framework

current stub call runtime writebarrier, writebarrier stub is conveient
to optimized by llvm pass

region class markingbitmap should be not nullptr, it's good way to
inilized on construct class other than lazy inilized

current stub get member offset of runtime class, need to modify multiple
places which is not coveient to maintance. stub call offset by GetOldToxxxOffset and
CheckLayout which is checked by compile phase

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4SC94
Change-Id: Iec087f07ca27ef95b20ff65ea8bb9408b5887d9c
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-02-07 17:23:21 +08:00
linxiang 5820ca18a1 add ark trace
Signed-off-by: linxiang <linxiang8@huawei.com>
2022-01-20 19:11:24 +08:00
xiongluo 510d33a07b Optimize GC trigger
Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-01-13 22:30:21 -10:00
linxiang 3178cc419e fix hppgc bug
Signed-off-by: linxiang <linxiang8@huawei.com>
2022-01-07 11:00:49 +08:00
openharmony_ci 28346e4c68 !263 native_pointer optimization and code review fix
Merge pull request !263 from yingguofeng/native_pointer
2021-12-23 13:47:02 +00:00
dingwen 066ef423de cset enable
Signed-off-by: dingwen <dingwen6@huawei.com>
2021-12-23 21:06:49 +08:00
yingguofeng@huawei.com 1d9b2ac3dd nativePointer optimization
Change-Id: I97b58375c2ec30f33778d7f11fb40a9cf0ed346b
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2021-12-23 19:40:54 +08:00
zhangyukun a97747fe18 Description:sync from code from wgr_master to ohos
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: Ic66a9e649de8c0ce530483296fe323b8f50621fb
2021-12-21 09:36:03 +08:00
yingguofeng@huawei.com c259d52c5f Concurrent sweep
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: I2a5a0172577971c96e156f99b5ccf1f6c3d0063c
2021-10-13 17:47:42 +08:00