Commit Graph

8 Commits

Author SHA1 Message Date
huoqingyi 059d3e7ab6 Add Aot SlowpathLowering
Change-Id: Ie2399770c5e2d3b38b40a4b50d4ff57d23d6d1b4
Signed-off-by: huoqingyi <huoqingyi@huawei.com>
2022-04-12 21:38:05 +08:00
lijincheng b9486a89ca add slowpathlowering to 7 bytecodes
Signed-off-by: lijincheng <lijincheng13@huawei.com>
2022-03-28 15:29:41 +08:00
lijincheng a0c0ca7094 compile bugfix
add new file circuit_builder-inl for extracting methods from stub
fix code check
Signed-off-by: lijincheng <lijincheng13@huawei.com>

Signed-off-by: lijincheng <lijincheng13@huawei.com>
2022-03-09 10:57:44 +08:00
lijincheng 3fc477be6a add GateType (get or set) to gate_accessor
compile bugfix

Signed-off-by: lijincheng <lijincheng13@huawei.com>
2022-03-09 10:04:36 +08:00
Hailiang Hu e452f01e53 AOT lowering
Add lower hir to condition call, get iterator lower

Issue: I4WKOZ

Signed-off-by: Hailiang Hu <allenpas@huawei.com>
Change-Id: Ieb78a3ef0bebc35f7edd4224b55393c44bbbeee2
2022-03-08 18:49:48 +08:00
wanyanglan 37d1f2b515 Aot lowering
lowering  LDLEXENVDYN_PREF, LDA_STR_ID32, STGLOBALVAR_PREF_ID32 and
TRYLDGLOBALBYNAME_PREF_ID32

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I4UAZJ?from=project-issue

Signed-off-by: wanyanglan <wanyanglan1@huawei.com>
Change-Id: Icd7538c2187257099e846761426f07a1996f77c5
2022-03-03 19:57:10 +08:00
xujie 4a570a093c Refactoring of Slowpath Lowering
In order to make the framework code structure clearer and more readable,
it encapsulates multiple calling interfaces, uses clearer variable names,
and draws a comparison diagram before and after lowering, so that
developers can better understand the code.

issue: https://e.gitee.com/open_harmony/dashboard?issue=I4U02P

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Ied4933d8eac5e4b7b50c894ae496d7cf8d1ff1b0
2022-02-17 20:05:40 +08:00
xujie fb4de0245a Implement frame of generic lowering(HIR To MIR)
Replace all JS_BYTECODE in HIR. In order to simplify the code
implementation, no type judgment is made on the input, and the
slowpath is directly implemented by calling the trampoline function
without affecting the original function. For complex function
implementation, directly encapsulate the entire interpreted code as
a trampoline function.

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Icd24f7cebb496e4376170784ce1e2e2ef1a7ee71
2022-02-16 09:21:41 +08:00