1. Add frameStateChain op for inline deopt.
2. Modify the deopt logic to support multiple interpreter frames.
3. Fixed some bugs that occurred when inline was enabled.
4. Support trace inline function tools.
5. Add some testcases.
6. Add some inline condition which some scenarios that might occur inline are filtered.
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6USYJ
Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I30127640fcd150c3c3badf2dd5c805a7b6733c42
1.Fix Deopt does not restore vregs correctly in a loop when the number of declare args is greater than the number of actual args.
2.Fix function TSManager::RecursiveGenTSHClass may be entered duplicatly for the same class type.
Add regression tests cases.
The bugs caused the AOT application to fail to startup.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6ROWO
Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Ic1fdb8896b85023ba2536c6893b166d3f96c59ed
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
Part2: AOT generates assembly code for object property access which based vtable.
Part3: Maintain or break TS SubTyping info during runtime.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6FWXJ
Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: I68dfce35f6f9f80b749ea7b88c72541e824774d7
1. fix try-catch for callspread of aot
2. add pcOffset for midir generated by type lowering
3. unify the pcoffset for deopt and stacktrace
4. add testcase for deopt exception and ts exception
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6KUFO?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I0e54ec6e893e67556a59a371aade142a61a6d33a
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
Current we relocate deopt handler by modify TEXT section which is not safe. MeanWhile LLVM IR don't generate got section for x86-64 and AARCH64.
We consider to implement __llvm_deoptimize in Aot module, __llvm_deoptimize funciton is to call runtime function
issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6FO36?from=project-issue
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I20fa67b520c54583100559efe3af959286b6256a