1. Change the way to get constpool from the current jsFunc to the current frameargs.
2. Having the same constpoolId before and after inline will no longer generate a new getconstpool opcode.
3. Deleted some useless code
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I95U7D
Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I225cd89f736acaa4670eb3f216348c013d13a818
Description: Clear unlive frame values to avoid different value in
different dominator chain in async function
lowering. Now loopbegin has more than 2 inputs, async function should adapt it.
Signed-off-by: yycc <yuyicen1@huawei.com>
Change-Id: Id7a94a5d7748e91c48ca874a4da8c200f53c5c50
There will be following changes:
1. LoopHeader IR will have more than two input
2. Add DepenedRelay for DeoptCheck
3. Refactor dead region elimination for 'BytecodeCircuitBuilder'
4. Fix live range analysis bug for try catch
5. Refactor gate generating for 'phi' 'merge' 'loopexit' and genenator gates
6. Refactor frameState generating, all merge(LoopExit) and side-effect gate will have frameState
7. Refactor loopAnalysis for 'BytecodeCircuitBuilder'
8. Add GetLoopInfo for GraphLinearizer's 'GateRegion'
9. Fix a LoopAnalysis bug
10. Fix a TypeInfer bug for infer namespace object
11. Remove dead StateSplit in state split linearizer pass
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I88W5H
Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
1.Inline getnextpropname HIR of for-in
2.profile iterator type of for-of
3.Inline getiterator and next(call) of for-of
4.Update detector when set prototype
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I89SMQ?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib18d8b9529c41ec435d5d2d97839d82c389267b6
1.Add frame args chain on bytecodes which can throw
2.Record inline method offsets in frame args
3.Push method offsets of inlined methods into stackmaps when callout aot
4.Collect inline method offsets and output them
5.Fix literal offsets error before try-catch
6.Add testcases
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7Z24N?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I7f4927a2dfc6a71e44b59cb392acb9b2d3f408e2
Details: 1. Add Redundant Phi Elimination Pass.
2. Use caller's type rather than callee's arg type when infer callee type.
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7WQZE
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>
Change-Id: Id9c799270ea5cf9b6875ed917c7069bac9ba3b37
1. Collect method id of calltarget when call js function
2. Load gt by method id from pgo
3. Set call insts' calltarget type
4. Fix process method bug
5. Support pgo-aot testcases
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7NMOO?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib7e92ab1b529195367af16f923c2e620f40f8a36
1.Fix FrameState ComputeLiveOut when mov alive null gate, should find define.
2.Fix error READ_ACC flag between RETURN and RETURNUNDEFINED
3.Add regression test case
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6YVCM
Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: I2e3aa8b293abb63ed8f1f2cd42244d95a0c2081b
If the loop head is the first bb block, the variables used in the head cannot correctly generate Phi node
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6Y4JU
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I57927992e19ef9c53c598197609a17ba69b6f3ff
When there is only one predecessor (input) of the BB, the value_selector gate is no longer generated.
However, the logic of frame_state.cpp was not modified, resulting in compilation failure
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6X14O
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: Icbcec395e66b68ab372894032f9dae709a0b864b
1、PGO Support type profiler for asm interpreter
2、Optimization function call profiler
3、ap version promote to 0.0.0.2
4、Adaptor number speculative phase supporting pgo type
link #I6JPH4
Change-Id: I18043c4f99af93e5ba6eb2e895039fe0edfe5b4e
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
1. Modify JSBytecode and FramState opcode which have framestate in.
2. Changes the way common args are fetched during lowering.
3. Common args are no longer fetched from the stack during deopt.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6L28B
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I1e26ad526209f27edc42aa2a5f364b1566ed4d26
1. Remove env slot from optimizedJSfunctionframe.
2. Use env vreg to pass in circuit ir graph.
3. Remove some discarded interface and fast some bc lowering associated with env.
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6GY5M
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I34d65b59e103e9c8d3b203dbf82b8f2bea7e9feb
1. add pcOffset into stackmap before call In AOT
2. parse stackmap to find pcOffset before any OptimziedJSFunctionFrame
3. remove use code of stubs in AOT
4. add testcase for js stacktrace of AOT
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6GXRR?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib21646b7319628fb425ac8ce489dc2370a347b81
1.Refine some number Type to Int
2.Bugfix for stlexvar when using var instead of let
3.Change .length of array/typedarray to int
4.Adjust strategy for loop phi infer and add another round of infer
5.Refine div/add to double
6.Bugfix for EmptyType GetException in catch phi with a gc-related type
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6B9OH
Signed-off-by: lijincheng <lijincheng13@huawei.com>