Commit Graph

32 Commits

Author SHA1 Message Date
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
openharmony_ci bcb29c4004 !1260 replace bytrace key to hitrace_meter for ark_js_runtime
Merge pull request !1260 from wenlong_12/master
2022-05-13 03:33:56 +00:00
wenlong12 9041b8f1e8 replace bytrace key to hitrace_meter
Signed-off-by: wenlong12 <wenlong12@huawei.com>

Signed-off-by: wenlong12 <wenlong12@huawei.com>
2022-05-12 16:37:03 +08:00
openharmony_ci 42355bd8fb !1262 Refactor Compilation Framework Part-2
Merge pull request !1262 from Gargoyle.h/wzfmaster-dev
2022-05-11 12:29:01 +00:00
wuzhefeng 662f2b78a6 Refactor Compilation Framework Part-2
1. Rename IR builder to improve the readability.
2. Remove redundant Headers to decouple the relationships of components.

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

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I0c8da6cd55bb8e7f33421ba846bab89bd5e06c55
2022-05-11 04:28:10 -07:00
Yuqiang Xian e83020c9ea Fix issues in calculating promoted objects size for young semi-space GC.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I55HWI

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-10 18:24:37 +08:00
Yuqiang Xian f17e646f69 Merge remote-tracking branch 'oh/master' 2022-04-30 20:09:00 +08:00
Yuqiang Xian 9e88572f35 Add descriptions to concurrent marking status check.
Don't use IS_STANDARD_SYSTEM config to switch off concurrent marking.
Fix typos and grammar issues.

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

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-04-30 20:02:19 +08:00
openharmony_ci 272cf6664d !1155 Refactor the GC related components - Part 4
Merge pull request !1155 from klooer/master
2022-04-30 09:45:48 +00:00
zhaozhibo b7fb4444ec delete object_xray-inl.h, move into object_xray.h and create visitor.h
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-04-28 21:25:51 +08:00
Yuqiang Xian c7e278f057 Tidy-up Heap class; re-organize the public methods by categories and add descriptions.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I551ZU

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-04-28 16:10:59 +08:00
Yuqiang Xian 57c0a4f055 Rename GC types and spaces to make it more consistent and clear.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I54NZF

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: Ieeb356480fe6767ec6c2c53b6119e8c4b99d9ff9
2022-04-27 18:28:18 +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 8e93c703bf Refactor the GC related components.
Part 3: Clean-up GC work related utilities and get rid of confusing terminologies.

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

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: I8085a6a074549366ec59214ce499d873660015e2
2022-04-26 14:34:43 +08:00
Yuqiang Xian d6905ec209 Refactor the GC related components.
Part 2: Rename MixGC to PartialGC.

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

Change-Id: Ic7a91f4f8102994d7383d25d949b89310666401a
Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-04-26 14:34:04 +08:00
yingguofeng@huawei.com aeb8531377 Bitmap Refactor
Refactor the markbitmap used to mark objects and the rememberset used to record cross generational references

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

Change-Id: Icc4ac21219b5b7514b77291e436f79cf286515b2
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-04-22 10:28:36 +08:00
lukai ca4b4a16cf bugfix for AsyncClearTask
EcmaList<Region> dosen't support thread safety.So operating EcmaList in different threads concurrently causes error.

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

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: Id538635d18369ec7c9d7a2821a7ea1cd67610811
2022-04-12 11:24:42 +08:00
dingwen f7c357a8d4 SnapShot serialize and deserialize by using ObjectXray visit object
field
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4ZOXH

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I6e03cfb4f7b89786b612b56adc0877f8b178058e
2022-04-10 12:32:07 +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
wengchangcheng 88ee30a2eb add build flag '-Wall'
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4YVDY

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I6a4d28ad86f4c99684a6a6b55ed541861bf1a873
2022-03-21 21:18:59 +08:00
yingguofeng@huawei.com de5ce040c0 Bugfix:Fix application bug that found by monkey testing
Description:The Type of Size field in FreeObject modified to JSTaggedValue. Nonmovable And HugeObject Space OOM bugfix

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4VE6U
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: If4f046d26500e6d7635a3b6e7e7b1c5817027f08
2022-02-26 18:39:47 +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 70147c1220 The limits of old space and global space were fixed.
According to the survival rate, adjust the initial old space limit adaptively.

 https://gitee.com/openharmony/ark_js_runtime/issues/I4UAY2

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-02-21 23:05:13 -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
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