1.Add typelowering framework.
2.Add newobjdynrange in typelowering which brings static TS type
info to runtime phase.
3.Serialize and deserialize hclass table with snapshot, fix minor bugs
in snapshot by the way.
4.Add IsFormTSTypeBit in HClass to distinguish hclasses which come from
compile phase.
5.Fix compatibility issues in property operations api and some builints
api.
6.Add 3 compatibility issues test cases.
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5E2N9
Signed-off-by: ding <dingding5@huawei.com>
Change-Id: I98626e6eea01f4455ec818ba0ad872b3be98b729
1 refactor prologue reserve dynamic slots which is setted by LLVM IR
2 callsiteSp is calculated by current function's callee saved registers size
3 and Add mulitple Optimized Frame:
OPTIMIZED_JS_FUNCTION_FRAME:argv[n-1],..., argv[0], argc, ...., returnaddr, Fp, type. this frame need to visit args and stackmap.
OPTIMIZED_ASM_FRAME: jscall/jsentry construct frame which is implemented by assemble, this frame is only link to previou frame, it don't need to visit args and stackmap
4 stackmap support parse const pool and llvm patch add deopt interface LLVMBuildCall3
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5AJ9U
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ie6a0067169805cc6043ea94936dd578489b56c7b