92 Commits

Author SHA1 Message Date
wengchangcheng cd90e396a7 Descriptor: ark hilog refactor
details:
1. use hilog in ohos device
2. use panda logger in host
issue:  https://gitee.com/openharmony/ark_js_runtime/issues/I5FR5J

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I6f5de00751154bdb6aac3101515961a3a4432e80
2022-07-06 22:55:49 +08:00
zhaozhibo 2401947648 Rectify coding specification problems from codecheck panel
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-07-01 17:34:26 +08:00
lukai 2a7a4390ee add read-only space
realize read-only space to manage read-only object
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5DHA7?from=project-issue

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: I94007e4a2ad990ca21a182afa182713cae390a76
2022-06-28 09:15:29 +08:00
yingguofeng@huawei.com 86432994a8 It need to earse object from TaggedQueue when pop
Description:Memory leaked in window's Testing Application

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5DF7W?from=project-issue
Change-Id: I8d24df9152688512e8d479cf7a91bab205c409c8
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-06-22 09:36:41 +08:00
openharmony_ci 63ed734dd7 !1596 adjust pool size and related vm-memory according to physical memory
Merge pull request !1596 from lukai/master
2022-06-20 13:43:57 +00:00
lukai 7b695c2ae5 adjust pool size and related vm-memory according to physical memory
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5CCG0?from=project-issue

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: I46bf3a11ef509ece55b45edc92bb7cb68c100dfa
2022-06-18 14:38:43 +08:00
wengchangcheng 6468341c72 Descriptor: delete some internal unused code
details: delete unused code
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5COHE

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I5fe62c58353839d4aac1144fc99e2cf87f4374eb
2022-06-17 23:03:42 +08:00
openharmony_ci 41865d03ba !1577 Optimize the finalizationRegistry interface code according to the review
Merge pull request !1577 from 小马奔腾/master
2022-06-14 09:31:04 +00:00
openharmony_ci 80173b7bfb !1549 Use weak reference instead of strong reference for SetNativePointer
Merge pull request !1549 from lukai/master
2022-06-14 08:46:36 +00:00
xdmal de8cddd1fe Optimize the finalizationRegistry interface code according to the review
Optimize the finalizationRegistry interface code according to the review

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

Signed-off-by: xdmal <maxiaodong16@huawei.com>
2022-06-13 16:08:00 +08:00
Yuqiang Xian ec35dbada7 Merge remote-tracking branch 'oh/master' 2022-06-13 11:49:01 +08:00
lukai d098277ade Use weak reference instead of strong reference for ArkNativeObject::SetNativePointer
Use weak reference instead of strong reference for SetNativePointer.
And in period of gc updating reference, if the related js object is free, "Finalize" callback will be called to release c++ memory.

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

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: Ibb04cf2efa0c7e1fe719eda5e95cb62938e661e0
2022-06-12 20:58:51 +08:00
openharmony_ci 671065ee6e !1522 Optmize smart gc params
Merge pull request !1522 from xiongluo/reduce_params
2022-06-09 12:52:56 +00: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
Yuqiang Xian 9a35d504b2 Merge remote-tracking branch 'oh/master' 2022-06-08 11:21:28 +08:00
openharmony_ci 11895598b5 !1435 Add smart gc interface
Merge pull request !1435 from xiongluo/smart_gc
2022-06-07 07:58:35 +00: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
Yuqiang Xian 34c428f16a Re-organize the region flags.
1) Separate the space type flags from the GC related flags;
2) the space type flags should be exclusive with each other, hence we shouldn't make them denoted
   by specific dedicated bits respectively, because in that way we can't avoid multiple bits being set,
   which is not what we expect.
3) the GC related flags are kept using dedicated flag bit for now. Going forward we should continuouslly
   improve this, e.g., to check if some of these flags are also exclusive with each other, and to better
   separate them from the space type flags with separately declared types, etc.
4) The judgement of whether an object is containted in the heap is _somehow_ improved, but as mentioned
   in the code comments, it's still not safe and accurate enough, be careful when using it.

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

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-06 17:23:27 +08:00
hjzhangcm 6741c67039 describe:fix codex warning
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5AM6L

Signed-off-by: hjzhangcm <zhanghaijun20@huawei.com>
2022-06-06 11:27:19 +08:00
Yuqiang Xian c492d6a7bc Merge remote-tracking branch 'oh/master' 2022-06-02 00:31:44 +08:00
openharmony_ci 7e3af05fb1 !1442 Add WeakRef and FinalizationRegistry interfaces
Merge pull request !1442 from 小马奔腾/master
2022-06-01 15:07:08 +00:00
xdmal a4062881d1 Add WeakRef and FinalizationRegistry interfaces
Add WeakRef and FinalizationRegistry interfaces

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

Signed-off-by: xdmal <maxiaodong16@huawei.com>
2022-06-01 20:59:20 +08:00
Yuqiang Xian 03e1ff5f35 Redesign the region flag setting and fix potential bugs within it.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-01 11:38:56 +08:00
yingguofeng@huawei.com 73689999ed Add jsnapi interface CopyableGlobal
issue:https://gitee.com/openharmony/arkui_ace_engine/pulls/2628

Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: I28bcfa69f47d9b239d1cd37f8bbd34c82a0c8da9
2022-05-31 22:14:22 +08:00
lukai 1a5e085031 support memory parameters configuration
1. heap configuration including heapSize and space capaticity
2. other parameters such as gcThreadNum, longPauseTime.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I59HYO?from=project-issue

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: If3bfe7338ae0712809d9750fef3bbbb14017223f
2022-05-30 17:22:08 +08:00
Yuqiang Xian aec17d740f Merge remote-tracking branch 'oh/master' 2022-05-30 12:09:58 +08:00
yingguofeng@huawei.com a38b774573 Description: The change of hole tag cause that nullptr to be judged as a heap object
Solution: Ensure that all fileds of heap object(includes free object) are not nullptr

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

Change-Id: I062c3a7b9289de9efbb123ec62716fa554d2cb1d
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-05-28 19:18:54 +08:00
Yuqiang Xian 86472a91e0 Add a flag in Region object to describe whether the associated region space is reclaimed or not.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-25 16:51:56 +08:00
Yuqiang Xian daf51dae0f Refactor Heap Region class.
1) Get rid of the dependency on "Space";
2) Fix a bug in RegionFlags definition, and tidy it up.
3) Fix the flag check logic to make it support multi-bit test;
4) Clean-up some logic to determine if a region or an object is valid / alive;

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

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-24 16:28:00 +08:00
linxiang 56d94b906b 1. huge space region reclaim need after weakReference update.
2. thread_local variable should move to ecma_vm instance.

Signed-off-by: linxiang <linxiang8@huawei.com>
Change-Id: Ic22a392c3f385d123880e449533532feb3b135ec
2022-05-23 14:39:33 +08:00
sunzhe23 e0bd313831 Support inline new for new lexical env
description:
1 implements new lexical by inline new
2 add rodata for aot code

issue: I57XRY

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-05-19 15:07:16 +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
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