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>
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
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
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
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
1 refactor prologue reserve dynamic slots which is setted by LLVM IR
2 callsiteSp is calculated by current function's callee saved registers size
3 and Add mulitple Optimized Frame:
OPTIMIZED_JS_FUNCTION_FRAME:argv[n-1],..., argv[0], argc, ...., returnaddr, Fp, type. this frame need to visit args and stackmap.
OPTIMIZED_ASM_FRAME: jscall/jsentry construct frame which is implemented by assemble, this frame is only link to previou frame, it don't need to visit args and stackmap
4 stackmap support parse const pool and llvm patch add deopt interface LLVMBuildCall3
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5AJ9U
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ie6a0067169805cc6043ea94936dd578489b56c7b