Commit Graph

45 Commits

Author SHA1 Message Date
lichenshuai fcda5bb413 Add AsmInterpreterFrame
Add AsmInterpreterFrame for ASM.

Issue: #I4YF9X

Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: I4efc781a9fca90de4a0aed5b6a91a8122cfa16ab
2022-03-30 10:51:05 +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
luochuhao c705ce054b Refactor ID definition and callSignature initialization mechanism of stubs
Refactor ID definition and callSignature initialization mechanism of runtime stub,
optimizer stub and bytecode handler stub,
reduce amount and complexity of macro used in calling those stubs.

Add stubDes struct to classify stubs both in AOT file generation phase
and AOT file loading phase.

Fix some circular dependency problems in including header files.

Fix certain inline function declaration and definition format problems, which could lead to
compiling errors.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4VMLD?from=project-issue
Test: stubTest(unit test), richards with asm interpreter enabled
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ibd5fcd963347b97f8dec227f3245d2064463b0b0
2022-03-18 22:01:52 +08:00
wupengyong 756a285093 reason:enable interpreterAsm Gc
Description:save leaveframe on thread leaveframe and save pc before callruntime

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

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I770f18facaeb7e62f5dc02f280828a8f6a420b6f
2022-03-11 12:46:57 +08:00
y00576111 a1796a573e EcmaScript Standard Module Implementation
Delete the existing module implementation and
re implement the module function according to the ECMA 2018 specification

issue: #I4NZQT [https://gitee.com/openharmony/ark_ts2abc/issues/I4NZQT]

Signed-off-by: y00576111 <yaojian16@huawei.com>
Change-Id: I8d381db7f8bf2f3d6b2a5c21cbc3cbab1aef0b9b
2022-03-10 19:10:42 +08:00
songzhengchao 9b6965c724 delete patchpointid replace with return address
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I1a92f226571273e9ecdd713a378ad977a2f4667f
2022-03-08 17:28:21 +08:00
getingke b1f48f1332 fixed for debug js_frame ok and revert test code
issue:[Add JSFunction EntryFrame & LeaveFrame for arm32](https://gitee.com/openharmony/ark_js_runtime/issues/I4WRJP?from=project-issue)

Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ia688bbec9825ec9ebe0e7dcd7da47af1317f1fb8
2022-03-08 11:11:46 +08:00
getingke 3d7db6a563 fixed for get stackmap with returnaddress
issue:[Add JSFunction EntryFrame & LeaveFrame for arm32](https://gitee.com/openharmony/ark_js_runtime/issues/I4WRJP?from=project-issue)

Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ie034eebf3e1f3c461dc35168756564aaa708602d
2022-03-08 11:09:05 +08:00
getingke ce112c3182 fixed for arm32 js frame
issue:[Add JSFunction EntryFrame & LeaveFrame for arm32](https://gitee.com/openharmony/ark_js_runtime/issues/I4WRJP?from=project-issue)
Signed-off-by: getingke <getingke@huawei.com>

Change-Id: If65fd5064fa3c626f8f0ae3bae550465414af5e7
2022-03-08 11:01:20 +08:00
ding c2ad32ebcc Stackless optimalize new operation, including BuiltinsConstructor new and the most common new with callType is HAVE_THIS
Signed-off-by: ding <dingding5@huawei.com>
2022-03-01 20:10:20 +08:00
songzhengchao 2f99abd413 CallRuntimeTrampoline brige support aarch64
Description:
a Use two Bridge function, "InvokeJSFunctionEntry" and "CallRuntimeTrampoline" to Adapter the calling convention of Aot JSFunction & Runtime Stub, then Construct the Entry Frame in "InvokeJSFunctionEntry", Leave Frame in "CallRuntimeTrampoline"
b modify LLVM Calling Conversion, prologue push callee-saved gpr registers --> callee-saved fp/simd/SVE regs --> prev_fp, prev_lr .finally update x29 pointer to prev_fp

issue:https://gitee.com/openharmony/ark_js_runtime/pulls/630

Change-Id: I1df498f411e03c9887c4cad97bf82371c0b5f01a
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-03-01 11:07:25 +08:00
zhangyukun ad7195057a Sync code from c_asm_interpreter to master
Use Stub to impl handlers of bytecodes and use tail call to impl
dispatch of handlers of bytecodes

Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I7afabdc40ddfa11345aa1029059514aa4f55b9f8
2022-02-22 17:01:18 +08:00
getingke a8d17968e1 fixed for compile error
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ia0a640d5dceb07faf18e8b383fde76fd272948f3
2022-02-21 17:13:33 +08:00
getingke 37a71fde93 fixed for rewrite patch id for runtime call
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ie4a76fb481a548d356450b79c55ed5d3c28b86b0
2022-02-21 15:32:29 +08:00
songzhengchao 4cb6be66ed fixed for arm64 test mod.abc slowpath ok
add set thread current sp when leave aot frame

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I18813879c9512a91f7f38ae07b211190d2e6daed
2022-02-18 17:58:06 +08:00
songzhengchao a34e803eba review modify
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: If645dd22a900cebb06c355d921389e90a2e516dc
2022-01-24 20:31:38 +08:00
songzhengchao 7c7ca08440 code review modify
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I1523067831240b65a442cf392327c5df4708a130
2022-01-24 15:36:24 +08:00
songzhengchao 23aba2a1bb frame refactor
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ic35799a8e6c61e51f72b0fa19d63ea1720033481
2022-01-22 16:46:01 +08:00
wuzhefeng 5720a01a3a Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: Ic990c5f11caeb3075033719a13e759baaf6dfefb
2022-01-13 00:26:00 -08:00
luochuhao a5fb8b1717 a)Using more accurate instruction matching logic in RewritePatchPointIdOfStatePoint,
b)make sure rewriteStatepoint pass run first
c)delete useless code.
d)gc related bug fix.

Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Iaf32c0cbe3c343aa1cbf499f3237844598076336
2022-01-07 13:15:21 +08:00
songzhengchao d5b0bbb5a0 code review: function rename and namespace
Change-Id: I40e81947ba3b51bb5e2dc1103a985889ca78dada
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-01-01 11:20:10 +08:00
songzhengchao 532ec5c128 codedex clean
Change-Id: I439a70ae2fa6fcf6bb57bf37763cf4068abadd9a
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-01-01 11:19:16 +08:00
songzhengchao e198f24ced 1 review code
2 visit gc ptr by patchpoint instead of pc
3 contruct frame for aot

Change-Id: I98d1f8e39803ef7e1ac6c2f88e08d3254c6ef6af
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2022-01-01 11:17:09 +08:00
getingke c108665b1c fixed for add CompilationConfig Class to support all arch
Change-Id: Ifd5cbb143350ecb9c496d8c7cbc3ee3745e74399
Signed-off-by: getingke <getingke@huawei.com>
2021-12-23 15:00:19 +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
songzhengchao baa25ddebe code review
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-30 17:09:06 +08:00
songzhengchao 8b166ee59f Merge remote-tracking branch 'open/master' into gc_x86_2
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-29 16:42:01 +08:00
getingke aef57e484b fixed for review by wuzhefeng
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I7ceab6e9cc8b42ba73255813419baa3619381676
2021-10-28 20:59:19 +08:00
getingke 92001a9e41 fixed for code static check
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ie7117dc84b7c837abaa547c87015634aafa4934f
2021-10-28 16:50:26 +08:00
getingke bc69122046 increase base class FrameHandler for iterator stack frame
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I5643f176c169a2d3a754b6ead66698a0a8e33351
2021-10-28 16:28:40 +08:00
songzhengchao c4c4d68a4f code review
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-28 15:06:25 +08:00
songzhengchao fb76b93355 frame.h refactor
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-28 12:14:07 +08:00
getingke 839ad28e6a fixed for code static check
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I82acce47c83c72a2a9b0c316c4e339d5127e02f7
2021-10-27 16:22:43 +08:00
getingke 27a544bf56 fixed for review comment by wuzhefeng
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ie4b779dd73db792c4d8315ad3a051fb9692d0623
2021-10-27 16:22:43 +08:00
getingke e28d93cacc fixed for optimized entry frame bug when CallInternal
Change-Id: Ib82492657e54d0fa42874b93e8535d423bb03eb8
Signed-off-by: getingke <getingke@huawei.com>
2021-10-27 16:09:49 +08:00
guobingbing 99e4839e8f solve the issue of 32bit-64bit not the same
Signed-off-by: guobingbing <guobingbing3@huawei.com>
Change-Id: Iee2cb3b39ad8d8a073dc2e617102d8833c91095c
2021-10-27 14:19:15 +08:00
songzhengchao 30b9c163a5 codedex bug fix
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-26 19:20:18 +08:00
surpassgoodchao 85698a20dc compiler fix
Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-12 15:41:13 +08:00
surpassgoodchao 507111a0e8 fastboot fix
Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-12 14:17:00 +08:00
surpassgoodchao d15fafc5ac fastboot review
Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-12 12:26:02 +08:00
surpassgoodchao 8724269cb9 StubCallRunTimeThreadFpLock --> StubCallRunTimeThreadFpScope
.cpp use PANDA_TARGET_AMD64 delete

Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-12 11:48:03 +08:00
surpassgoodchao 8b8825786f conflict
Signed-off-by: songzhengchao <surpassgoodchao@qq.com>
2021-10-10 10:43:27 +08:00
wengchangcheng 63197a17a6 fix stack backtracking and param name
Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
2021-09-14 14:54:48 +08:00
zhangyukun 7ffcc4b20f Sync js_runtime to openharmony
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
2021-09-08 09:20:53 +08:00
wanyanglan 86cfe52253 add ark js_runtime
Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: Iac7851492f10c0ef1303c621febb65e5fdd22e41
2021-09-05 16:05:06 +08:00