diff --git a/BUILD.gn b/BUILD.gn index e71b7fb0b0ee112af72ec81d1769d89eb208b615..471e3efce20bee4898d6f472ffb5e72899a2e1bd 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -51,8 +51,8 @@ group("assembler_deps") { ark_gen_file("ark_asm_ecmascript_meta_gen_h") { template_file = "$ark_root/assembler/templates/meta_gen.cpp.erb" - data_file = "$ark_root/plugins/ecmascript/assembler/extension/metadata.yaml" - requires = [ "$ark_root/assembler/asm_metadata.rb" ] + data = [ "$ark_root/plugins/ecmascript/assembler/extension/metadata.yaml" ] + api = [ "$ark_root/assembler/asm_metadata.rb" ] output_file = "$target_gen_dir/ecmascript_meta_gen.h" } @@ -96,8 +96,8 @@ action("ecmastdlib_inline_h") { ark_gen_file("ecma_intrinsics_gen_arkruntime") { template_file = "$ark_root/plugins/ecmascript/runtime/templates/intrinsics_gen.cpp.erb" - data_file = "$ark_root/plugins/ecmascript/runtime/ecma_runtime.yaml" - requires = [ + data = [ "$ark_root/plugins/ecmascript/runtime/ecma_runtime.yaml" ] + api = [ "$ark_root/runtime/templates/intrinsics.rb", "$ark_root/runtime/templates/runtime.rb", "$ark_root/libpandabase/utils.rb", @@ -133,7 +133,9 @@ ark_isa_gen("isa_gen_ecma_compiler") { } ark_gen("ecma_builtins_gen") { - data = "$ark_root/plugins/ecmascript/runtime/builtins/templates/builtins.yaml" + data = [ + "$ark_root/plugins/ecmascript/runtime/builtins/templates/builtins.yaml", + ] template_files = [ "builtins_declaration_gen.h.erb", "builtins_ids_gen.inl.erb", @@ -144,7 +146,7 @@ ark_gen("ecma_builtins_gen") { ] sources = "$ark_root/plugins/ecmascript/runtime/builtins/templates" destination = "$target_gen_dir/runtime/builtins/generated" - requires = [ + api = [ "$ark_root/templates/common.rb", "$ark_root/compiler/optimizer/templates/instructions.rb", "$ark_root/runtime/templates/intrinsics.rb", diff --git a/assembler/CMakeLists.txt b/assembler/CMakeLists.txt index 0474750b2c2c68d0e7d7c66ef83d189bcc3601fb..d3ee5a624cb8f80b1658c3040a968ae5fed70612 100644 --- a/assembler/CMakeLists.txt +++ b/assembler/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -18,10 +18,10 @@ panda_target_include_directories(arkassembler_obj PUBLIC ${EXTENSION_DIR}) set(ECMASCRIPT_META_GEN_H ${PANDA_BINARY_ROOT}/assembler/ecmascript_meta_gen.h) panda_gen_file( - DATAFILE ${PANDA_ECMASCRIPT_PLUGIN_SOURCE}/assembler/extension/metadata.yaml + DATA ${PANDA_ECMASCRIPT_PLUGIN_SOURCE}/assembler/extension/metadata.yaml TEMPLATE ${PANDA_ROOT}/assembler/templates/meta_gen.cpp.erb OUTPUTFILE ${ECMASCRIPT_META_GEN_H} - REQUIRES ${PANDA_ROOT}/assembler/asm_metadata.rb + API ${PANDA_ROOT}/assembler/asm_metadata.rb ) add_custom_target(ecmascript_meta_gen_h DEPENDS ${ECMASCRIPT_META_GEN_H}) add_dependencies(arkassembler_obj ecmascript_meta_gen_h) diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt index 9aa50a4f3042e9f4531de3ef8b3c2476ac86c56f..f1d1831205582145a87063415812f8765603c3be 100644 --- a/compiler/CMakeLists.txt +++ b/compiler/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -22,7 +22,7 @@ panda_isa_gen( TEMPLATES "ecmascript_inst_builder_gen.cpp.erb" SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/templates - REQUIRES ${PANDA_ROOT}/assembler/asm_isapi.rb + API ${PANDA_ROOT}/assembler/asm_isapi.rb DESTINATION ${GENERATED_DIR} ) diff --git a/compiler/inline_intrinsics_ecmascript.cpp b/compiler/inline_intrinsics_ecmascript.cpp index 277490216b44afc4fb6911e628094cd25c02819c..9b4380c19806b314cd5104430a05f682fcff7269 100644 --- a/compiler/inline_intrinsics_ecmascript.cpp +++ b/compiler/inline_intrinsics_ecmascript.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Copyright (c) 2021-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -776,7 +776,6 @@ bool InlineIntrinsics::InlineLdLexDyn(IntrinsicInst *intrinsic) ASSERT(intrinsic->GetInputsCount() == 3U); auto *loadLexVar = intrinsic; loadLexVar->SetIntrinsicId(RuntimeInterface::IntrinsicId::INTRINSIC_LD_LEX_VAR_DYN); - AdjustFlags(RuntimeInterface::IntrinsicId::INTRINSIC_LD_LEX_VAR_DYN, loadLexVar); ASSERT(loadLexVar->GetInput(2U).GetInst()->GetOpcode() == Opcode::SaveState); loadLexVar->RemoveInput(2U); loadLexVar->RemoveInput(0U); diff --git a/compiler/optimizer/ir_builder/ecmascript_inst_builder.cpp b/compiler/optimizer/ir_builder/ecmascript_inst_builder.cpp index b3f34131577c82ffef62cfd53abaca9d45b86955..7f71ee376747ee7edb09900b9ac572a490b7c5b8 100644 --- a/compiler/optimizer/ir_builder/ecmascript_inst_builder.cpp +++ b/compiler/optimizer/ir_builder/ecmascript_inst_builder.cpp @@ -137,7 +137,6 @@ void InstBuilder::BuildEcmaNewobjdynrange(const BytecodeInstruction *bcInst) auto inst = graph->CreateInstIntrinsic(DataType::ANY, bcPc, RuntimeInterface::IntrinsicId::INTRINSIC_NEWOBJ_DYNRANGE_HANDLED); - AdjustFlags(inst->GetIntrinsicId(), inst); auto saveState = CreateSaveState(Opcode::SaveState, bcPc); AddInstruction(saveState); @@ -195,7 +194,6 @@ void InstBuilder::BuildEcmaGetunmappedargs(const BytecodeInstruction *bcInst) auto bcPc = GetPc(bcInst->GetAddress()); auto inst = graph->CreateInstIntrinsic(DataType::ANY, bcPc, RuntimeInterface::IntrinsicId::INTRINSIC_GET_UNMAPPED_ARGS); - AdjustFlags(inst->GetIntrinsicId(), inst); auto saveState = CreateSaveState(Opcode::SaveState, bcPc); AddInstruction(saveState); diff --git a/ecmastdlib/ecmastdlib.pa b/ecmastdlib/ecmastdlib.pa index 64494c00d23e5407d6adfc8c003e82437644e057..eaeb49a4ebddafb6806a5d74577e912a15091bd1 100644 --- a/ecmastdlib/ecmastdlib.pa +++ b/ecmastdlib/ecmastdlib.pa @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -42,9 +42,7 @@ .function any Ecmascript.Intrinsics.greaterDyn(any a0, any a1) .function any Ecmascript.Intrinsics.greatereqDyn(any a0, any a1) .function any Ecmascript.Intrinsics.ldObjByValue(any a0, any a1, u16 a2, any a3) -.function any Ecmascript.Intrinsics.tryLdGlobalByValue(u16 a0, any a1) .function any Ecmascript.Intrinsics.stObjByValue(any a0, any a1, any a2, u16 a3, any a4) -.function void Ecmascript.Intrinsics.tryStGlobalByValue(u16 a0, any a1, any a2) .function any Ecmascript.Intrinsics.shl2Dyn(any a0, any a1) .function any Ecmascript.Intrinsics.shr2Dyn(any a0, any a1) .function any Ecmascript.Intrinsics.ashr2Dyn(any a0, any a1) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 0204c110cc88c144d08a3c465b7196424d65f9b2..e9f0eb1c91b3bcb50231829f24a064d68b065f62 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -235,13 +235,15 @@ set(RUNTIME_TEMPLATES ) panda_gen( - DATA ${ECMA_SRC_DIR}/ecma_runtime.yaml + DATA + ${ECMA_SRC_DIR}/ecma_runtime.yaml + ${ECMA_SRC_DIR}/ecma_runtime.yaml TARGET_NAME ecma_intrinsics_gen_arkruntime TEMPLATES ${RUNTIME_TEMPLATES} - REQUIRES + API ${CMAKE_SOURCE_DIR}/runtime/templates/intrinsics.rb ${CMAKE_SOURCE_DIR}/runtime/templates/runtime.rb - ${PANDA_ROOT}/libpandabase/utils.rb + REQUIRES ${PANDA_ROOT}/libpandabase/utils.rb SOURCE ${ECMA_SRC_DIR}/templates DESTINATION ${ECMA_GEN_DIR} ) diff --git a/runtime/builtins/CMakeLists.txt b/runtime/builtins/CMakeLists.txt index a58b718a5fc4e4051487dea4cc0509c441427e46..6598edec0bf0be58ede88866c3f15eee927314b2 100644 --- a/runtime/builtins/CMakeLists.txt +++ b/runtime/builtins/CMakeLists.txt @@ -12,18 +12,21 @@ set(INSTRUCTIONS_YAML_PATH ${PANDA_ROOT}/compiler/optimizer/ir/instructions.yaml file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated) panda_gen( - DATA ${CMAKE_CURRENT_SOURCE_DIR}/templates/builtins.yaml + DATA + ${INSTRUCTIONS_YAML_PATH} + ${INTRINSICS_YAML_PATH} + ${CMAKE_CURRENT_SOURCE_DIR}/templates/builtins.yaml + API + ${PANDA_ROOT}/compiler/optimizer/templates/instructions.rb + ${PANDA_ROOT}/runtime/templates/intrinsics.rb + ${CMAKE_CURRENT_SOURCE_DIR}/templates/builtins.rb TARGET_NAME ecma_builtins_gen TEMPLATES ${BUILTIN_TEMPLATES} REQUIRES ${PANDA_ROOT}/templates/common.rb - ${PANDA_ROOT}/compiler/optimizer/templates/instructions.rb - ${PANDA_ROOT}/runtime/templates/intrinsics.rb - ${CMAKE_CURRENT_SOURCE_DIR}/templates/builtins.rb ${PANDA_ROOT}/libpandabase/utils.rb SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/templates DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/generated - EXTRA_ARGV ${INTRINSICS_YAML_PATH} ${INSTRUCTIONS_YAML_PATH} EXTRA_DEPENDENCIES arkruntime_gen_intrinsics_yaml ) diff --git a/runtime/builtins/templates/builtins.rb b/runtime/builtins/templates/builtins.rb index 5a6569a953d48c37f27e3a65de7aa61c962ce5d8..c32420cd49afe701843d9f479c0fedae5112adfd 100644 --- a/runtime/builtins/templates/builtins.rb +++ b/runtime/builtins/templates/builtins.rb @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 Huawei Device Co., Ltd. +# Copyright (c) 2021-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -661,14 +661,14 @@ end class Builtins def self.wrap_data(data) - # Preload intrinsics as they may be used in `methods` construction: - data_intrinsics = YAML.load_file(ARGV[0]) - data_intrinsics = JSON.parse(data_intrinsics.to_json, object_class: OpenStruct).freeze - Runtime.wrap_data(data_intrinsics) - # Preload intrinsics as they may be used in `methods` construction: - data_instructions = YAML.load_file(ARGV[1]) - data_instructions = JSON.parse(data_instructions.to_json, object_class: OpenStruct).freeze - IR.wrap_data(data_instructions) + ## Preload intrinsics as they may be used in `methods` construction: + #data_intrinsics = YAML.load_file(ARGV[0]) + #data_intrinsics = JSON.parse(data_intrinsics.to_json, object_class: OpenStruct).freeze + #Runtime.wrap_data(data_intrinsics) + ## Preload intrinsics as they may be used in `methods` construction: + #data_instructions = YAML.load_file(ARGV[1]) + #data_instructions = JSON.parse(data_instructions.to_json, object_class: OpenStruct).freeze + #IR.wrap_data(data_instructions) @builtins = [] data.builtins.each do |space| diff --git a/runtime/ecma_runtime.yaml b/runtime/ecma_runtime.yaml index 766a31d0b61f3875b0dff2d8ebbe3201d2aba145..27174f28667b36f1a0210e906ba500511a94c93c 100644 --- a/runtime/ecma_runtime.yaml +++ b/runtime/ecma_runtime.yaml @@ -23,7 +23,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldnan - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdNan @@ -36,7 +36,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldinfinity - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdInfinity @@ -49,7 +49,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldglobalthis - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: Ldundefined space: ecmascript @@ -60,7 +60,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldundefined - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdUndefined @@ -103,6 +103,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::Ldbigint + clear_flags: [call, acc_write, acc_read] - name: Ldnull space: ecmascript @@ -113,7 +114,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldnull - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdNull @@ -126,7 +127,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldsymbol - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: Ldobject space: ecmascript @@ -157,7 +158,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldglobal - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: Ldtrue space: ecmascript @@ -168,7 +169,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldtrue - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdTrue @@ -181,7 +182,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::Ldfalse - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: InlineLdFalse @@ -195,6 +196,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Add2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaAdd inline_func: IrtocInlineAddDyn inline_need_types: true @@ -209,6 +211,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Sub2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaSub inline_func: IrtocInlineSubDyn inline_need_types: true @@ -223,6 +226,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Mul2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaMul inline_func: IrtocInlineMulDyn inline_need_types: true @@ -237,6 +241,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Div2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaDiv inline_func: IrtocInlineDivDyn inline_need_types: true @@ -251,6 +256,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Mod2Dyn + clear_flags: [call, acc_write, acc_read] inline_func: IrtocInlineModDyn inline_need_types: true @@ -264,6 +270,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::EqDyn + clear_flags: [call, acc_write, acc_read] inline_func: InlineEqDyn inline_need_types: true @@ -277,6 +284,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::NotEqDyn + clear_flags: [call, acc_write, acc_read] inline_func: InlineNotEqDyn inline_need_types: true @@ -290,6 +298,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::LessDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaLt inline_func: IrtocInlineCompareLtDyn inline_need_types: true @@ -304,6 +313,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::LessEqDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaLe inline_func: IrtocInlineCompareLeDyn inline_need_types: true @@ -318,6 +328,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::GreaterDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaGt inline_func: IrtocInlineCompareGtDyn inline_need_types: true @@ -332,6 +343,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::GreaterEqDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaGe inline_func: IrtocInlineCompareGeDyn inline_need_types: true @@ -347,19 +359,9 @@ intrinsics: args: [any, acc, u16, any] impl: ark::ecmascript::intrinsics::LdObjByValue fast_path: FastPathLdObjByValue + clear_flags: [call, acc_write, acc_read] inline_func: InlineLdObjByValue -- name: TryLdGlobalByValue - space: ecmascript - class_name: Ecmascript.Intrinsics - method_name: tryLdGlobalByValue - static: true - exception: true - signature: - ret: any - args: [u16, any] - impl: ark::ecmascript::intrinsics::TryLdGlobalByValue - - name: StObjByValue space: ecmascript class_name: Ecmascript.Intrinsics @@ -371,6 +373,7 @@ intrinsics: args: [any, any, acc, u16, any] impl: ark::ecmascript::intrinsics::StObjByValue fast_path: FastPathStObjByValue + clear_flags: [call, acc_write, acc_read] inline_func: InlineStObjByValue - name: Shl2Dyn @@ -383,6 +386,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Shl2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaShl inline_func: IrtocInlineShlDyn inline_need_types: true @@ -397,6 +401,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Shr2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaShr inline_func: IrtocInlineShrDyn inline_need_types: true @@ -411,6 +416,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Ashr2Dyn + clear_flags: [call, acc_write, acc_read] - name: And2Dyn space: ecmascript @@ -422,6 +428,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::And2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaAnd inline_func: IrtocInlineAndDyn inline_need_types: true @@ -436,6 +443,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Or2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaOr inline_func: IrtocInlineOrDyn inline_need_types: true @@ -450,6 +458,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Xor2Dyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaXor inline_func: IrtocInlineXorDyn inline_need_types: true @@ -464,6 +473,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::Tonumber + clear_flags: [call, acc_write, acc_read] inline_func: InlineToNumber inline_need_types: true @@ -477,6 +487,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::NegDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaNeg inline_func: IrtocInlineNegDyn inline_need_types: true @@ -491,6 +502,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::NotDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaNot inline_func: IrtocInlineNotDyn inline_need_types: true @@ -505,6 +517,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::IncDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaInc inline_func: IrtocInlineIncDyn inline_need_types: true @@ -519,6 +532,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::DecDyn + clear_flags: [call, acc_write, acc_read] fast_path: FastPathEcmaDec inline_func: IrtocInlineDecDyn inline_need_types: true @@ -533,6 +547,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::RethrowDyn + clear_flags: [call, acc_write, acc_read] - name: ThrowDyn space: ecmascript @@ -544,6 +559,7 @@ intrinsics: ret: void args: [acc] impl: ark::ecmascript::intrinsics::ThrowDyn + clear_flags: [call, acc_write, acc_read] - name: Delobjprop space: ecmascript @@ -555,6 +571,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::Delobjprop + clear_flags: [call, acc_write, acc_read] - name: Defineglobalvar space: ecmascript @@ -596,6 +613,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::DefinefuncDyn + clear_flags: [call, acc_write, acc_read] - name: DefineNCFuncDyn space: ecmascript @@ -607,6 +625,7 @@ intrinsics: ret: any args: [any, any, acc, any] impl: ark::ecmascript::intrinsics::DefineNCFuncDyn + clear_flags: [call, acc_write, acc_read] - name: NewobjDynrange space: ecmascript @@ -619,6 +638,7 @@ intrinsics: args: [u16, any, any] stackrange: true impl: ark::ecmascript::intrinsics::NewobjDynrange + clear_flags: [call, acc_write, acc_read] - name: NewobjDynrangeHandled space: ecmascript @@ -631,6 +651,7 @@ intrinsics: args: [u16, any, any] stackrange: true impl: ark::ecmascript::intrinsics::NewobjDynrangeHandled + clear_flags: [call, acc_write, acc_read] - name: AllocDynObject space: ecmascript @@ -663,6 +684,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::ExpDyn + clear_flags: [call, acc_write, acc_read] - name: TypeofDyn space: ecmascript @@ -673,7 +695,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::TypeofDyn - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] fast_path: FastTypeOfDyn inline_func: InlineTypeOf @@ -697,6 +719,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::IsinDyn + clear_flags: [call, acc_write, acc_read] - name: InstanceofDyn space: ecmascript @@ -708,6 +731,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::InstanceofDyn + clear_flags: [call, acc_write, acc_read] - name: StrictNotEqDyn space: ecmascript @@ -718,7 +742,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::StrictNotEqDyn - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] codegen_func: CreateFastPathStrictNotEq inline_func: InlineStrictNotEqDyn inline_need_types: true @@ -732,6 +756,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::StrictEqDyn + clear_flags: [call, acc_write, acc_read] codegen_func: CreateFastPathStrictEq inline_func: InlineStrictEqDyn inline_need_types: true @@ -746,6 +771,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::NewobjspreadDyn + clear_flags: [call, acc_write, acc_read] - name: CallspreadDyn space: ecmascript @@ -757,6 +783,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::CallspreadDyn + clear_flags: [call, acc_write, acc_read] - name: JfalseDyn space: ecmascript @@ -787,6 +814,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::ReturnDyn + clear_flags: [call, acc_write, acc_read] - name: NewlexenvDyn space: ecmascript @@ -798,6 +826,7 @@ intrinsics: ret: any args: [u16, any] impl: ark::ecmascript::intrinsics::NewlexenvDyn + clear_flags: [call, acc_write, acc_read] - name: CopylexenvDyn space: ecmascript @@ -808,6 +837,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::CopylexenvDyn + clear_flags: [call, acc_write, acc_read] - name: StLexVarDyn space: ecmascript @@ -819,6 +849,7 @@ intrinsics: ret: void args: [u16, u16, acc, any] impl: ark::ecmascript::intrinsics::StLexVarDyn + clear_flags: [call, acc_write, acc_read] codegen_func: StLexVarDyn inline_func: InlineStLexVarDyn @@ -832,6 +863,7 @@ intrinsics: ret: any args: [any, u16, u16, acc, any] impl: ark::ecmascript::intrinsics::StLexDyn + clear_flags: [call, acc_write, acc_read] codegen_func: StLexDyn inline_func: InlineStLexDyn @@ -844,7 +876,7 @@ intrinsics: ret: any args: [u16, u16, any] impl: ark::ecmascript::intrinsics::LdLexVarDyn - clear_flags: [no_dce, runtime_call, require_state, can_throw] + clear_flags: [no_dce, runtime_call, require_state, can_throw, call, acc_write, acc_read] codegen_func: LdLexVarDyn inline_func: InlineLdLexVarDyn @@ -858,6 +890,7 @@ intrinsics: ret: any args: [any, u16, u16, any] impl: ark::ecmascript::intrinsics::LdLexDyn + clear_flags: [call, acc_write, acc_read] inline_func: InlineLdLexDyn - name: LdlexenvDyn @@ -869,7 +902,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::LdlexenvDyn - clear_flags: [no_dce, runtime_call] + clear_flags: [no_dce, runtime_call, call, acc_write, acc_read] codegen_func: LdlexenvDyn inline_func: InlineLdlexenvDyn @@ -882,6 +915,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::PopLexenvDyn + clear_flags: [call, acc_write, acc_read] inline_func: InlinePopLexenvDyn - name: GetUnmappedArgs @@ -896,6 +930,7 @@ intrinsics: stackrange: true codegen_func: EncodeGetUnmappedArgs impl: ark::ecmascript::intrinsics::GetUnmappedArgs + clear_flags: [call, acc_write, acc_read] - name: GetUnmappedArgsInterp space: ecmascript @@ -917,7 +952,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::Toboolean - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: IrtocInlineToBooleanDyn inline_need_types: true @@ -932,7 +967,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::Negate - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false - name: IsUndefined @@ -945,7 +980,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::IsUndefined - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false - name: IsTrue @@ -958,7 +993,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::IsTrue - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: IrtocInlineIsTrueDyn inline_need_types: true @@ -973,7 +1008,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::IsFalse - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false inline_func: IrtocInlineIsFalseDyn inline_need_types: true @@ -988,7 +1023,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::IsCoercible - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false - name: GetPropIterator @@ -1001,6 +1036,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::GetPropIterator + clear_flags: [call, acc_write, acc_read] - name: DefineGeneratorFunc space: ecmascript @@ -1012,6 +1048,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::DefineGeneratorFunc + clear_flags: [call, acc_write, acc_read] - name: CreateIterResultObj space: ecmascript @@ -1023,6 +1060,7 @@ intrinsics: ret: any args: [acc, u8] impl: ark::ecmascript::intrinsics::CreateIterResultObj + clear_flags: [call, acc_write, acc_read] - name: suspendGenerator space: ecmascript @@ -1034,6 +1072,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::SuspendGenerator + clear_flags: [call, acc_write, acc_read] - name: suspendGeneratorInterp space: ecmascript @@ -1056,6 +1095,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::SuspendAsyncGenerator + clear_flags: [call, acc_write, acc_read] - name: SuspendAsyncGeneratorInterp space: ecmascript @@ -1078,7 +1118,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::ResumeGenerator - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false - name: GetResumeMode @@ -1091,7 +1131,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::GetResumeMode - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] use_thread: false - name: CreateGeneratorObj @@ -1104,6 +1144,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::CreateGeneratorObj + clear_flags: [call, acc_write, acc_read] - name: SetGeneratorState space: ecmascript @@ -1115,6 +1156,7 @@ intrinsics: ret: any args: [any, u8] impl: ark::ecmascript::intrinsics::SetGeneratorState + clear_flags: [call, acc_write, acc_read] - name: CreateAsyncGeneratorObj space: ecmascript @@ -1126,6 +1168,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::CreateAsyncGeneratorObj + clear_flags: [call, acc_write, acc_read] - name: DefineAsyncGeneratorFunc space: ecmascript @@ -1137,6 +1180,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::DefineAsyncGeneratorFunc + clear_flags: [call, acc_write, acc_read] - name: DefineAsyncFunc space: ecmascript @@ -1148,6 +1192,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::DefineAsyncFunc + clear_flags: [call, acc_write, acc_read] - name: AsyncFunctionEnter space: ecmascript @@ -1159,6 +1204,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::AsyncFunctionEnter + clear_flags: [call, acc_write, acc_read] - name: AsyncFunctionAwait space: ecmascript @@ -1169,6 +1215,7 @@ intrinsics: signature: ret: any args: [any, acc] + clear_flags: [call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::AsyncFunctionAwait - name: AsyncFunctionResolve @@ -1180,6 +1227,7 @@ intrinsics: signature: ret: any args: [any, acc] + clear_flags: [call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::AsyncFunctionResolve - name: AsyncFunctionReject @@ -1191,6 +1239,7 @@ intrinsics: signature: ret: any args: [any, acc] + clear_flags: [call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::AsyncFunctionReject - name: AsyncGeneratorResolve @@ -1202,6 +1251,7 @@ intrinsics: signature: ret: any args: [any, acc] + clear_flags: [call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::AsyncGeneratorResolve - name: AsyncGeneratorReject @@ -1213,6 +1263,7 @@ intrinsics: signature: ret: any args: [any, acc] + clear_flags: [call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::AsyncGeneratorReject - name: ThrowUndefined @@ -1236,6 +1287,7 @@ intrinsics: ret: void args: [any] impl: ark::ecmascript::intrinsics::ThrowConstAssignment + clear_flags: [call, acc_write, acc_read] - name: ThrowTdz space: ecmascript @@ -1247,6 +1299,7 @@ intrinsics: ret: void args: [any] impl: ark::ecmascript::intrinsics::ThrowTdz + clear_flags: [call, acc_write, acc_read] - name: Copyrestargs space: ecmascript @@ -1258,6 +1311,7 @@ intrinsics: ret: any args: [u16] impl: ark::ecmascript::intrinsics::Copyrestargs + clear_flags: [call, acc_write, acc_read] - name: CopyrestargsInterp space: ecmascript @@ -1278,22 +1332,11 @@ intrinsics: signature: ret: any args: [] - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] impl: ark::ecmascript::intrinsics::Ldhole use_thread: false inline_func: InlineLdHole -- name: TryStGlobalByValue - space: ecmascript - class_name: Ecmascript.Intrinsics - method_name: tryStGlobalByValue - exception: true - static: true - signature: - ret: void - args: [u16, any, acc] - impl: ark::ecmascript::intrinsics::TryStGlobalByValue - - name: GetMethod space: ecmascript class_name: Ecmascript.Intrinsics @@ -1304,6 +1347,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::GetMethod + clear_flags: [call, acc_write, acc_read] - name: GetTemplateObject space: ecmascript @@ -1315,6 +1359,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::GetTemplateObject + clear_flags: [call, acc_write, acc_read] - name: TryLdGlobalByName space: ecmascript @@ -1327,6 +1372,7 @@ intrinsics: args: [any, u16, any] impl: ark::ecmascript::intrinsics::TryLdGlobalByName inline_func: InlineTryLdGlobalByName + clear_flags: [call, acc_write, acc_read] - name: TryStGlobalByName space: ecmascript @@ -1338,6 +1384,7 @@ intrinsics: ret: any args: [any, acc, u16, any] impl: ark::ecmascript::intrinsics::TryStGlobalByName + clear_flags: [call, acc_write, acc_read] - name: LdGlobalVar space: ecmascript @@ -1350,6 +1397,7 @@ intrinsics: args: [any, u16, any] impl: ark::ecmascript::intrinsics::LdGlobalVar fast_path: FastPathLdGlobalVar + clear_flags: [call, acc_write, acc_read] - name: StGlobalVar space: ecmascript @@ -1362,6 +1410,7 @@ intrinsics: args: [any, acc, u16, any] impl: ark::ecmascript::intrinsics::StGlobalVar fast_path: FastPathStGlobalVar + clear_flags: [call, acc_write, acc_read] - name: LdObjByName space: ecmascript @@ -1375,6 +1424,7 @@ intrinsics: impl: ark::ecmascript::intrinsics::LdObjByName fast_path: FastPathLdObjByName inline_func: InlineLdObjByName + clear_flags: [call, acc_write, acc_read] - name: StObjByName space: ecmascript @@ -1388,6 +1438,7 @@ intrinsics: impl: ark::ecmascript::intrinsics::StObjByName fast_path: FastPathStObjByName inline_func: InlineStObjByName + clear_flags: [call, acc_write, acc_read] - name: LdObjByIndex space: ecmascript @@ -1399,6 +1450,7 @@ intrinsics: ret: any args: [u32, acc] impl: ark::ecmascript::intrinsics::LdObjByIndex + clear_flags: [call, acc_write, acc_read] - name: StObjByIndex space: ecmascript @@ -1410,6 +1462,7 @@ intrinsics: ret: any args: [u32, any, acc] impl: ark::ecmascript::intrinsics::StObjByIndex + clear_flags: [call, acc_write, acc_read] - name: GetNextPropName space: ecmascript @@ -1421,6 +1474,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::GetNextPropName + clear_flags: [call, acc_write, acc_read] - name: ReturnUndefined space: ecmascript @@ -1431,6 +1485,7 @@ intrinsics: ret: void args: [] impl: ark::ecmascript::intrinsics::ReturnUndefined + clear_flags: [call, acc_write, acc_read] - name: Call0Dyn space: ecmascript @@ -1442,6 +1497,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::Call0Dyn + clear_flags: [call, acc_write, acc_read] - name: Call1Dyn space: ecmascript @@ -1453,6 +1509,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Call1Dyn + clear_flags: [call, acc_write, acc_read] - name: Call2Dyn space: ecmascript @@ -1464,6 +1521,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::Call2Dyn + clear_flags: [call, acc_write, acc_read] - name: Call3Dyn space: ecmascript @@ -1475,6 +1533,7 @@ intrinsics: ret: any args: [any, any, any, acc] impl: ark::ecmascript::intrinsics::Call3Dyn + clear_flags: [call, acc_write, acc_read] - name: Call0ThisDyn space: ecmascript @@ -1486,6 +1545,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::Call0ThisDyn + clear_flags: [call, acc_write, acc_read] - name: Call1ThisDyn space: ecmascript @@ -1497,6 +1557,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::Call1ThisDyn + clear_flags: [call, acc_write, acc_read] - name: Call2ThisDyn space: ecmascript @@ -1508,6 +1569,7 @@ intrinsics: ret: any args: [any, any, any, acc] impl: ark::ecmascript::intrinsics::Call2ThisDyn + clear_flags: [call, acc_write, acc_read] - name: Call3ThisDyn space: ecmascript @@ -1519,6 +1581,7 @@ intrinsics: ret: any args: [any, any, any, any, acc] impl: ark::ecmascript::intrinsics::Call3ThisDyn + clear_flags: [call, acc_write, acc_read] - name: CalliRangeDyn space: ecmascript @@ -1530,6 +1593,7 @@ intrinsics: ret: any args: [u16, any] impl: ark::ecmascript::intrinsics::CalliRangeDyn + clear_flags: [call, acc_write, acc_read] - name: CalliRangeDynInterp space: ecmascript @@ -1552,6 +1616,7 @@ intrinsics: ret: any args: [u16, any] impl: ark::ecmascript::intrinsics::CalliThisRangeDyn + clear_flags: [call, acc_write, acc_read] - name: CreateEmptyObject space: ecmascript @@ -1563,7 +1628,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::CreateEmptyObject - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: CreateObjectWithBuffer space: ecmascript @@ -1575,6 +1640,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::CreateObjectWithBuffer + clear_flags: [call, acc_write, acc_read] - name: CopyDataProperties space: ecmascript @@ -1586,6 +1652,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::CopyDataProperties + clear_flags: [call, acc_write, acc_read] - name: DefineGetterSetterByValue space: ecmascript @@ -1597,6 +1664,7 @@ intrinsics: ret: any args: [any, any, any, any, acc] impl: ark::ecmascript::intrinsics::DefineGetterSetterByValue + clear_flags: [call, acc_write, acc_read] - name: CreateEmptyArray space: ecmascript @@ -1608,7 +1676,7 @@ intrinsics: ret: any args: [] impl: ark::ecmascript::intrinsics::CreateEmptyArray - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: CreateArrayWithBuffer space: ecmascript @@ -1620,6 +1688,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::CreateArrayWithBuffer + clear_flags: [call, acc_write, acc_read] - name: CreateRegExpWithLiteral space: ecmascript @@ -1631,6 +1700,7 @@ intrinsics: ret: any args: [any, u8] impl: ark::ecmascript::intrinsics::CreateRegExpWithLiteral + clear_flags: [call, acc_write, acc_read] - name: StOwnByName @@ -1643,6 +1713,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::StOwnByName + clear_flags: [call, acc_write, acc_read] - name: StOwnByIndex space: ecmascript @@ -1654,6 +1725,7 @@ intrinsics: ret: any args: [u32, any, acc] impl: ark::ecmascript::intrinsics::StOwnByIndex + clear_flags: [call, acc_write, acc_read] - name: StOwnByValue space: ecmascript @@ -1665,6 +1737,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::StOwnByValue + clear_flags: [call, acc_write, acc_read] - name: StArraySpread space: ecmascript @@ -1676,6 +1749,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::StArraySpread + clear_flags: [call, acc_write, acc_read] - name: GetIterator space: ecmascript @@ -1687,6 +1761,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::GetIterator + clear_flags: [call, acc_write, acc_read] - name: GetAsyncIterator space: ecmascript @@ -1698,6 +1773,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::GetAsyncIterator + clear_flags: [call, acc_write, acc_read] - name: ThrowIfNotObject space: ecmascript @@ -1709,6 +1785,7 @@ intrinsics: ret: any args: [acc] impl: ark::ecmascript::intrinsics::ThrowIfNotObject + clear_flags: [call, acc_write, acc_read] - name: ThrowThrowNotExists space: ecmascript @@ -1720,6 +1797,7 @@ intrinsics: ret: void args: [] impl: ark::ecmascript::intrinsics::ThrowThrowNotExists + clear_flags: [call, acc_write, acc_read] - name: CreateObjectWithExcludedKeys space: ecmascript @@ -1732,6 +1810,7 @@ intrinsics: ret: any args: [u16, any, any] impl: ark::ecmascript::intrinsics::CreateObjectWithExcludedKeys + clear_flags: [call, acc_write, acc_read] - name: ThrowPatternNonCoercible space: ecmascript @@ -1743,6 +1822,7 @@ intrinsics: ret: void args: [] impl: ark::ecmascript::intrinsics::ThrowPatternNonCoercible + clear_flags: [call, acc_write, acc_read] - name: CloseIterator space: ecmascript @@ -1754,6 +1834,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::CloseIterator + clear_flags: [call, acc_write, acc_read] - name: ImportModule space: ecmascript @@ -1765,7 +1846,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::ImportModule - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: StModuleVar space: ecmascript @@ -1777,6 +1858,7 @@ intrinsics: ret: void args: [any, acc] impl: ark::ecmascript::intrinsics::StModuleVar + clear_flags: [call, acc_write, acc_read] - name: CopyModule space: ecmascript @@ -1788,6 +1870,7 @@ intrinsics: ret: void args: [any] impl: ark::ecmascript::intrinsics::CopyModule + clear_flags: [call, acc_write, acc_read] - name: LdModvarByName space: ecmascript @@ -1799,7 +1882,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::LdModvarByName - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: LoadClassComputedInstanceFields space: ecmascript @@ -1811,6 +1894,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::LoadClassComputedInstanceFields + clear_flags: [call, acc_write, acc_read] - name: SetClassComputedFields space: ecmascript @@ -1822,6 +1906,7 @@ intrinsics: ret: void args: [any, any] impl: ark::ecmascript::intrinsics::SetClassComputedFields + clear_flags: [call, acc_write, acc_read] - name: DefineClassWithBuffer space: ecmascript @@ -1833,6 +1918,7 @@ intrinsics: ret: any args: [any, u16, any, any, any] impl: ark::ecmascript::intrinsics::DefineClassWithBuffer + clear_flags: [call, acc_write, acc_read] - name: ClassFieldAdd space: ecmascript @@ -1844,6 +1930,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::ClassFieldAdd + clear_flags: [call, acc_write, acc_read] - name: DefineClassPrivateFields space: ecmascript @@ -1855,6 +1942,7 @@ intrinsics: ret: void args: [any, any, acc, any] impl: ark::ecmascript::intrinsics::DefineClassPrivateFields + clear_flags: [call, acc_write, acc_read] - name: ClassPrivateMethodOrAccessorAdd space: ecmascript @@ -1866,6 +1954,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::ClassPrivateMethodOrAccessorAdd + clear_flags: [call, acc_write, acc_read] - name: ClassPrivateFieldAdd space: ecmascript @@ -1877,6 +1966,7 @@ intrinsics: ret: any args: [any, any, any, acc] impl: ark::ecmascript::intrinsics::ClassPrivateFieldAdd + clear_flags: [call, acc_write, acc_read] - name: ClassPrivateFieldGet space: ecmascript @@ -1888,6 +1978,7 @@ intrinsics: ret: any args: [any, any, any] impl: ark::ecmascript::intrinsics::ClassPrivateFieldGet + clear_flags: [call, acc_write, acc_read] - name: ClassPrivateFieldSet space: ecmascript @@ -1899,6 +1990,7 @@ intrinsics: ret: any args: [any, any, any, acc] impl: ark::ecmascript::intrinsics::ClassPrivateFieldSet + clear_flags: [call, acc_write, acc_read] - name: ClassPrivateFieldIn space: ecmascript @@ -1910,6 +2002,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::ClassPrivateFieldIn + clear_flags: [call, acc_write, acc_read] - name: SuperCall space: ecmascript @@ -1921,6 +2014,7 @@ intrinsics: ret: any args: [u16, any, any, acc] impl: ark::ecmascript::intrinsics::SuperCall + clear_flags: [call, acc_write, acc_read] - name: SuperCallSpread space: ecmascript @@ -1932,6 +2026,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::SuperCallSpread + clear_flags: [call, acc_write, acc_read] - name: DefineMethod space: ecmascript @@ -1943,6 +2038,7 @@ intrinsics: ret: any args: [any, any, acc, any] impl: ark::ecmascript::intrinsics::DefineMethod + clear_flags: [call, acc_write, acc_read] - name: LdSuperByName space: ecmascript @@ -1954,6 +2050,7 @@ intrinsics: ret: any args: [any, acc, any] impl: ark::ecmascript::intrinsics::LdSuperByName + clear_flags: [call, acc_write, acc_read] - name: StSuperByName space: ecmascript @@ -1965,6 +2062,7 @@ intrinsics: ret: any args: [any, any, acc, any] impl: ark::ecmascript::intrinsics::StSuperByName + clear_flags: [call, acc_write, acc_read] - name: StSuperByValue space: ecmascript @@ -1976,6 +2074,7 @@ intrinsics: ret: any args: [any, any, acc, any] impl: ark::ecmascript::intrinsics::StSuperByValue + clear_flags: [call, acc_write, acc_read] - name: LdSuperByValue space: ecmascript @@ -1987,6 +2086,7 @@ intrinsics: ret: any args: [any, acc, any] impl: ark::ecmascript::intrinsics::LdSuperByValue + clear_flags: [call, acc_write, acc_read] - name: CreateObjectHavingMethod space: ecmascript @@ -1998,6 +2098,7 @@ intrinsics: ret: any args: [any, acc, any] impl: ark::ecmascript::intrinsics::CreateObjectHavingMethod + clear_flags: [call, acc_write, acc_read] - name: ThrowIfSuperNotCorrectCall space: ecmascript @@ -2009,6 +2110,7 @@ intrinsics: ret: any args: [u16, acc] impl: ark::ecmascript::intrinsics::ThrowIfSuperNotCorrectCall + clear_flags: [call, acc_write, acc_read] - name: LdHomeObject space: ecmascript @@ -2019,7 +2121,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::LdHomeObject - clear_flags: [no_dce] + clear_flags: [no_dce, call, acc_write, acc_read] - name: SetObjectWithProto space: ecmascript @@ -2031,6 +2133,7 @@ intrinsics: ret: any args: [any, any] impl: ark::ecmascript::intrinsics::SetObjectWithProto + clear_flags: [call, acc_write, acc_read] - name: ThrowDeleteSuperProperty space: ecmascript @@ -2042,6 +2145,7 @@ intrinsics: ret: void args: [] impl: ark::ecmascript::intrinsics::ThrowDeleteSuperProperty + clear_flags: [call, acc_write, acc_read] - name: LdEvalBindings space: ecmascript @@ -2053,6 +2157,7 @@ intrinsics: ret: any args: [any] impl: ark::ecmascript::intrinsics::LdEvalBindings + clear_flags: [call, acc_write, acc_read] - name: DirectEval space: ecmascript @@ -2064,6 +2169,7 @@ intrinsics: ret: any args: [u32, any, any] impl: ark::ecmascript::intrinsics::DirectEval + clear_flags: [call, acc_write, acc_read] - name: LdEvalVar space: ecmascript @@ -2075,6 +2181,7 @@ intrinsics: ret: any args: [any, acc] impl: ark::ecmascript::intrinsics::LdEvalVar + clear_flags: [call, acc_write, acc_read] - name: StEvalVar space: ecmascript @@ -2086,6 +2193,7 @@ intrinsics: ret: any args: [any, any, acc] impl: ark::ecmascript::intrinsics::StEvalVar + clear_flags: [call, acc_write, acc_read] - name: Debugger space: ecmascript @@ -2096,6 +2204,7 @@ intrinsics: ret: void args: [] impl: ark::ecmascript::intrinsics::Debugger + clear_flags: [call, acc_write, acc_read] use_thread: false - name: NativeMethodWrapper diff --git a/runtime/interpreter/interpreter.h b/runtime/interpreter/interpreter.h index 1a5d2c2fd0abb3417aa7d9d234b04d6b5b90a9d8..e3cf3220c4714f40c34ac181dde27ec3fa668e5b 100644 --- a/runtime/interpreter/interpreter.h +++ b/runtime/interpreter/interpreter.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Copyright (c) 2021-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -171,9 +171,7 @@ enum EcmaOpcode { CALL2DYN_IMM8_V8_V8_V8, CALL3DYN_IMM8_V8_V8_V8_V8, DEFINEGETTERSETTERBYVALUE_IMM8_V8_V8_V8_V8, - TRYLDGLOBALBYVALUE_IMM8_IMM16_V8, NEWOBJDYNRANGE_IMM8_IMM16_V8, - TRYSTGLOBALBYVALUE_IMM8_IMM16_V8, CALLIRANGEDYN_IMM8_IMM16_V8, CALLITHISRANGEDYN_IMM8_IMM16_V8, SUPERCALL_IMM8_IMM16_V8, diff --git a/runtime/intrinsics-inl.h b/runtime/intrinsics-inl.h index be7465134fa63a3d5960d481e30d7f07c2b1375d..752ca2daa2c17cb7d26406acdcd1f752968a2f26 100644 --- a/runtime/intrinsics-inl.h +++ b/runtime/intrinsics-inl.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Copyright (c) 2021-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -398,20 +398,6 @@ INLINE_ECMA_INTRINSICS uint64_t GreaterEqDyn(JSThread *thread, uint64_t lhs, uin return SlowRuntimeStub::GreaterEqDyn(thread, left, right).GetRawData(); } -// NOLINTNEXTLINE(misc-definitions-in-headers) -INLINE_ECMA_INTRINSICS uint64_t TryLdGlobalByValue([[maybe_unused]] JSThread *thread, [[maybe_unused]] uint16_t slotId, - [[maybe_unused]] uint64_t propValue) -{ - UNREACHABLE(); -} - -// NOLINTNEXTLINE(misc-definitions-in-headers) -INLINE_ECMA_INTRINSICS void TryStGlobalByValue([[maybe_unused]] JSThread *thread, [[maybe_unused]] uint16_t slotId, - [[maybe_unused]] uint64_t propValue, [[maybe_unused]] uint64_t valValue) -{ - UNREACHABLE(); -} - // NOLINTNEXTLINE(misc-definitions-in-headers) INLINE_ECMA_INTRINSICS uint64_t TryLdGlobalByName(JSThread *thread, uint64_t prop, [[maybe_unused]] uint16_t slotId, [[maybe_unused]] uint64_t func)