183 Commits

Author SHA1 Message Date
openharmony_ci 1491ead037 !1756 Rename Commonjs's Objects
Merge pull request !1756 from DaiHN/cjs_mod
2022-07-09 11:00:22 +00:00
xujie d8c9f28203 Fix TSAOT Test262 Bug
1. Fix globalthis bug by passing global parameter.
2. Fix jscallwitchargv bug by pushing env for calling JSCall.

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

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Ifb2a9d1f8a4460019a94a1ac34cca246b23ccd1b
2022-07-09 11:02:00 +08:00
DaiHN e5342c59e0 Rename Commonjs's Objects
-------------------------------
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5G29Y?from=project-issue
1. "JSCjsModule" -> "CjsModule"
   "JSCjsRequire" -> "CjsRequire"
   "JSCjsExports" -> "CjsExports"
2. builtin_cjs_exports.h -> builtins_cjs_exports.h
   builtin_cjs_exports.cpp -> builtins_cjs_exports.cpp
   builtin_cjs_require.h -> builtins_cjs_require.h
   ...

Signed-off-by: DaiHN <daihuina1@huawei.com>
Change-Id: I582467ef8421e03b7eb123d388d66287a79ce97b
2022-07-07 21:09:56 +08:00
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
g00416891 f11810349e New EcmaRuntimeCallInfo in stack pointer
Signed-off-by: g00416891 <guobingbing3@huawei.com>
Change-Id: I466a4107e6e073ffecea12e6986c112731d2d3bf
2022-07-05 14:54:43 +08:00
huoqingyi 5905b54c34 Fix bugs in ts aot
Description:
1.Fix the bug that Circuit IR args gates do not match the function args of the abc file.
2.Add class ArgumentAccessor to handle args gates of Circuit IR.
3.Modify to set the AOT function entry when constpool is being parsed.
4.For functions sharing the same instructions, add a map to collect duplicate infomation. The key of the map is the current method and the value is the first method with the same nstructions to be translated.

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

Change-Id: I08e48444eb22c4fc2841e1cdae44b90286de84ac
Signed-off-by: huoqingyi <huoqingyi@huawei.com>
2022-07-04 16:19:11 +08:00
xujie 690ca22d2a Support Lexenv In TSAOT
1. Support lexical env when running tsaot
2. fix getunmappedargs and copyrestargs bugs

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

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Ia78ea4d89654d6924c0dee6f491cdf1e4fe718ee
2022-06-30 14:01:26 +08:00
openharmony_ci 313fa69d6e !1674 stub.m binary file compiled into shared library
Merge pull request !1674 from wanghuan2022/master
2022-06-28 15:03:46 +00:00
wanghuan 733093439a stub.m binary file compiled into shared library
desc: stub.m binary file compiled into shared library

solu:
1. ark_stub_compiler executable not depend libark_jsruntime.so and libark_jsoptimizer.so, but depend libark_jsruntime_set and libark_jsoptimizer_set
2. python shell read stub.m binary data, and save to extern array of stub_m.cpp;
3. file_loader.cpp read stub data from array of stub_m.cpp.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5E4LW
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I9c95c882b59438370523179dd5949aeca51faa10
2022-06-28 17:25:33 +08:00
openharmony_ci 3c73881a1a !1662 add read-only space
Merge pull request !1662 from lukai/master
2022-06-28 07:00:24 +00: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
dingwen 2d9db6cbf7 Fix SnapshotTest on RK3568
Description:Snapshot Test UT running fail on RK3568
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5E9G4

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: Ia6004e8a0379339690b2e435dfa675664ed7650b
2022-06-27 14:20:29 +08:00
wanghuan 5324b4debb asm interp compatible with windows
desc: asm interp compatible with windows

solu: disable asm interp in windows by use macro

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5D6Q5
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I02956ff046ff16a05ff723ab2dc866eb4cb2d64e
2022-06-21 13:58:10 +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 348f28bb0a !1592 Snapshot support reusing global const and builtins object
Merge pull request !1592 from dingwen/master
2022-06-17 07:57:42 +00:00
dingwen f55d1a781f Snapshot support reusing global const and builtins object
Description:Before serializing, cache all global const and builtins objects in a map. When serialzing object taggged field, firstly searching the field object in the map, if exist, record the index. Then when deserializing, we can quickly find the object by index.
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I5CA56

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I935cc445d50a1e5854b88a7d01445aaa87da2cbc
2022-06-17 12:33:26 +08:00
songzhengchao 8975897bb1 Merge remote-tracking branch 'szc/FrameHandler2'
Change-Id: Icd0e4b9895cf1ecba52d1a6e39566fe0c93a3ae9
2022-06-16 16:52:49 +08:00
songzhengchao 621329220d Frame Handler refactor
Frame Handler directly operate frame(set
callsitesp/returnAddr/getPrevFrame,etc) which is hard to maintain.
Frames are operated by FrameIterator.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5CKVR?from=project-issue

Change-Id: Iba1c44c1ab1afec8b5bea0111f4e986b47cc8bc4
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-06-16 14:41:44 +08:00
yingguofeng@huawei.com 1dd62cf68f Description:Native Memory Leak or error
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5C883?from=project-issue
Change-Id: I3cdf41f9292fccb9a7e1164babc30cf77e6ac163
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-06-15 10:59:47 +08:00
songzhengchao 3b27785037 Code review
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5BSW4

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I7b822d9bf29d5978f3fdaab4f7aee103421319d4
2022-06-14 16:02:10 +08:00
songzhengchao 3b2885585d Refactor Frame and add Iterator
The background of the problems is as follows:
1 Current iterator current Frame, visit previous Frame stackmap, it's hard to understand.
2 refactor llvm_stackmap_parser
3 refactor frameHandler, we should provider iterator to visit frame.

The solution of the problems is as follows:
1 FrameHandler Ietrator only visit current Frame stackmap
2 In the future, multiple vm may be existed such as multiple worker.while llvm_stackmap_parser is singleton which is not good, each vm should have one stackmap.
3. refactor frame add FrameIterator to visit frame

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

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I65988624ef42a28788a5268d898e37ebf752c901
2022-06-14 10:15:33 +08:00
songzhengchao 867eb5f85b Merge branch 'master' of gitee.com:openharmony/ark_js_runtime
Change-Id: Icab22a5939f3a284f016e147614eb83784a0ec48
2022-06-13 19:12:43 +08:00
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
songzhengchao 045c51360a refactor llvm_stackmap_parser
In the future, multiple vm may be existed such as multiple worker.each
vm should have one stackmap, while llvm_stackmap_parser is singleton
which is not good.

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

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I7501c656f27a2fd34225928079f23a196e7f0bbf
2022-06-11 14:22:00 +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