To faciliate aot debuggging, we need to provide the ability of code
commenting, so we will add api of adding debug-information to our gate
compilation framework and pass the information to LLVM-IR. At last, the
generated machine code can be associated with specific code comments.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6VRHQ
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I6a1eef5588231f3aa31cc6b2efea9667d0eda929
To make the architecture more clear, any operations of Gates should be
performed via GateAccessor rather than inovking the low-level interfaces
of class Circuit. Therefore, most of these low level interfaces will be
decorated with private, which are only allowed to access by the closed
friend classes Verify and GateAccessor.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5HYU4
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: Ied02743ee88b71d287bcfd1013487781e7adba6e
1. lookup traces when a frame has not been constructed totally
2. update rbp before exit current frame
3. update leaveFrame_ before callngcruntime
4. fix bigint
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5ELOP?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I85bedde971436df9775d49fefd84b7375a65f564
modify newobjDynrange to remove the flag "IsBuiltinsConstructor"
Signed-off-by: lifansheng <lifansheng1@huawei.com>
Change-Id: Ic94b8ba77a0ebaf121f2942238435a9da5917287
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.Change the implementation of gateType from enum to class.
2.Add some base type opeartions between GateType and GlobalTSTypeRef to simplify the code.
3.Delete class GateTypeCoder
4.Extract GlobalTSTypeRef as an independent file.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5A893
Signed-off-by: ding <dingding5@huawei.com>
Change-Id: I3d80595ebccc9ac942af9b9bcc67c0974bb9b712
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
To ensure the high performance of container classes, vector is
provided in ark.
Related issue
#I4XCD9:add container vector
Signed-off-by: shisan_forwork <chengjunxiong@huawei.com>
1. skip builtin frame and asm interpreter entry frame when upframe
2. skip push args when argc is 0
3. check thread exception, rather not ret value
4. deal with fp when entry Execute
5. deal with call class Constructor
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I58I4H?from=project-issue
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I874f1437d5d21a8cf50a8d9ca73d7a92007f1bab
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
Add new stackless stub to syncronize asm interpreter with C interpreter.
Issue: #I54DXV
Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: Ie6bef96e4ecd692d5a32a13eaa719859424c4b24
Because the Stubs and CircuitBuilder share many common components like
Labels, Environment, and Variables, this PR remove the ones inside Stub
and replace them with CiircuitBuilder's.
Issue:https://e.gitee.com/open_harmony/dashboard?issue=I55P3C
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I5bc3672a371f7f2e749741e699b80fd466905dc8
Description:
1. add runtime stat scope to get the data of time-consuming-points
2. use stub to impl these runtime time-consuming-points
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I552ZB?from=project-issue
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I242b3ef8b4235d952aa32fda0d3d5b8ed2f8f776
the logical shift does't care signed/unsigned.sometime using UINTxx/Intxx, which is very confusing.
logical operation don't distinguish with int/uint and remove Archxx function
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I53R9E?from=project-issue
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Idaf71b46227917d2cb08c35118e71c2a66b79fd3
1 Set FindElementWithCache and Float as no GC runtime
2 Add SavePC for RuntimeCall if needed
issue: #I53PT7
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
1. Remove low level CircuitBuilder, make flat of this interface.
2. Move some interface of LabelManager to CircuitBuilder, and rename to Environment.
3. Refactor some interface of MergeMirCircuit, LowerHirToCall,
LowerHirToConditionCall and so on.
Issue: #I52VPJ
Signed-off-by: Hailiang Hu <allenpas@huawei.com>
Change-Id: Ib8f20e7137c8006a0735cefea9fe243513744652
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
desc: fix setpropertyby*** stub error
solu:
1.add useown stub and not useown stub in common stub
2.Unit useown stub and not useown by using bool value in stub
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I51LRS
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I7a0f68d065cb5b27f60db91af8a87216c47a1f6f
1. use stub to dispatch fast,slow and native paths
2. use rsp to construct frame of x64
https://gitee.com/openharmony/ark_js_runtime/issues/I51G9L?from=project-issue
Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: Ib80540df5dbe531f155e5dd9fce556a207171494
Change-Id: I31e6705dd5555a0c2a9070a7ce73b26f77caef80
des: fix FastTypeOf error in bigint
solution:
1. add big int type judgment.
2. change variable name to be reasonable.
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I51A5R
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I7f3284ea6d98b006c2df80585f7c946a0a4c1790
Because there are some redundant/unused/improper functions, this PR
remove them and improve the readability.
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I50LRT
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: Ifa08f33a2819f3113234fdbf3ee2bb0e976d4071
description: fix getresumemode stub handle error
solution:
1.load offset error, should be GetIntptr;
2.get value from bitfield error because of lack of lsr;
3.set acc value error, should be build tagged.
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4ZOD5
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I96a35d134d5441f040cbf42d4e8ab2be208f166f