Commit Graph

61 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 d9d281af16 Merge remote-tracking branch 'oh/master' 2022-05-10 19:04:40 +08:00
openharmony_ci 87ffbd0d42 !1190 Add support for Mac platfom
Merge pull request !1190 from Pan Zhenyu/master
2022-05-09 06:15:13 +00:00
openharmony_ci 94bf56d64b !1230 fix part of the use case problem
Merge pull request !1230 from wanyanglan/master
2022-05-09 04:09:17 +00:00
ZhenyuPan 78f27c883f for ark_js_vm on mac
related issue: https://gitee.com/openharmony/ark_js_runtime/issues/I55GYU
Change-Id: I3faad1171ed2ef08660c62f0ff6c88b34c5cbcfa
Signed-off-by: panzhenyu1 <panzhenyu1@huawei.com>
2022-05-09 09:06:58 +08:00
wanyanglan 404fc3fb09 fix part of the use case problem
1. AssemblerStubTest adapts to the latest llvm library
2. Fix aottest failure in heapverify open state
3. Shield createemptyarray, definefunc use cases.

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

Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: Id8836d378832a68a3a17105809f2f4710918fc3a
2022-05-08 22:50:59 +08:00
dingwen 61b6782b65 Snapshot code optimization
Description:Snapshot code optimization include modify class name SnapShotSerialize to SnapShotHandler, delete some magic number, add interface to acquire global env and global const object index.
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I55CQ3

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I338028c5cfd4f992095f2bded2956e33f275bb1b
2022-05-07 09:23:06 +08:00
Yuqiang Xian 42bbb16a55 Get rid of "Heap" class / instance dependency from "Space" base class.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I55HWI

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-05 20:14:16 +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
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 939df48407 Add missing comments in GC trigger logic.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I551ZU

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-04-28 11:55:57 +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 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 91c54d3b74 Fix several typos in the code.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I54NZF

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: I51002ec27cbbb46263a104e6e19c5e354dcbc189
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 ad2baf6777 Refactor GC related components - Fix code check issues
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I54NZF

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
Change-Id: I8146bc96b498dda1b0da98a2cf3eb94f4e942c49
2022-04-26 14:34:18 +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
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
openharmony_ci 877acf065d !981 bugfix for AsyncClearTask
Merge pull request !981 from lukai/master
2022-04-13 07:02:38 +00:00
openharmony_ci cec7cd588d !979 Fix app crash problems
Merge pull request !979 from xiongluo/fix_crash_problem
2022-04-13 03:45:17 +00:00
xiongluo ae86ac820b Fix OOM and crash problem in triggering gc
1. Trigger GC before huge space and sparse expanding.
2. Avoid triggering concurrent mark twice.
3. Add unittest to check huge objects can be allocated frequently.

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-04-12 17:01:09 -10: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
openharmony_ci 6a1c61d215 !930 Fix long gc problem (18ms) in photos app
Merge pull request !930 from xiongluo/fix_long_gc_problem
2022-04-11 07:56:54 +00:00
xiongluo 2e3d07b336 Fix long gc duration problem in photos app
Add handle scope to avoid the large number of root nodes.

Remove unnecessary handles in the critical path.

Adjust the parameters in gc to avoid multiple consecutive Old GCs.

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-04-10 20:45:15 -10: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
wengchangcheng 4e08cec6ee [part-1] delete "*-inl.h" of newest codex rule
move the definition to the declare head file

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

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: Ieeb0ec96281cda51d0bebd6a2e771fc8d4078306
2022-04-07 14:14: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
xiongluo ed850e9ddf Fix ts benchmark oom by reducing the limits.
Tsbenchmark app will crash by random clicking. The reason of crash is oom.

Use heap object size to calculate the limits instead of committed size,
and change the max size of old space.

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

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-03-14 17:40:45 -10:00
openharmony_ci 50ab8e3695 !685 enable Parallel GC
Merge pull request !685 from xiongluo/parallelGC_enable
2022-03-04 09:02:50 +00:00
xiongluo f810812b3c enable parallel gc
Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-03-03 22:18:31 -10:00
scw 326b0140c9 move dfx feature to dfx dir
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I4SXXS

Signed-off-by: scw <suchongwei@huawei.com>
Change-Id: Ie5ae6a70f5b561b7578702db591affb26a0057d9
2022-03-04 10:52:47 +08:00
panzhenyu1 17258d9872 Adapt for windows platform
related issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4VDA4
Change-Id: I4560cf0ec4c05ccd855debb51b6d0190b4f1ccfa
Signed-off-by: panzhenyu1 <panzhenyu1@huawei.com>
2022-03-02 11:22:58 +08:00
yingguofeng@huawei.com ac6332be22 Fix VerificationTest Failure
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4VNFE?from=project-issue

Change-Id: I3a76284a6cc75895bd50c9a77c08df96b3e60ce2
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-02-28 20:54:00 +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
openharmony_ci bcff5f0b7a !585 Adjust the initial limits of old space and global space adaptively.
Merge pull request !585 from xiongluo/adjust_initial_limit
2022-02-23 08:26:32 +00: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
dingwen 87e9f4ff3c Modify RegionFactory and Chunk
Description:Divide RegionFactory into HeapRegionAllocator and
NativeAreaAllocator,use ChunkVector replace some unreasonable CVector.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4TRB8

Signed-off-by: dingwen <dingwen6@huawei.com>
2022-02-21 15:22:01 +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
linxiang 5820ca18a1 add ark trace
Signed-off-by: linxiang <linxiang8@huawei.com>
2022-01-20 19:11:24 +08:00
jiangkai43 83811df4d5 Signed-off-by: jiangkai43 <jiangkai43@huawei.com>
modified heap file
2022-01-16 15:30:39 +08:00
xiongluo 510d33a07b Optimize GC trigger
Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-01-13 22:30:21 -10:00