Commit Graph

158 Commits

Author SHA1 Message Date
luochuhao d8e482f756 Modify enable logic of certain runtime options.
Change condtion for File execution branch to whether file is AOT compiled or not.

Fix bug of setting bc debug handler entry while loading stub file.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5BBFH
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I5b6d47a1587631849f6c1e746473cb14b1d727a8
2022-06-13 12:15:03 +08:00
xujie 6430e8f31e TSAOT Exception Handler
1. Throw JS exception in tsaot
2. Print bcoffset when occur JS exception

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

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I046d76c092a399354ddcdedd859f0c1e622387c2
2022-06-11 16:36:16 +08:00
dingwen 53808f9634 Snapshot support serialize builtins object independently
description:Add SerializeBuiltins interface, support create EcmaVM by deserializing builtins.snapshot file
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5B3QM
Signed-off-by: dingwen <dingwen6@huawei.com>

Change-Id: I0d19efe34826bdb58366df9eed571285afbcccca
2022-06-09 21:21:44 +08:00
openharmony_ci a6f3b2b8a6 !1177 Require function realization
Merge pull request !1177 from DaiHN/require
2022-06-09 12:51:21 +00:00
DaiH eee606c334 Support CommonJS's module export function
------------------------------------------
    1. Support CommonJS's module export function
    2. Related test cases
    issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5590V

Signed-off-by: DaiH <daihuina1@huawei.com>
Change-Id: I18968f6a6b971fbe833d91ef98813964cc8292c9
2022-06-08 10:59:06 +08:00
scw 6ef6305257 add vm destruct log and thread nullptr check in ThreadCheck
print vm address in log when vm is destructed
if thread is nullptr ,abort and print vm address in log

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

Signed-off-by: scw <suchongwei@huawei.com>
2022-06-07 12:14:07 +08:00
xiongluo 8c85c0b787 fix globalEnvConstants initialize bug
add a member to identify whether the globalEnvConstants is initialized or not.

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

Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-06-06 21:20:48 +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
openharmony_ci 80f810fc8f !1432 Add multi-abc-file support in stub compiler and aot compiler and related adaptation.
Merge pull request !1432 from luochuhao/unifycomandbc
2022-05-29 15:40:52 +00:00
luochuhao 7522f51989 Add multi-abc-file support in stub compiler and aot compiler and related adaptation.
Use methodId of func in pandafile as index for each aot func in llvmModule.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I598P5
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I9646d6a80c8138744ebbd617837550b4661f27d3
2022-05-29 16:59:27 +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
wupengyong b05717f366 reason:fix aarch64 align
description:add regular data
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I596LD?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: Ifd866150c327522b712f10d66772ddfdf17fe19e
2022-05-27 10:28:37 +08:00
openharmony_ci f5596f01bd !1405 fix mem leak problem from jsmethod
Merge pull request !1405 from xiongluo/mem_leak_from_method
2022-05-25 07:20:21 +00:00
xiongluo 2c14680bc6 Fix the mem leak from js method
Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-05-25 10:53:36 +08:00
openharmony_ci afdf5d0c2a !1256 CpuProfiler support return profileinfo
Merge pull request !1256 from 苏重威/master
2022-05-25 01:04:57 +00:00
sunzhe23 b492ef605f Fix some asm interpreter bug
description:
1 add align up for rodata section, incase movdqa crash
2 set gc leaf function attribute for no gc all
3 fix mega ic run slowpath bug for asm interpreter
4 remove trampoline unused code

issue: #I58VFA

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-05-24 19:36:38 +08:00
scw 30b5aeb748 CpuProfiler support return profileinfo
Add start and stop API in cpuprofiler to return profileinfo

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

Signed-off-by: scw <suchongwei@huawei.com>
2022-05-24 19:20:26 +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
getingke ff439ffc66 Merge branch 'master' of gitee.com:openharmony/ark_js_runtime into gtk_0506
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Id33a4dc77017b43b332d46e33c042c5114aa602b
2022-05-18 16:02:06 +08:00
openharmony_ci 4179a76a2d !1330 Enable x86 Assembler
Merge pull request !1330 from wanyanglan/master
2022-05-18 03:12:23 +00:00
wanyanglan f0981feee7 Enable x86 Assembler
1. x86 assembler replaces JSCall, JSCallArgV, JSFunctionEntry,
OptimizedCallOptimized, CallNativeTrampoline assembly code of
x86 call.S debugged and enabled to the official code.
2. Delete the relevant code in call.S.

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

Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: I69b9aad1f52d486ba6d96248aa1a5a2d0a44f318
2022-05-18 09:42:00 +08:00
dingwen dfe294871d Fix run TSTypeTest fail on RK3568 and snapshot bug
Description:1.Add target in ohos_test.xml 2.Fix deserialize empty string
bug
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I57UBX
Signed-off-by: dingwen <dingwen6@huawei.com>

Change-Id: I00b980f53fdfa9ab9cf00b566aaa65dc3744f1b7
2022-05-17 19:24:15 +08:00
getingke 9caab36572 fixed for aarch64 assembler invoke jsfunction entry
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I844e55a895441fd188c2c2c357907afd0998779c
2022-05-17 10:23: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
luochuhao 1a370607c9 Delete duplicated co stub generation and related conditional code.
Adapt call.S to current EcmaRuntimeCallInfo change.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I56JF1
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I117c6b088a82b15c2afcb18b4a74f47bfd705545
2022-05-12 17:24:57 +08: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
dingwen 27452f0afe Move load AOT and Snapshot file after builtins initialized
Description:Load AOT and Snapshot file after builtins initialized
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I571GL

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: Icd509469da3b8bad955cbba40bd1b7fe0fcc0a4c
2022-05-12 10:23:24 +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 2ba392bb7f !1231 JSNativePointer Optimization
Merge pull request !1231 from yingguofeng/master
2022-05-10 07:55:25 +00:00
openharmony_ci 9075e30fa6 !1220 Link and update JSfunction and constpool info in aot execution phase.
Merge pull request !1220 from luochuhao/method
2022-05-09 08:16:50 +00:00
luochuhao 657e887afd Link and update JSfunction and constpool info in aot execution phase.
Remove unnecessary jsruntime option setting in CreateEcmaVMWithScope.

Tweak llvm lib path in ecmascript/compiler/tests/BUILD.gn.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I563DZ
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I740db8d7dd6d406adda05333edfff50bbc505cc6
2022-05-09 15:31:18 +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 200f7352aa !1210 fix microJobQueue executing bugs
Merge pull request !1210 from lukai/master
2022-05-09 01:33:56 +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
openharmony_ci 0c34e47066 !1178 Snapshot code optimization
Merge pull request !1178 from dingwen/master
2022-05-07 12:55:32 +00:00
yingguofeng@huawei.com b07c138cbd The overhead of de duplication operation is too high in function PushToNativePointerList
Make sure there is no repetition where the interface is called

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

Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: Ib9b248beffe62be5c7826782a0f3ab639f7c3d30
2022-05-07 17:21:10 +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 adecfbd30b Merge remote-tracking branch 'oh/master' 2022-05-06 21:25:57 +08:00
yingguofeng@huawei.com 09aaafead4 Setter/Getter Optimization
1、std::array copy construction has high performance overhead,
2、Class is transferred to dictionary after adding getter and setter, resulting in IC failure

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

500000 getter: 170ms > 105ms

Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
Change-Id: Ia08f22df798a3c3a2f6fafb6401c802e3af3c63b
2022-05-06 14:17:02 +08:00
xujie acfb4fba5b Fix Some Aot bugs About Env And GC
1.ify the way to get/set lexicalenv for Aot.
2.oved first interpreter entry frame

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

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I5fce320bba016d3f0ea71df4668b1e0121bd857f
2022-05-06 11:33:04 +08:00
lukai 9c3be0ea04 fix microJobQueue executing bugs
Calling interface "executePendingJob" nestedly may raise stack overflow

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: Icdd6f5a8338ff451a09ae5840773277c343cf53a
2022-05-06 10:01:58 +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 ff44193d07 !1171 Modify option source of stub compiler
Merge pull request !1171 from luochuhao/modifyoption
2022-04-30 00:57:37 +00:00
luochuhao 86fda0792b Modify option source of stub compiler.
Using options in js runtime option list and delete stub compiler option.

Add path check for stub compiler generation phase.

Load stub file before loading of aot file.

Add runtime option for optimization level configuration.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I557Q2
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ifbaa7a2dc4333310c62f1f8e230eefb7a2136ca5
2022-04-29 14:40:18 +08:00
openharmony_ci 913facca1b !1157 optimize asm interpreter performance
Merge pull request !1157 from zhangyukun8/optimize
2022-04-28 12:05:15 +00:00
zhangyukun 5632b517c9 optimize asm interpreter performance
Description:
1. add runtime stat scope to get the data of time-consuming-points
2. use stub to impl these runtime time-consuming-points
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I552ZB?from=project-issue

Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I242b3ef8b4235d952aa32fda0d3d5b8ed2f8f776
2022-04-28 18:43:32 +08:00
dingwen 6636896a3e Support constpool serialize, global const and global env object reuse, string deduplication
Description:1.Support constpool serialize 2.Global const and global env
object reuse 3.String deduplication
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I54NF5

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: Ia05fb055b8e846a5437ff49d97e0141f72ee112e
2022-04-27 21:16:00 +08:00