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
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
Rsp is used in future work, therefore .S file should be deleted.
Issue: #I5AGW3
Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: Ib1fb140d40d259bc4519fbf547857e5f80e9ee0c
description:
1 Refactor Call Dispatcher, and Regactor common call
2 use circuit IR implments getter/setter
issue: I59POB
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
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>
Add new stackless stub to syncronize asm interpreter with C interpreter.
Issue: #I54DXV
Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: Ie6bef96e4ecd692d5a32a13eaa719859424c4b24
description:
Add SaveCurrentFrame for interpreter handler call stub and
get get callsite sp when gc run
issue: I54IMV
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
when function need call another js function, it will lowering to call "JSCall" trampoline function
JSCall trampoline function will check calltarget function, then correct the arguments, finally jump
the native or optimized code address of the target function.
JSCall(glue, argc, calltarget, ....)
then proxy call(glue, argc, callTarget, argv[])
if proxy->GetHandler is function
tail call JSCall(glue, argc, callTarget, argv); // consider performance
else
//Call(trap, handler, «target, thisArgument, argArray»)
call CreateArrayFromList(glue, argc, argv[]) ---> arrHandle // maybe trigger GC, construct OptimizedWithArgvLeaveFrame, visitor argv[0]..argv[argc-1]
call JSCall(glue, argc, method, argv[])
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I52T6B?from=project-issue
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I994aae1eb9cbf51982348ae6e203c24c326f617e
Change several structures for call stub.
Related issue: #I4XK12
Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: Ie7389ff96c619451304a3f0d352b271310c4b73e
Description:
FastMul convert Int into Double, and lead to the result
call the double constructor of JSTaggedValue
Solution:
add Int Case for FastMul
Issue: #I4XK3U
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
1 writebarrier marking fast path
2 The design of Frame is unfriendly for low-level operations like ASM-interpreter and Compiler IR.
1 writebarrier marking flag is get by jsthread.threadStateBitField_
2 Refactor the Frame design by introducing Aligned struct
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4XJ4M?from=project-issue
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I8fae1af0ce3c898909f088f8963f08c2f48dba8e
This PR refactors the design of JSThread by introducing aligned struct,
which is more friendly for ASM-Interpreter and Compiler IRs. Meanwhile,
to facilitate debugging, a macro enable_bytrace is introduced to control
the lib dependencies of ark-js-runtime.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4X0TG
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I56835deec5d372d7c827ded26544a87766f29002