diff --git a/BUILD.gn b/BUILD.gn index 8da11ac4789a6427e6c66e1aba2f5cb649ab4a79..a6879dab6e1f61d6624db97740c9462e2319f454 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -15,7 +15,7 @@ import("//ark/runtime_core/ark_config.gni") import("//build/ohos.gni") group("ark_packages") { - deps = ["$ark_root/plugins/ecmascript/es2panda/aot:es2panda"] + deps = [ "$ark_root/plugins/ecmascript/es2panda/aot:es2panda" ] } group("ark_host_linux_tools_packages") { @@ -46,14 +46,14 @@ config("assembler") { } group("assembler_deps") { - deps = [ ":ark_asm_ecmascript_meta_gen_h" ] + public_deps = [ ":ark_asm_ecmascript_meta_gen_cpp" ] } -ark_gen_file("ark_asm_ecmascript_meta_gen_h") { +ark_gen_file("ark_asm_ecmascript_meta_gen_cpp") { 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" ] - output_file = "$target_gen_dir/ecmascript_meta_gen.h" + output_file = "$target_gen_dir/ecmascript_meta_gen.cpp" } config("runtime") { @@ -133,9 +133,7 @@ config("bytecodeopt") { } ark_isa_gen("isa_gen_ecma_bytecodeopt") { - template_files = [ - "ecmascript_codegen_intrinsics_gen.inc.erb", - ] + template_files = [ "ecmascript_codegen_intrinsics_gen.inc.erb" ] sources = "$ark_root/plugins/ecmascript/bytecode_optimizer/templates/" destination = "$target_gen_dir/" requires = [ "$ark_root//assembler/asm_isapi.rb" ] @@ -149,9 +147,7 @@ config("compiler") { } ark_isa_gen("isa_gen_ecma_compiler") { - template_files = [ - "ecmascript_inst_builder_gen.cpp.erb", - ] + template_files = [ "ecmascript_inst_builder_gen.cpp.erb" ] sources = "$ark_root/plugins/ecmascript/compiler/templates/" destination = "$target_gen_dir/" } diff --git a/assembler/CMakeLists.txt b/assembler/CMakeLists.txt index f3c6f93bfffdf1e8e6a70735a3751877be4f222e..9cf045e44bcb2e3bfbe4ff8e6b85ccd7478821ec 100644 --- a/assembler/CMakeLists.txt +++ b/assembler/CMakeLists.txt @@ -12,22 +12,10 @@ # limitations under the License. set(EXTENSION_DIR ${PANDA_ECMASCRIPT_PLUGIN_SOURCE}/assembler/extension) - -target_sources(arkassembler PRIVATE ${EXTENSION_DIR}/ecmascript_meta.cpp) target_include_directories(arkassembler 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 - TEMPLATE ${PANDA_ROOT}/assembler/templates/meta_gen.cpp.erb - OUTPUTFILE ${ECMASCRIPT_META_GEN_H} - REQUIRES ${PANDA_ROOT}/assembler/asm_metadata.rb +panda_add_assembly_metadata( + TARGET ecmascript_asm_metadata + DATAFILE ${EXTENSION_DIR}/metadata.yaml + OUTPUT ${PANDA_BINARY_ROOT}/assembler/ecmascript_meta_gen.cpp ) -add_custom_target(ecmascript_meta_gen_h DEPENDS ${ECMASCRIPT_META_GEN_H}) -add_dependencies(arkassembler ecmascript_meta_gen_h) - -if (PANDA_ENABLE_AFL) - target_sources(arkassembler_fuzz PRIVATE ${EXTENSION_DIR}/ecmascript_meta.cpp) - target_include_directories(arkassembler_fuzz PUBLIC ${EXTENSION_DIR}) - add_dependencies(arkassembler_fuzz ecmascript_meta_gen_h) -endif() diff --git a/assembler/extension/ecmascript_meta.cpp b/assembler/extension/ecmascript_meta.cpp deleted file mode 100644 index 3bfd5cf5926bdc1136a2ab8e108eef0834c4eca9..0000000000000000000000000000000000000000 --- a/assembler/extension/ecmascript_meta.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2021-2022 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ecmascript_meta.h" - -namespace panda::pandasm::extensions::ecmascript { - -#include - -} // namespace panda::pandasm::extensions::ecmascript diff --git a/subproject_sources.gn b/subproject_sources.gn index d903a9a92ca26aac2971cb4dd68274d59128a758..60460b0d7f9c596d948fad3bddc69646fe63b26f 100644 --- a/subproject_sources.gn +++ b/subproject_sources.gn @@ -17,7 +17,10 @@ assert(string_replace(_plugin_dir, "//", "") != _plugin_dir) enable_bytecode_optimizer = true -srcs_assembler = [ "assembler/extension/ecmascript_meta.cpp" ] +srcs_assembler_gen = + [ get_label_info(":ark_asm_ecmascript_meta_gen_cpp", "target_gen_dir") + + "/ecmascript_meta_gen.cpp" ] + srcs_isa = [ "isa/isa.yaml" ] srcs_compiler = [ "compiler/optimizer/code_generator/compiler_base_types.cpp", @@ -34,7 +37,10 @@ inst_templates_yaml_path = runtime_option_yaml_path = "runtime_options.yaml" entrypoints_yaml_path = "runtime/ecma_entrypoints.yaml" -irtoc_scripts = [ "irtoc_scripts/object.irt", "irtoc_scripts/new_obj_dyn.irt" ] +irtoc_scripts = [ + "irtoc_scripts/object.irt", + "irtoc_scripts/new_obj_dyn.irt", +] irtoc_plugins = [ "irtoc_scripts/interpreter_handlers.irt", "irtoc_scripts/interpreter_main_loop.irt", @@ -44,9 +50,7 @@ arkruntime_header_sub_deps = [ "$_plugin_dir:ecma_intrinsics_gen_arkruntime", "$_plugin_dir:substitute_icu_path", ] -arkruntime_stdlib_sub_deps = [ - "$_plugin_dir:ecmastdlib_inline_h", -] +arkruntime_stdlib_sub_deps = [ "$_plugin_dir:ecmastdlib_inline_h" ] arkcompiler_deps = [ "$_plugin_dir:isa_gen_ecma_compiler_ecmascript_inst_builder_gen_cpp" ] arkbytecodeopt_deps = [ @@ -57,11 +61,11 @@ arkruntime_third_party_deps = [ "icu/icu4c:shared_icuuc", ] arkruntime_deps = [ - "$ark_third_party_root/icu/icu4c:shared_icui18n", - "$ark_third_party_root/icu/icu4c:shared_icuuc", + "$_plugin_dir/es2panda:libes2panda_frontend_static", "$ark_root/assembler:libarkassembler_frontend_static", "$ark_root/libpandafile:libarkfile_frontend_static", - "$_plugin_dir/es2panda:libes2panda_frontend_static", + "$ark_third_party_root/icu/icu4c:shared_icui18n", + "$ark_third_party_root/icu/icu4c:shared_icuuc", ] runtime_yamls = [ "runtime/ecma_runtime.yaml" ]