Commit Graph

22 Commits

Author SHA1 Message Date
wuzhefeng bf8671a948 Refactor Compilation Framework Part-3
There are many similar "call" in the CircuitBuilder and most of them can
be merged or removed. Merge the similar ones and remove the redundant
ones to improve the maintainability and readability.

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

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: Ie575580a5d4d3eae67eff49efd8df126d96db48f
2022-05-14 20:21:38 -07: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
wanghuan 18792a746a move interpreter helper stubs from common stub to bc stub
desc: move interpreter helper stubs from common stub to bc stub, beacuse these stubs' signatures are the same and need not construct frame pointer like bc stub.

solu:
1. delete old helper stub define in common stub, and add new helper stub define in bc stub.
2. add new targetKind in CallSignature to distinguish helper and normal stub in loading stub.
3. delete argc in stub define.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I556K1
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I46224e4568b45794aa1bac97682afc41696d5faa
2022-04-28 21:14:18 +08:00
luochuhao 90a5373327 First run of an TSAOT-define function Demo.
Record idx in const pool of aot function in llvmmodule and aotcodeinfo.

Tweak code in circuit builder for slowpath lowering scenario where
constpool is null.

New JSFunction object for main function in AOT file and new JSFunction object
for each defined function in lowerDefineFuncDyn.

Fix bug in call.S after JSMethod refactor.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I545X0
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ie6448f8740caddf79c3b9ed3385ba5739c7eb76b
2022-04-25 12:00:12 +08:00
openharmony_ci 91c467cb6b !984 Add X64 assembler
Merge pull request !984 from 孙哲/master
2022-04-14 05:54:27 +00:00
sunzhe23 44d2430c3c Add x64 assembler
1 Implements x64 assembler
2 Add Asm code generator framework
3 Generating AsmInterCallRuntime with the x64 assembler

issue: #I52Ak6

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-04-13 22:01:24 -07:00
zhaozhibo aaf776aab5 fix code warning for codeDex
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-04-12 14:27:50 +08:00
dingwen 1c70dfbc78 Add snapshot generation step for aot compiler and testing entry of aot compiled function.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4ZOXH
Signed-off-by: dingwen <dingwen6@huawei.com>

Change-Id: I2a52b06453f48407c418e57b3ce62e710042768b
2022-04-10 14:59:33 +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 8c6f8ef20d Implement aot file generated step for aot compiler
Implement llvmIRGeneration Pass in aot compiler pipeline.

Rename and reconstruct LLVMStubModule and LLVMModuleAssembler class. Move aot code infos
related to describe current (code size, begin addr, entry offset of each func etc.)  AOT
snippet and corresponding serialization/deserialization func to NEW class called AotCodeInfo.
Move functions related to file reading/writing to NEW class called AotFileManager.

Add new call opcode in circuit IR to differentiate call into common stubs and call into
runtime interfaces without GC.

Adapt js runtime option for above changes.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4ZDY5
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: If0ab5927ad2551fe5567d1c7b18540fbcc38bc15
2022-03-24 15:44:26 +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
wengchangcheng 9a2b7d04e8 optimize primitive type ACCESSORS
Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
2022-01-25 18:05:12 +08:00
songzhengchao 0c38b6b94d code review
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-30 22:18:09 +08:00
songzhengchao d8db2db62b Merge remote-tracking branch 'open/master' into bug_fix_2
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2021-10-25 09:35:16 +08:00
xiongluo 1ec42f43ac heapdump
Signed-off-by: xiongluo <xiongluo@huawei.com>
2021-10-21 01:40:14 -10:00
surpassgoodchao 0eaf069cf4 code review
Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-21 15:47:54 +08:00
surpassgoodchao 0228910be4 bug fix
machine code and runtime_trampolines

Signed-off-by: surpassgoodchao <surpassgoodchao@qq.com>
2021-10-21 14:13:03 +08:00
Han00000000 e8389db479 fix js opt bugs for ASAN
Signed-off-by: Han00000000 <jianghan2@huawei.com>
Change-Id: Ia058688171c00c190c74dbbc133a10ff4d5e5edc
2021-10-14 17:30:41 +08:00
Han00000000 064135d18a fix stub_aot_opt running errors and add arm/arm64 target for js
optimizer

Signed-off-by: Han00000000 <jianghan2@huawei.com>
Change-Id: Idb10d3dffbf79a7f615ccb3f8a468cd35caf73a0
2021-10-12 14:43:18 +08:00
Han00000000 6a4cf27ff7 fix linking of ark_aot_opt
Signed-off-by: Han00000000 <jianghan2@huawei.com>
Change-Id: I29d3a9dee2497c76dcbcc066a20c2f85b2247d1c
2021-10-09 15:09:43 +08:00
zhangyukun 7ffcc4b20f Sync js_runtime to openharmony
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
2021-09-08 09:20:53 +08:00