diff options
author | Refael Ackermann <refack@gmail.com> | 2019-05-28 08:46:21 -0400 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2019-06-01 09:55:12 -0400 |
commit | ed74896b1fae1c163b3906163f3bf46326618ddb (patch) | |
tree | 7fb05c5a19808e0c5cd95837528e9005999cf540 /deps/v8/BUILD.gn | |
parent | 2a850cd0664a4eee51f44d0bb8c2f7a3fe444154 (diff) | |
download | android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.gz android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.bz2 android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.zip |
deps: update V8 to 7.5.288.22
PR-URL: https://github.com/nodejs/node/pull/27375
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/v8/BUILD.gn')
-rw-r--r-- | deps/v8/BUILD.gn | 1076 |
1 files changed, 772 insertions, 304 deletions
diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 7a50b192f0..10fee26420 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -88,9 +88,18 @@ declare_args() { # Enable embedded builtins. v8_enable_embedded_builtins = true + # Enable the registration of unwinding info for Windows/x64. + v8_win64_unwinding_info = false + # Enable code comments for builtins in the snapshot (impacts performance). v8_enable_snapshot_code_comments = false + # Enable native counters from the snapshot (impacts performance, sets + # -dV8_SNAPSHOT_NATIVE_CODE_COUNTERS). + # This option will generate extra code in the snapshot to increment counters, + # as per the --native-code-counters flag. + v8_enable_snapshot_native_code_counters = "" + # Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_csa = false @@ -127,6 +136,10 @@ declare_args() { # Use Siphash as added protection against hash flooding attacks. v8_use_siphash = false + # Use Perfetto (https://perfetto.dev) as the default TracingController. Not + # currently implemented. + v8_use_perfetto = false + # Switches off inlining in V8. v8_no_inline = false @@ -171,6 +184,9 @@ declare_args() { # setting the "check_v8_header_includes" gclient variable to run a # specific hook). v8_check_header_includes = false + + # Enable sharing read-only space across isolates. + v8_enable_shared_ro_heap = false } # We reuse the snapshot toolchain for building torque and other generators to @@ -205,6 +221,9 @@ if (v8_check_microtasks_scopes_consistency == "") { v8_check_microtasks_scopes_consistency = v8_enable_debugging_features || dcheck_always_on } +if (v8_enable_snapshot_native_code_counters == "") { + v8_enable_snapshot_native_code_counters = v8_enable_debugging_features +} assert(v8_current_cpu != "x86" || !v8_untrusted_code_mitigations, "Untrusted code mitigations are unsupported on ia32") @@ -214,6 +233,9 @@ assert(!v8_enable_lite_mode || v8_enable_embedded_builtins, assert(!v8_enable_lite_mode || v8_use_snapshot, "Lite mode requires a snapshot build") +assert(v8_use_snapshot || !v8_enable_shared_ro_heap, + "Nosnapshot builds are not supported with shared read-only heap enabled") + v8_random_seed = "314159265" v8_toolset_for_shell = "host" @@ -336,6 +358,9 @@ config("features") { } defines += [ "V8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=${v8_typed_array_max_size_in_heap}" ] + if (v8_enable_raw_heap_snapshots) { + defines += [ "V8_ENABLE_RAW_HEAP_SNAPSHOTS" ] + } if (v8_enable_future) { defines += [ "V8_ENABLE_FUTURE" ] } @@ -385,6 +410,9 @@ config("features") { } if (v8_use_snapshot) { defines += [ "V8_USE_SNAPSHOT" ] + if (v8_enable_snapshot_native_code_counters) { + defines += [ "V8_SNAPSHOT_NATIVE_CODE_COUNTERS" ] + } } if (v8_use_external_startup_data) { defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] @@ -404,6 +432,15 @@ config("features") { if (v8_use_siphash) { defines += [ "V8_USE_SIPHASH" ] } + if (v8_enable_shared_ro_heap) { + defines += [ "V8_SHARED_RO_HEAP" ] + } + if (v8_use_perfetto) { + defines += [ "V8_USE_PERFETTO" ] + } + if (v8_win64_unwinding_info) { + defines += [ "V8_WIN64_UNWINDING_INFO" ] + } } config("toolchain") { @@ -608,15 +645,7 @@ config("toolchain") { } if (is_clang) { - cflags += [ - "-Wmissing-field-initializers", - - # TODO(thakis): Remove once enabled globally, https://crbug.com/926235 - "-Wextra-semi", - - # TODO(hans): Remove once http://crbug.com/428099 is resolved. - "-Winconsistent-missing-override", - ] + cflags += [ "-Wmissing-field-initializers" ] if (v8_current_cpu != "mips" && v8_current_cpu != "mipsel") { # We exclude MIPS because the IsMipsArchVariant macro causes trouble. @@ -670,29 +699,17 @@ config("toolchain") { } } -config("default_optimization") { - if (is_debug && !v8_optimized_debug) { - configs = [ "//build/config/compiler:no_optimize" ] - } else { - # TODO(crbug.com/621335) Rework this so that we don't have the confusion - # between "optimize_speed" and "optimize_max". - if (((is_posix && !is_android) || is_fuchsia) && !using_sanitizer) { - configs = [ "//build/config/compiler:optimize_speed" ] - } else { - configs = [ "//build/config/compiler:optimize_max" ] - } - } -} - -# For code that is only run a few times during the build, C++ optimizations -# are a waste of time. -config("unoptimized_initializer") { +# For code that is hot during mksnapshot. In fast-mksnapshot builds, we +# optimize some files even in debug builds to speed up mksnapshot times. +config("always_optimize") { configs = [ ":internal_config" ] - if (using_sanitizer) { - # Some sanitizers rely on optimizations. - configs += [ ":default_optimization" ] + + # TODO(crbug.com/621335) Rework this so that we don't have the confusion + # between "optimize_speed" and "optimize_max". + if (((is_posix && !is_android) || is_fuchsia) && !using_sanitizer) { + configs += [ "//build/config/compiler:optimize_speed" ] } else { - configs += [ "//build/config/compiler:no_optimize" ] + configs += [ "//build/config/compiler:optimize_max" ] } } @@ -913,6 +930,7 @@ torque_files = [ "src/builtins/array-reduce.tq", "src/builtins/array-reduce-right.tq", "src/builtins/array-reverse.tq", + "src/builtins/array-shift.tq", "src/builtins/array-slice.tq", "src/builtins/array-some.tq", "src/builtins/array-splice.tq", @@ -920,17 +938,29 @@ torque_files = [ "src/builtins/collections.tq", "src/builtins/data-view.tq", "src/builtins/extras-utils.tq", - "src/builtins/object-fromentries.tq", "src/builtins/iterator.tq", + "src/builtins/object-fromentries.tq", + "src/builtins/proxy.tq", + "src/builtins/proxy-constructor.tq", + "src/builtins/proxy-revocable.tq", + "src/builtins/proxy-revoke.tq", + "src/builtins/regexp.tq", + "src/builtins/regexp-replace.tq", "src/builtins/string-endswith.tq", + "src/builtins/string-html.tq", + "src/builtins/string-repeat.tq", "src/builtins/string-startswith.tq", "src/builtins/typed-array.tq", "src/builtins/typed-array-createtypedarray.tq", + "src/builtins/typed-array-every.tq", "src/builtins/typed-array-filter.tq", + "src/builtins/typed-array-find.tq", + "src/builtins/typed-array-findindex.tq", "src/builtins/typed-array-foreach.tq", "src/builtins/typed-array-reduce.tq", "src/builtins/typed-array-reduceright.tq", "src/builtins/typed-array-slice.tq", + "src/builtins/typed-array-some.tq", "src/builtins/typed-array-subarray.tq", "test/torque/test-torque.tq", "third_party/v8/builtins/array-sort.tq", @@ -948,6 +978,7 @@ torque_namespaces = [ "array-map", "array-of", "array-reverse", + "array-shift", "array-slice", "array-splice", "array-unshift", @@ -959,15 +990,24 @@ torque_namespaces = [ "growable-fixed-array", "iterator", "object", + "proxy", + "regexp", + "regexp-replace", "string", + "string-html", + "string-repeat", "test", "typed-array", "typed-array-createtypedarray", + "typed-array-every", "typed-array-filter", + "typed-array-find", + "typed-array-findindex", "typed-array-foreach", "typed-array-reduce", "typed-array-reduceright", "typed-array-slice", + "typed-array-some", "typed-array-subarray", ] @@ -989,6 +1029,7 @@ action("run_torque") { outputs = [ "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h", "$target_gen_dir/torque-generated/class-definitions-from-dsl.h", + "$target_gen_dir/torque-generated/objects-printer-from-dsl.cc", ] foreach(namespace, torque_namespaces) { outputs += [ @@ -1010,6 +1051,14 @@ action("run_torque") { } } +group("v8_maybe_icu") { + if (v8_enable_i18n_support) { + public_deps = [ + "//third_party/icu", + ] + } +} + v8_source_set("torque_generated_initializers") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -1018,11 +1067,9 @@ v8_source_set("torque_generated_initializers") { ":run_torque", ] - if (v8_enable_i18n_support) { - public_deps = [ - "//third_party/icu", - ] - } + public_deps = [ + ":v8_maybe_icu", + ] sources = [] foreach(namespace, torque_namespaces) { @@ -1032,8 +1079,26 @@ v8_source_set("torque_generated_initializers") { ] } - remove_configs = [ v8_path_prefix + ":default_optimization" ] - configs = [ ":unoptimized_initializer" ] + configs = [ ":internal_config" ] +} + +v8_source_set("torque_generated_definitions") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ] + + public_deps = [ + ":v8_maybe_icu", + ] + + sources = [ + "$target_gen_dir/torque-generated/objects-printer-from-dsl.cc", + ] + + configs = [ ":internal_config" ] } action("generate_bytecode_builtins_list") { @@ -1092,10 +1157,20 @@ template("run_mksnapshot") { "root_out_dir") + "/mksnapshot", root_build_dir), "--turbo_instruction_scheduling", + + # In cross builds, the snapshot may be generated for both the host and + # target toolchains. The same host binary is used to generate both, so + # mksnapshot needs to know which target OS to use at runtime. It's weird, + # but the target OS is really |current_os|. + "--target_os=$current_os", ] args += invoker.args + if (v8_win64_unwinding_info) { + args += [ "--win64-unwinding-info" ] + } + if (v8_enable_embedded_builtins) { outputs += [ "$target_gen_dir/embedded${suffix}.S" ] args += [ @@ -1148,6 +1223,14 @@ template("run_mksnapshot") { args += [ "--code-comments" ] } + if (v8_enable_snapshot_native_code_counters) { + args += [ "--native-code-counters" ] + } else { + # --native-code-counters is the default in debug mode so make sure we can + # unset it. + args += [ "--no-native-code-counters" ] + } + if (v8_enable_fast_mksnapshot) { args += [ "--no-turbo-rewrite-far-jumps", @@ -1257,7 +1340,11 @@ v8_source_set("v8_nosnapshot") { deps = [ ":js2c_extras", - ":v8_base", + ":torque_generated_initializers", + ] + + public_deps = [ + ":v8_maybe_icu", ] sources = [ @@ -1280,12 +1367,13 @@ if (v8_use_snapshot && !v8_use_external_startup_data) { deps = [ ":js2c_extras", - ":v8_base", ] + public_deps = [ # This should be public so downstream targets can declare the snapshot # output file as their inputs. ":run_mksnapshot_default", + ":v8_maybe_icu", ] # Do not publicize any header to remove build dependency. @@ -1373,10 +1461,6 @@ v8_source_set("v8_initializers") { ":torque_generated_initializers", ] - public_deps = [ - ":v8_base", - ] - sources = [ ### gcmole(all) ### "src/builtins/builtins-arguments-gen.cc", @@ -1510,8 +1594,7 @@ v8_source_set("v8_initializers") { sources -= [ "src/builtins/builtins-intl-gen.cc" ] } - remove_configs = [ v8_path_prefix + ":default_optimization" ] - configs = [ ":unoptimized_initializer" ] + configs = [ ":internal_config" ] } v8_source_set("v8_init") { @@ -1525,11 +1608,10 @@ v8_source_set("v8_init") { ### gcmole(all) ### "src/setup-isolate-full.cc", ] - if (v8_enable_i18n_support) { - public_deps = [ - "//third_party/icu", - ] - } + + public_deps = [ + ":v8_maybe_icu", + ] configs = [ ":internal_config" ] } @@ -1585,7 +1667,277 @@ v8_header_set("v8_shared_internal_headers") { ] } -v8_source_set("v8_base") { +v8_compiler_sources = [ + "src/compiler/access-builder.cc", + "src/compiler/access-builder.h", + "src/compiler/access-info.cc", + "src/compiler/access-info.h", + "src/compiler/all-nodes.cc", + "src/compiler/all-nodes.h", + "src/compiler/allocation-builder-inl.h", + "src/compiler/allocation-builder.h", + "src/compiler/backend/code-generator-impl.h", + "src/compiler/backend/code-generator.cc", + "src/compiler/backend/code-generator.h", + "src/compiler/backend/frame-elider.cc", + "src/compiler/backend/frame-elider.h", + "src/compiler/backend/gap-resolver.cc", + "src/compiler/backend/gap-resolver.h", + "src/compiler/backend/instruction-codes.h", + "src/compiler/backend/instruction-scheduler.cc", + "src/compiler/backend/instruction-scheduler.h", + "src/compiler/backend/instruction-selector-impl.h", + "src/compiler/backend/instruction-selector.cc", + "src/compiler/backend/instruction-selector.h", + "src/compiler/backend/instruction.cc", + "src/compiler/backend/instruction.h", + "src/compiler/backend/jump-threading.cc", + "src/compiler/backend/jump-threading.h", + "src/compiler/backend/live-range-separator.cc", + "src/compiler/backend/live-range-separator.h", + "src/compiler/backend/move-optimizer.cc", + "src/compiler/backend/move-optimizer.h", + "src/compiler/backend/register-allocator-verifier.cc", + "src/compiler/backend/register-allocator-verifier.h", + "src/compiler/backend/register-allocator.cc", + "src/compiler/backend/register-allocator.h", + "src/compiler/backend/unwinding-info-writer.h", + "src/compiler/basic-block-instrumentor.cc", + "src/compiler/basic-block-instrumentor.h", + "src/compiler/branch-elimination.cc", + "src/compiler/branch-elimination.h", + "src/compiler/bytecode-analysis.cc", + "src/compiler/bytecode-analysis.h", + "src/compiler/bytecode-graph-builder.cc", + "src/compiler/bytecode-graph-builder.h", + "src/compiler/bytecode-liveness-map.cc", + "src/compiler/bytecode-liveness-map.h", + "src/compiler/c-linkage.cc", + "src/compiler/checkpoint-elimination.cc", + "src/compiler/checkpoint-elimination.h", + "src/compiler/code-assembler.cc", + "src/compiler/code-assembler.h", + "src/compiler/common-node-cache.cc", + "src/compiler/common-node-cache.h", + "src/compiler/common-operator-reducer.cc", + "src/compiler/common-operator-reducer.h", + "src/compiler/common-operator.cc", + "src/compiler/common-operator.h", + "src/compiler/compilation-dependencies.cc", + "src/compiler/compilation-dependencies.h", + "src/compiler/compiler-source-position-table.cc", + "src/compiler/compiler-source-position-table.h", + "src/compiler/constant-folding-reducer.cc", + "src/compiler/constant-folding-reducer.h", + "src/compiler/control-equivalence.cc", + "src/compiler/control-equivalence.h", + "src/compiler/control-flow-optimizer.cc", + "src/compiler/control-flow-optimizer.h", + "src/compiler/dead-code-elimination.cc", + "src/compiler/dead-code-elimination.h", + "src/compiler/diamond.h", + "src/compiler/effect-control-linearizer.cc", + "src/compiler/effect-control-linearizer.h", + "src/compiler/escape-analysis-reducer.cc", + "src/compiler/escape-analysis-reducer.h", + "src/compiler/escape-analysis.cc", + "src/compiler/escape-analysis.h", + "src/compiler/frame-states.cc", + "src/compiler/frame-states.h", + "src/compiler/frame.cc", + "src/compiler/frame.h", + "src/compiler/functional-list.h", + "src/compiler/graph-assembler.cc", + "src/compiler/graph-assembler.h", + "src/compiler/graph-reducer.cc", + "src/compiler/graph-reducer.h", + "src/compiler/graph-trimmer.cc", + "src/compiler/graph-trimmer.h", + "src/compiler/graph-visualizer.cc", + "src/compiler/graph-visualizer.h", + "src/compiler/graph.cc", + "src/compiler/graph.h", + "src/compiler/int64-lowering.cc", + "src/compiler/int64-lowering.h", + "src/compiler/js-call-reducer.cc", + "src/compiler/js-call-reducer.h", + "src/compiler/js-context-specialization.cc", + "src/compiler/js-context-specialization.h", + "src/compiler/js-create-lowering.cc", + "src/compiler/js-create-lowering.h", + "src/compiler/js-generic-lowering.cc", + "src/compiler/js-generic-lowering.h", + "src/compiler/js-graph.cc", + "src/compiler/js-graph.h", + "src/compiler/js-heap-broker.cc", + "src/compiler/js-heap-broker.h", + "src/compiler/js-heap-copy-reducer.cc", + "src/compiler/js-heap-copy-reducer.h", + "src/compiler/js-inlining-heuristic.cc", + "src/compiler/js-inlining-heuristic.h", + "src/compiler/js-inlining.cc", + "src/compiler/js-inlining.h", + "src/compiler/js-intrinsic-lowering.cc", + "src/compiler/js-intrinsic-lowering.h", + "src/compiler/js-native-context-specialization.cc", + "src/compiler/js-native-context-specialization.h", + "src/compiler/js-operator.cc", + "src/compiler/js-operator.h", + "src/compiler/js-type-hint-lowering.cc", + "src/compiler/js-type-hint-lowering.h", + "src/compiler/js-typed-lowering.cc", + "src/compiler/js-typed-lowering.h", + "src/compiler/linkage.cc", + "src/compiler/linkage.h", + "src/compiler/load-elimination.cc", + "src/compiler/load-elimination.h", + "src/compiler/loop-analysis.cc", + "src/compiler/loop-analysis.h", + "src/compiler/loop-peeling.cc", + "src/compiler/loop-peeling.h", + "src/compiler/loop-variable-optimizer.cc", + "src/compiler/loop-variable-optimizer.h", + "src/compiler/machine-graph-verifier.cc", + "src/compiler/machine-graph-verifier.h", + "src/compiler/machine-graph.cc", + "src/compiler/machine-graph.h", + "src/compiler/machine-operator-reducer.cc", + "src/compiler/machine-operator-reducer.h", + "src/compiler/machine-operator.cc", + "src/compiler/machine-operator.h", + "src/compiler/memory-optimizer.cc", + "src/compiler/memory-optimizer.h", + "src/compiler/node-aux-data.h", + "src/compiler/node-cache.cc", + "src/compiler/node-cache.h", + "src/compiler/node-marker.cc", + "src/compiler/node-marker.h", + "src/compiler/node-matchers.cc", + "src/compiler/node-matchers.h", + "src/compiler/node-origin-table.cc", + "src/compiler/node-origin-table.h", + "src/compiler/node-properties.cc", + "src/compiler/node-properties.h", + "src/compiler/node.cc", + "src/compiler/node.h", + "src/compiler/opcodes.cc", + "src/compiler/opcodes.h", + "src/compiler/operation-typer.cc", + "src/compiler/operation-typer.h", + "src/compiler/operator-properties.cc", + "src/compiler/operator-properties.h", + "src/compiler/operator.cc", + "src/compiler/operator.h", + "src/compiler/osr.cc", + "src/compiler/osr.h", + "src/compiler/per-isolate-compiler-cache.h", + "src/compiler/persistent-map.h", + "src/compiler/pipeline-statistics.cc", + "src/compiler/pipeline-statistics.h", + "src/compiler/pipeline.cc", + "src/compiler/pipeline.h", + "src/compiler/property-access-builder.cc", + "src/compiler/property-access-builder.h", + "src/compiler/raw-machine-assembler.cc", + "src/compiler/raw-machine-assembler.h", + "src/compiler/redundancy-elimination.cc", + "src/compiler/redundancy-elimination.h", + "src/compiler/refs-map.cc", + "src/compiler/refs-map.h", + "src/compiler/representation-change.cc", + "src/compiler/representation-change.h", + "src/compiler/schedule.cc", + "src/compiler/schedule.h", + "src/compiler/scheduler.cc", + "src/compiler/scheduler.h", + "src/compiler/select-lowering.cc", + "src/compiler/select-lowering.h", + "src/compiler/serializer-for-background-compilation.cc", + "src/compiler/serializer-for-background-compilation.h", + "src/compiler/simd-scalar-lowering.cc", + "src/compiler/simd-scalar-lowering.h", + "src/compiler/simplified-lowering.cc", + "src/compiler/simplified-lowering.h", + "src/compiler/simplified-operator-reducer.cc", + "src/compiler/simplified-operator-reducer.h", + "src/compiler/simplified-operator.cc", + "src/compiler/simplified-operator.h", + "src/compiler/state-values-utils.cc", + "src/compiler/state-values-utils.h", + "src/compiler/store-store-elimination.cc", + "src/compiler/store-store-elimination.h", + "src/compiler/type-cache.cc", + "src/compiler/type-cache.h", + "src/compiler/type-narrowing-reducer.cc", + "src/compiler/type-narrowing-reducer.h", + "src/compiler/typed-optimization.cc", + "src/compiler/typed-optimization.h", + "src/compiler/typer.cc", + "src/compiler/typer.h", + "src/compiler/types.cc", + "src/compiler/types.h", + "src/compiler/value-numbering-reducer.cc", + "src/compiler/value-numbering-reducer.h", + "src/compiler/verifier.cc", + "src/compiler/verifier.h", + "src/compiler/wasm-compiler.cc", + "src/compiler/wasm-compiler.h", + "src/compiler/zone-stats.cc", + "src/compiler/zone-stats.h", +] + +# The src/compiler files with optimizations. +v8_source_set("v8_compiler_opt") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = v8_compiler_sources + + public_deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_maybe_icu", + ] + + if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { + # The :no_optimize config is added to v8_add_configs in v8.gni. + remove_configs = [ "//build/config/compiler:no_optimize" ] + configs = [ ":always_optimize" ] + } else { + # Without this else branch, gn fails to generate build files for non-debug + # builds (because we try to remove a config that is not present). + # So we include it, even if this config is not used outside of debug builds. + configs = [ ":internal_config" ] + } +} + +# The src/compiler files with default optimization behavior. +v8_source_set("v8_compiler") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = v8_compiler_sources + + public_deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_maybe_icu", + ] + + configs = [ ":internal_config" ] +} + +group("v8_compiler_for_mksnapshot") { + if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { + deps = [ + ":v8_compiler_opt", + ] + } else { + deps = [ + ":v8_compiler", + ] + } +} + +v8_source_set("v8_base_without_compiler") { visibility = [ ":*" ] # Only targets in this file can depend on this. # Split static libraries on windows into two. @@ -1741,222 +2093,6 @@ v8_source_set("v8_base") { "src/compiler-dispatcher/optimizing-compile-dispatcher.h", "src/compiler.cc", "src/compiler.h", - "src/compiler/access-builder.cc", - "src/compiler/access-builder.h", - "src/compiler/access-info.cc", - "src/compiler/access-info.h", - "src/compiler/all-nodes.cc", - "src/compiler/all-nodes.h", - "src/compiler/allocation-builder-inl.h", - "src/compiler/allocation-builder.h", - "src/compiler/backend/code-generator-impl.h", - "src/compiler/backend/code-generator.cc", - "src/compiler/backend/code-generator.h", - "src/compiler/backend/frame-elider.cc", - "src/compiler/backend/frame-elider.h", - "src/compiler/backend/gap-resolver.cc", - "src/compiler/backend/gap-resolver.h", - "src/compiler/backend/instruction-codes.h", - "src/compiler/backend/instruction-scheduler.cc", - "src/compiler/backend/instruction-scheduler.h", - "src/compiler/backend/instruction-selector-impl.h", - "src/compiler/backend/instruction-selector.cc", - "src/compiler/backend/instruction-selector.h", - "src/compiler/backend/instruction.cc", - "src/compiler/backend/instruction.h", - "src/compiler/backend/jump-threading.cc", - "src/compiler/backend/jump-threading.h", - "src/compiler/backend/live-range-separator.cc", - "src/compiler/backend/live-range-separator.h", - "src/compiler/backend/move-optimizer.cc", - "src/compiler/backend/move-optimizer.h", - "src/compiler/backend/register-allocator-verifier.cc", - "src/compiler/backend/register-allocator-verifier.h", - "src/compiler/backend/register-allocator.cc", - "src/compiler/backend/register-allocator.h", - "src/compiler/backend/unwinding-info-writer.h", - "src/compiler/basic-block-instrumentor.cc", - "src/compiler/basic-block-instrumentor.h", - "src/compiler/branch-elimination.cc", - "src/compiler/branch-elimination.h", - "src/compiler/bytecode-analysis.cc", - "src/compiler/bytecode-analysis.h", - "src/compiler/bytecode-graph-builder.cc", - "src/compiler/bytecode-graph-builder.h", - "src/compiler/bytecode-liveness-map.cc", - "src/compiler/bytecode-liveness-map.h", - "src/compiler/c-linkage.cc", - "src/compiler/checkpoint-elimination.cc", - "src/compiler/checkpoint-elimination.h", - "src/compiler/code-assembler.cc", - "src/compiler/code-assembler.h", - "src/compiler/common-node-cache.cc", - "src/compiler/common-node-cache.h", - "src/compiler/common-operator-reducer.cc", - "src/compiler/common-operator-reducer.h", - "src/compiler/common-operator.cc", - "src/compiler/common-operator.h", - "src/compiler/compilation-dependencies.cc", - "src/compiler/compilation-dependencies.h", - "src/compiler/compiler-source-position-table.cc", - "src/compiler/compiler-source-position-table.h", - "src/compiler/constant-folding-reducer.cc", - "src/compiler/constant-folding-reducer.h", - "src/compiler/control-equivalence.cc", - "src/compiler/control-equivalence.h", - "src/compiler/control-flow-optimizer.cc", - "src/compiler/control-flow-optimizer.h", - "src/compiler/dead-code-elimination.cc", - "src/compiler/dead-code-elimination.h", - "src/compiler/diamond.h", - "src/compiler/effect-control-linearizer.cc", - "src/compiler/effect-control-linearizer.h", - "src/compiler/escape-analysis-reducer.cc", - "src/compiler/escape-analysis-reducer.h", - "src/compiler/escape-analysis.cc", - "src/compiler/escape-analysis.h", - "src/compiler/frame-states.cc", - "src/compiler/frame-states.h", - "src/compiler/frame.cc", - "src/compiler/frame.h", - "src/compiler/functional-list.h", - "src/compiler/graph-assembler.cc", - "src/compiler/graph-assembler.h", - "src/compiler/graph-reducer.cc", - "src/compiler/graph-reducer.h", - "src/compiler/graph-trimmer.cc", - "src/compiler/graph-trimmer.h", - "src/compiler/graph-visualizer.cc", - "src/compiler/graph-visualizer.h", - "src/compiler/graph.cc", - "src/compiler/graph.h", - "src/compiler/int64-lowering.cc", - "src/compiler/int64-lowering.h", - "src/compiler/js-call-reducer.cc", - "src/compiler/js-call-reducer.h", - "src/compiler/js-context-specialization.cc", - "src/compiler/js-context-specialization.h", - "src/compiler/js-create-lowering.cc", - "src/compiler/js-create-lowering.h", - "src/compiler/js-generic-lowering.cc", - "src/compiler/js-generic-lowering.h", - "src/compiler/js-graph.cc", - "src/compiler/js-graph.h", - "src/compiler/js-heap-broker.cc", - "src/compiler/js-heap-broker.h", - "src/compiler/js-heap-copy-reducer.cc", - "src/compiler/js-heap-copy-reducer.h", - "src/compiler/js-inlining-heuristic.cc", - "src/compiler/js-inlining-heuristic.h", - "src/compiler/js-inlining.cc", - "src/compiler/js-inlining.h", - "src/compiler/js-intrinsic-lowering.cc", - "src/compiler/js-intrinsic-lowering.h", - "src/compiler/js-native-context-specialization.cc", - "src/compiler/js-native-context-specialization.h", - "src/compiler/js-operator.cc", - "src/compiler/js-operator.h", - "src/compiler/js-type-hint-lowering.cc", - "src/compiler/js-type-hint-lowering.h", - "src/compiler/js-typed-lowering.cc", - "src/compiler/js-typed-lowering.h", - "src/compiler/linkage.cc", - "src/compiler/linkage.h", - "src/compiler/load-elimination.cc", - "src/compiler/load-elimination.h", - "src/compiler/loop-analysis.cc", - "src/compiler/loop-analysis.h", - "src/compiler/loop-peeling.cc", - "src/compiler/loop-peeling.h", - "src/compiler/loop-variable-optimizer.cc", - "src/compiler/loop-variable-optimizer.h", - "src/compiler/machine-graph-verifier.cc", - "src/compiler/machine-graph-verifier.h", - "src/compiler/machine-graph.cc", - "src/compiler/machine-graph.h", - "src/compiler/machine-operator-reducer.cc", - "src/compiler/machine-operator-reducer.h", - "src/compiler/machine-operator.cc", - "src/compiler/machine-operator.h", - "src/compiler/memory-optimizer.cc", - "src/compiler/memory-optimizer.h", - "src/compiler/node-aux-data.h", - "src/compiler/node-cache.cc", - "src/compiler/node-cache.h", - "src/compiler/node-marker.cc", - "src/compiler/node-marker.h", - "src/compiler/node-matchers.cc", - "src/compiler/node-matchers.h", - "src/compiler/node-origin-table.cc", - "src/compiler/node-origin-table.h", - "src/compiler/node-properties.cc", - "src/compiler/node-properties.h", - "src/compiler/node.cc", - "src/compiler/node.h", - "src/compiler/opcodes.cc", - "src/compiler/opcodes.h", - "src/compiler/operation-typer.cc", - "src/compiler/operation-typer.h", - "src/compiler/operator-properties.cc", - "src/compiler/operator-properties.h", - "src/compiler/operator.cc", - "src/compiler/operator.h", - "src/compiler/osr.cc", - "src/compiler/osr.h", - "src/compiler/per-isolate-compiler-cache.h", - "src/compiler/persistent-map.h", - "src/compiler/pipeline-statistics.cc", - "src/compiler/pipeline-statistics.h", - "src/compiler/pipeline.cc", - "src/compiler/pipeline.h", - "src/compiler/property-access-builder.cc", - "src/compiler/property-access-builder.h", - "src/compiler/raw-machine-assembler.cc", - "src/compiler/raw-machine-assembler.h", - "src/compiler/redundancy-elimination.cc", - "src/compiler/redundancy-elimination.h", - "src/compiler/refs-map.cc", - "src/compiler/refs-map.h", - "src/compiler/representation-change.cc", - "src/compiler/representation-change.h", - "src/compiler/schedule.cc", - "src/compiler/schedule.h", - "src/compiler/scheduler.cc", - "src/compiler/scheduler.h", - "src/compiler/select-lowering.cc", - "src/compiler/select-lowering.h", - "src/compiler/serializer-for-background-compilation.cc", - "src/compiler/serializer-for-background-compilation.h", - "src/compiler/simd-scalar-lowering.cc", - "src/compiler/simd-scalar-lowering.h", - "src/compiler/simplified-lowering.cc", - "src/compiler/simplified-lowering.h", - "src/compiler/simplified-operator-reducer.cc", - "src/compiler/simplified-operator-reducer.h", - "src/compiler/simplified-operator.cc", - "src/compiler/simplified-operator.h", - "src/compiler/state-values-utils.cc", - "src/compiler/state-values-utils.h", - "src/compiler/store-store-elimination.cc", - "src/compiler/store-store-elimination.h", - "src/compiler/type-cache.cc", - "src/compiler/type-cache.h", - "src/compiler/type-narrowing-reducer.cc", - "src/compiler/type-narrowing-reducer.h", - "src/compiler/typed-optimization.cc", - "src/compiler/typed-optimization.h", - "src/compiler/typer.cc", - "src/compiler/typer.h", - "src/compiler/types.cc", - "src/compiler/types.h", - "src/compiler/value-numbering-reducer.cc", - "src/compiler/value-numbering-reducer.h", - "src/compiler/verifier.cc", - "src/compiler/verifier.h", - "src/compiler/wasm-compiler.cc", - "src/compiler/wasm-compiler.h", - "src/compiler/zone-stats.cc", - "src/compiler/zone-stats.h", "src/constant-pool.cc", "src/constant-pool.h", "src/constants-arch.h", @@ -1966,6 +2102,7 @@ v8_source_set("v8_base") { "src/conversions-inl.h", "src/conversions.cc", "src/conversions.h", + "src/counters-definitions.h", "src/counters-inl.h", "src/counters.cc", "src/counters.h", @@ -2268,7 +2405,6 @@ v8_source_set("v8_base") { "src/objects/arguments.h", "src/objects/bigint.cc", "src/objects/bigint.h", - "src/objects/builtin-function-id.h", "src/objects/cell-inl.h", "src/objects/cell.h", "src/objects/code-inl.h", @@ -2319,6 +2455,7 @@ v8_source_set("v8_base") { "src/objects/js-collator.cc", "src/objects/js-collator.h", "src/objects/js-collection-inl.h", + "src/objects/js-collection-iterator.h", "src/objects/js-collection.h", "src/objects/js-date-time-format-inl.h", "src/objects/js-date-time-format.cc", @@ -2480,8 +2617,6 @@ v8_source_set("v8_base") { "src/profiler/tick-sample.h", "src/profiler/tracing-cpu-profiler.cc", "src/profiler/tracing-cpu-profiler.h", - "src/profiler/unbound-queue-inl.h", - "src/profiler/unbound-queue.h", "src/property-descriptor.cc", "src/property-descriptor.h", "src/property-details.h", @@ -2650,6 +2785,7 @@ v8_source_set("v8_base") { "src/turbo-assembler.h", "src/type-hints.cc", "src/type-hints.h", + "src/type-traits.h", "src/unicode-cache.h", "src/unicode-decoder.cc", "src/unicode-decoder.h", @@ -2695,7 +2831,7 @@ v8_source_set("v8_base") { "src/wasm/function-compiler.h", "src/wasm/graph-builder-interface.cc", "src/wasm/graph-builder-interface.h", - "src/wasm/js-to-wasm-wrapper-cache-inl.h", + "src/wasm/js-to-wasm-wrapper-cache.h", "src/wasm/jump-table-assembler.cc", "src/wasm/jump-table-assembler.h", "src/wasm/leb-helper.h", @@ -2726,7 +2862,8 @@ v8_source_set("v8_base") { "src/wasm/wasm-feature-flags.h", "src/wasm/wasm-features.cc", "src/wasm/wasm-features.h", - "src/wasm/wasm-import-wrapper-cache-inl.h", + "src/wasm/wasm-import-wrapper-cache.cc", + "src/wasm/wasm-import-wrapper-cache.h", "src/wasm/wasm-interpreter.cc", "src/wasm/wasm-interpreter.h", "src/wasm/wasm-js.cc", @@ -2840,7 +2977,9 @@ v8_source_set("v8_base") { "src/x64/register-x64.h", "src/x64/sse-instr.h", ] - if (is_linux || is_mac) { + # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both + # based on Darwin and thus POSIX-compliant to a similar degree. + if (is_linux || is_mac || is_ios) { sources += [ "src/trap-handler/handler-inside-posix.cc", "src/trap-handler/handler-inside-posix.h", @@ -2852,6 +2991,8 @@ v8_source_set("v8_base") { "src/trap-handler/handler-inside-win.cc", "src/trap-handler/handler-inside-win.h", "src/trap-handler/handler-outside-win.cc", + "src/unwinding-info-win64.cc", + "src/unwinding-info-win64.h", ] } } else if (v8_current_cpu == "arm") { @@ -3046,6 +3187,7 @@ v8_source_set("v8_base") { defines = [] deps = [ + ":torque_generated_definitions", ":v8_headers", ":v8_libbase", ":v8_libsampler", @@ -3057,10 +3199,10 @@ v8_source_set("v8_base") { public_deps = [ ":generate_bytecode_builtins_list", ":run_torque", + ":v8_maybe_icu", ] if (v8_enable_i18n_support) { - public_deps += [ "//third_party/icu" ] if (is_win) { deps += [ "//third_party/icu:icudata" ] } @@ -3119,6 +3261,13 @@ v8_source_set("v8_base") { } } +group("v8_base") { + public_deps = [ + ":v8_base_without_compiler", + ":v8_compiler", + ] +} + v8_source_set("torque_base") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -3161,13 +3310,26 @@ v8_source_set("torque_base") { ] deps = [ - ":v8_libbase", ":v8_shared_internal_headers", ] - configs = [ ":internal_config" ] + public_deps = [ + ":v8_libbase", + ] + + configs = [ + ":internal_config", + "//build/config/compiler:exceptions", + "//build/config/compiler:rtti", + ] + + remove_configs = [ + "//build/config/compiler:no_exceptions", + "//build/config/compiler:no_rtti", + ] + if (is_win && is_asan) { - remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ] + remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ] } } @@ -3185,13 +3347,23 @@ v8_source_set("torque_ls_base") { "src/torque/ls/message.h", ] - deps = [ + public_deps = [ ":torque_base", ] - configs = [ ":internal_config" ] + configs = [ + ":internal_config", + "//build/config/compiler:exceptions", + "//build/config/compiler:rtti", + ] + + remove_configs = [ + "//build/config/compiler:no_exceptions", + "//build/config/compiler:no_rtti", + ] + if (is_win && is_asan) { - remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ] + remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ] } } @@ -3259,8 +3431,6 @@ v8_component("v8_libbase") { "src/base/ring-buffer.h", "src/base/safe_conversions.h", "src/base/safe_conversions_impl.h", - "src/base/safe_math.h", - "src/base/safe_math_impl.h", "src/base/small-vector.h", "src/base/sys-info.cc", "src/base/sys-info.h", @@ -3352,7 +3522,7 @@ v8_component("v8_libbase") { "src/base/debug/stack_trace_fuchsia.cc", "src/base/platform/platform-fuchsia.cc", ] - } else if (is_mac) { + } else if (is_mac || is_ios) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-macos.cc", @@ -3369,7 +3539,6 @@ v8_component("v8_libbase") { libs = [ "dbghelp.lib", - "shlwapi.lib", "winmm.lib", "ws2_32.lib", ] @@ -3404,6 +3573,8 @@ v8_component("v8_libplatform") { "src/libplatform/default-platform.h", "src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.h", + "src/libplatform/delayed-task-queue.cc", + "src/libplatform/delayed-task-queue.h", "src/libplatform/task-queue.cc", "src/libplatform/task-queue.h", "src/libplatform/tracing/trace-buffer.cc", @@ -3429,6 +3600,9 @@ v8_component("v8_libplatform") { ":v8_headers", ":v8_libbase", ] + if (v8_use_perfetto) { + deps += [ "third_party/perfetto:libperfetto" ] + } } v8_source_set("v8_libsampler") { @@ -3463,11 +3637,8 @@ v8_source_set("fuzzer_support") { public_deps = [ ":v8_libbase", ":v8_libplatform", + ":v8_maybe_icu", ] - - if (v8_enable_i18n_support) { - public_deps += [ "//third_party/icu" ] - } } ############################################################################### @@ -3493,6 +3664,27 @@ if (v8_monolithic) { } } +v8_static_library("wee8") { + deps = [ + ":v8_base", + ":v8_libbase", + ":v8_libplatform", + ":v8_libsampler", + ":v8_maybe_snapshot", + "//build/win:default_exe_manifest", + ] + + # TODO: v8dll-main.cc equivalent for shared library builds + + configs = [ ":internal_config" ] + + sources = [ + "src/wasm/c-api.cc", + "third_party/wasm-c-api/wasm.h", + "third_party/wasm-c-api/wasm.hh", + ] +} + ############################################################################### # Executables # @@ -3533,7 +3725,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] deps = [ - ":v8_base", + ":v8_base_without_compiler", + ":v8_compiler_for_mksnapshot", ":v8_init", ":v8_libbase", ":v8_libplatform", @@ -3543,6 +3736,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { if (target_os == "fuchsia") { defines = [ "V8_TARGET_OS_FUCHSIA" ] + } else if (target_os == "win") { + defines = [ "V8_TARGET_OS_WIN" ] } } } @@ -3560,9 +3755,19 @@ if (current_toolchain == v8_snapshot_toolchain) { "//build/win:default_exe_manifest", ] - configs = [ ":internal_config" ] + configs = [ + ":internal_config", + "//build/config/compiler:exceptions", + "//build/config/compiler:rtti", + ] + + remove_configs = [ + "//build/config/compiler:no_exceptions", + "//build/config/compiler:no_rtti", + ] + if (is_win && is_asan) { - remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ] + remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ] } } } @@ -3580,9 +3785,19 @@ v8_executable("torque-language-server") { "//build/win:default_exe_manifest", ] - configs = [ ":internal_config" ] + configs = [ + ":internal_config", + "//build/config/compiler:exceptions", + "//build/config/compiler:rtti", + ] + + remove_configs = [ + "//build/config/compiler:no_exceptions", + "//build/config/compiler:no_rtti", + ] + if (is_win && is_asan) { - remove_configs = [ "//build/config/sanitizers:default_sanitizer_flags" ] + remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ] } } @@ -3973,11 +4188,9 @@ v8_source_set("wasm_module_runner") { ":run_torque", ] - if (v8_enable_i18n_support) { - public_deps = [ - "//third_party/icu", - ] - } + public_deps = [ + ":v8_maybe_icu", + ] configs = [ ":external_config", @@ -4057,11 +4270,9 @@ v8_source_set("lib_wasm_fuzzer_common") { ":run_torque", ] - if (v8_enable_i18n_support) { - public_deps = [ - "//third_party/icu", - ] - } + public_deps = [ + ":v8_maybe_icu", + ] configs = [ ":external_config", @@ -4102,3 +4313,260 @@ group("v8_generated_cc_files") { "test/cctest:v8_generated_cc_files", ] } + +# Protobuf targets, used only when building outside of chromium. + +if (!build_with_chromium && v8_use_perfetto) { + # This config is applied to the autogenerated .pb.{cc,h} files in + # proto_library.gni. This config is propagated up to the source sets + # that depend on generated proto headers. + config("protobuf_gen_config") { + defines = [ + "GOOGLE_PROTOBUF_NO_RTTI", + "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER", + ] + cflags = [ + # Using -isystem instead of include_dirs (-I), so we don't need to suppress + # warnings coming from libprotobuf headers. Doing so would mask warnings in + # our own code. + "-isystem", + rebase_path("third_party/protobuf/src", root_build_dir), + "-Wno-unknown-warning-option", + "-Wno-deprecated", + "-Wno-undef", + "-Wno-zero-as-null-pointer-constant", + ] + } + + # Configuration used to build libprotobuf_* and the protoc compiler. + config("protobuf_config") { + # Apply the lighter supressions and macro definitions from above. + configs = [ ":protobuf_gen_config" ] + + defines = [ "HAVE_PTHREAD=1" ] + if (is_clang) { + cflags = [ + "-Wno-unused-private-field", + "-Wno-unused-function", + "-Wno-inconsistent-missing-override", + "-Wno-unknown-warning-option", + "-Wno-enum-compare-switch", + "-Wno-user-defined-warnings", + "-Wno-tautological-constant-compare", + ] + } + } + + source_set("protobuf_lite") { + sources = [ + "third_party/protobuf/src/google/protobuf/any_lite.cc", + "third_party/protobuf/src/google/protobuf/arena.cc", + "third_party/protobuf/src/google/protobuf/extension_set.cc", + "third_party/protobuf/src/google/protobuf/generated_message_table_driven_lite.cc", + "third_party/protobuf/src/google/protobuf/generated_message_util.cc", + "third_party/protobuf/src/google/protobuf/implicit_weak_message.cc", + "third_party/protobuf/src/google/protobuf/io/coded_stream.cc", + "third_party/protobuf/src/google/protobuf/io/strtod.cc", + "third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc", + "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc", + "third_party/protobuf/src/google/protobuf/message_lite.cc", + "third_party/protobuf/src/google/protobuf/repeated_field.cc", + "third_party/protobuf/src/google/protobuf/stubs/bytestream.cc", + "third_party/protobuf/src/google/protobuf/stubs/common.cc", + "third_party/protobuf/src/google/protobuf/stubs/int128.cc", + "third_party/protobuf/src/google/protobuf/stubs/io_win32.cc", + "third_party/protobuf/src/google/protobuf/stubs/status.cc", + "third_party/protobuf/src/google/protobuf/stubs/statusor.cc", + "third_party/protobuf/src/google/protobuf/stubs/stringpiece.cc", + "third_party/protobuf/src/google/protobuf/stubs/stringprintf.cc", + "third_party/protobuf/src/google/protobuf/stubs/structurally_valid.cc", + "third_party/protobuf/src/google/protobuf/stubs/strutil.cc", + "third_party/protobuf/src/google/protobuf/stubs/time.cc", + "third_party/protobuf/src/google/protobuf/wire_format_lite.cc", + ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + "//build/config/compiler:no_chromium_code", + ":protobuf_config", + ] + public_configs = [ ":protobuf_gen_config" ] + } + + # This target should be used only by the protoc compiler and by test targets. + source_set("protobuf_full") { + deps = [ + ":protobuf_lite", + ] + sources = [ + "third_party/protobuf/src/google/protobuf/any.cc", + "third_party/protobuf/src/google/protobuf/any.pb.cc", + "third_party/protobuf/src/google/protobuf/api.pb.cc", + "third_party/protobuf/src/google/protobuf/compiler/importer.cc", + "third_party/protobuf/src/google/protobuf/compiler/parser.cc", + "third_party/protobuf/src/google/protobuf/descriptor.cc", + "third_party/protobuf/src/google/protobuf/descriptor.pb.cc", + "third_party/protobuf/src/google/protobuf/descriptor_database.cc", + "third_party/protobuf/src/google/protobuf/duration.pb.cc", + "third_party/protobuf/src/google/protobuf/dynamic_message.cc", + "third_party/protobuf/src/google/protobuf/empty.pb.cc", + "third_party/protobuf/src/google/protobuf/extension_set_heavy.cc", + "third_party/protobuf/src/google/protobuf/field_mask.pb.cc", + "third_party/protobuf/src/google/protobuf/generated_message_reflection.cc", + "third_party/protobuf/src/google/protobuf/generated_message_table_driven.cc", + "third_party/protobuf/src/google/protobuf/io/gzip_stream.cc", + "third_party/protobuf/src/google/protobuf/io/printer.cc", + "third_party/protobuf/src/google/protobuf/io/tokenizer.cc", + "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc", + "third_party/protobuf/src/google/protobuf/map_field.cc", + "third_party/protobuf/src/google/protobuf/message.cc", + "third_party/protobuf/src/google/protobuf/reflection_ops.cc", + "third_party/protobuf/src/google/protobuf/service.cc", + "third_party/protobuf/src/google/protobuf/source_context.pb.cc", + "third_party/protobuf/src/google/protobuf/struct.pb.cc", + "third_party/protobuf/src/google/protobuf/stubs/mathlimits.cc", + "third_party/protobuf/src/google/protobuf/stubs/substitute.cc", + "third_party/protobuf/src/google/protobuf/text_format.cc", + "third_party/protobuf/src/google/protobuf/timestamp.pb.cc", + "third_party/protobuf/src/google/protobuf/type.pb.cc", + "third_party/protobuf/src/google/protobuf/unknown_field_set.cc", + "third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc", + "third_party/protobuf/src/google/protobuf/util/field_comparator.cc", + "third_party/protobuf/src/google/protobuf/util/field_mask_util.cc", + "third_party/protobuf/src/google/protobuf/util/internal/datapiece.cc", + "third_party/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc", + "third_party/protobuf/src/google/protobuf/util/internal/error_listener.cc", + "third_party/protobuf/src/google/protobuf/util/internal/field_mask_utility.cc", + "third_party/protobuf/src/google/protobuf/util/internal/json_escaping.cc", + "third_party/protobuf/src/google/protobuf/util/internal/json_objectwriter.cc", + "third_party/protobuf/src/google/protobuf/util/internal/json_stream_parser.cc", + "third_party/protobuf/src/google/protobuf/util/internal/object_writer.cc", + "third_party/protobuf/src/google/protobuf/util/internal/proto_writer.cc", + "third_party/protobuf/src/google/protobuf/util/internal/protostream_objectsource.cc", + "third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter.cc", + "third_party/protobuf/src/google/protobuf/util/internal/type_info.cc", + "third_party/protobuf/src/google/protobuf/util/internal/type_info_test_helper.cc", + "third_party/protobuf/src/google/protobuf/util/internal/utility.cc", + "third_party/protobuf/src/google/protobuf/util/json_util.cc", + "third_party/protobuf/src/google/protobuf/util/message_differencer.cc", + "third_party/protobuf/src/google/protobuf/util/time_util.cc", + "third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc", + "third_party/protobuf/src/google/protobuf/wire_format.cc", + "third_party/protobuf/src/google/protobuf/wrappers.pb.cc", + ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + "//build/config/compiler:no_chromium_code", + ":protobuf_config", + ] + public_configs = [ ":protobuf_gen_config" ] + } + + if (current_toolchain == host_toolchain) { + source_set("protoc_lib") { + deps = [ + ":protobuf_full", + ] + sources = [ + "third_party/protobuf/src/google/protobuf/compiler/code_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/command_line_interface.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc", + "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_enum.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", + "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_context.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_enum.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_extension.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_extension_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_file.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_map_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message_builder.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message_field_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_string_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/java/java_string_field_lite.cc", + "third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/js/well_known_types_embed.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", + "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", + "third_party/protobuf/src/google/protobuf/compiler/php/php_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/plugin.cc", + "third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc", + "third_party/protobuf/src/google/protobuf/compiler/python/python_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc", + "third_party/protobuf/src/google/protobuf/compiler/subprocess.cc", + "third_party/protobuf/src/google/protobuf/compiler/zip_writer.cc", + ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + "//build/config/compiler:no_chromium_code", + ":protobuf_config", + ] + public_configs = [ ":protobuf_gen_config" ] + } + + executable("protoc") { + deps = [ + ":protoc_lib", + "//build/win:default_exe_manifest", + ] + sources = [ + "third_party/protobuf/src/google/protobuf/compiler/main.cc", + ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + } + } # host_toolchain +} # if (!build_with_chromium && v8_use_perfetto) |