1.Support new Builtins Constructor in Builtins Stub framework.
2.Support invoking Builtins Stub both ASM interpreter and AOT.
3.Add BooleanCosntructor implementation in Builtins Stub.
4.Add new log component: builtins
5.Add corresponding test case which can trace builtins execution path.
6.Add iterate stack map handler when entering by assembler.
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I631G9
Signed-off-by: ding <dingding5@huawei.com>
Change-Id: Ie3a485a0383464ecc0b42be0a21baf50bb35bc21
1 On current AOT Builtin Math is called by c++ runtime trampoline, which is not an efficient solution.
thus we call target math function directly.
2 CallNGCRuntime save bc offset When Aot call cc fucntion
issue:https://gitee.com/open_harmony/dashboard?issue_id=I5Z281
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I3768bfaf46b15749e37e1eb290e8fb1a3d75ea88
1.Add New and SuperCall in TSTypeLowering
2.Add CallConstructor and Allocate in TypeLowering
3.Fix GenerateStaticHClass bug
4.Add corresponding type test case
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5Z2XS
Signed-off-by: ding <dingding5@huawei.com>
Change-Id: I64f273f7f3b7f26ec9b8506a433b156465487cd2
In the Deoptimize Scenario, LLVM backend will lower llvm llvm.experimental.deoptimize IR to assembly __llvm_deoptimize.
runtime to implement __llvm_deoptimize.
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5VX5M
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I516a99b9d4bf1ccb36d00736a694844663db5760
The log during aot compilation is chaos and should be refactored,
besides, the information of call targets inside *.ll files should be add
to facilliate debug process.
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5TWN9
Change-Id: I828016e73fa20c33dc2f783d6ba577dc2ef52d5e
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I053ea8d92f8821d8d6d2ee767c5ca60b1802fcf1
details: add three kinds of circuit gate
TYPED_BINARY_OP: represent binary operator of two value of specific type which encoded in bitfield, with a constant valueIn which indicates the opcode of binary operator.
TYPED_CHECK: check whether a gate is the specific type which encoded in bitfield.
TYPED_CONVERT: convert GateType of a gate from one specific type to another, which encoded in bitfield.
issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5PAKT
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>
Change-Id: I6706698181e61f89f31d462e8768b8bd5234df2b
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/I5HNQ4
Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I184b5473ae179aedce83de59cd8f5a662b719d43
Context is not saved when processing SUSPENDGENERATOR and RESUMEGENERASTOR
instructions, and contextual execution cannot be restored.
1、Add SAVE_REGISTER HIR for saving context
2、RESTORE_REGISTER HIR for restoring context
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5B2QO
Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: I16b73390c6f7ae7c295f0aa1a9c9df538c2a4fec
details:
1. use hilog in ohos device
2. use panda logger in host
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5FR5J
Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I6f5de00751154bdb6aac3101515961a3a4432e80
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>
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
desc: add asmInter debugger to support ide debug.
solu:
1.add bc debugger stub entry;
2.check is or not debug mode in runInternal and switch release to debug or debug to release.
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I53Z4V
Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I3f61bed8b4e17c43d22b5e6f103fe897cd8b41c1
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