M115 stage 1

This commit is contained in:
Alexander Frick 2023-08-10 23:44:29 -05:00
parent b008d035a8
commit aed36482ba
8 changed files with 482 additions and 348 deletions

View file

@ -307,7 +307,7 @@ declare_args() {
# Enable heap reservation of size 4GB. Only possible for 64bit archs. # Enable heap reservation of size 4GB. Only possible for 64bit archs.
cppgc_enable_caged_heap = cppgc_enable_caged_heap =
v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "x64" || v8_current_cpu == "arm64" ||
v8_current_cpu == "loong64" v8_current_cpu == "loong64" || v8_current_cpu == "riscv64"
# Enables additional heap verification phases and checks. # Enables additional heap verification phases and checks.
cppgc_enable_verify_heap = "" cppgc_enable_verify_heap = ""
@ -662,7 +662,8 @@ assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
"Write barriers can't be both enabled and disabled") "Write barriers can't be both enabled and disabled")
assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" || assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" ||
v8_current_cpu == "arm64" || v8_current_cpu == "loong64", v8_current_cpu == "arm64" || v8_current_cpu == "loong64" ||
v8_current_cpu == "riscv64",
"CppGC caged heap requires 64bit platforms") "CppGC caged heap requires 64bit platforms")
assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap, assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap,
@ -893,6 +894,7 @@ external_cppgc_defines = [
"CPPGC_SLIM_WRITE_BARRIER", "CPPGC_SLIM_WRITE_BARRIER",
"CPPGC_YOUNG_GENERATION", "CPPGC_YOUNG_GENERATION",
"CPPGC_POINTER_COMPRESSION", "CPPGC_POINTER_COMPRESSION",
"CPPGC_ENABLE_LARGER_CAGE",
] ]
enabled_external_cppgc_defines = [] enabled_external_cppgc_defines = []
@ -920,6 +922,9 @@ if (cppgc_enable_pointer_compression) {
if (cppgc_enable_2gb_cage) { if (cppgc_enable_2gb_cage) {
enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ] enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ]
} }
if (cppgc_enable_larger_cage) {
enabled_external_cppgc_defines += [ "CPPGC_ENABLE_LARGER_CAGE" ]
}
if (cppgc_enable_slim_write_barrier) { if (cppgc_enable_slim_write_barrier) {
enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ] enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ]
} }
@ -1950,6 +1955,7 @@ torque_files = [
"src/objects/module.tq", "src/objects/module.tq",
"src/objects/name.tq", "src/objects/name.tq",
"src/objects/oddball.tq", "src/objects/oddball.tq",
"src/objects/hole.tq",
"src/objects/ordered-hash-table.tq", "src/objects/ordered-hash-table.tq",
"src/objects/primitive-heap-object.tq", "src/objects/primitive-heap-object.tq",
"src/objects/promise.tq", "src/objects/promise.tq",
@ -2412,65 +2418,94 @@ action("v8_dump_build_config") {
outputs = [ "$root_out_dir/v8_build_config.json" ] outputs = [ "$root_out_dir/v8_build_config.json" ]
is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on
is_full_debug = v8_enable_debugging_features && !v8_optimized_debug is_full_debug = v8_enable_debugging_features && !v8_optimized_debug
arch = v8_target_cpu
if (v8_target_cpu == "x86") {
arch = "ia32"
}
mips_arch_variant_var = ""
mips_use_msa_var = false
if (arch == "mips64" || arch == "mips64el") {
mips_arch_variant_var = mips_arch_variant
mips_use_msa_var = mips_use_msa
}
js_shared_memory =
v8_enable_shared_ro_heap && (!v8_enable_pointer_compression ||
v8_enable_pointer_compression_shared_cage) &&
!v8_disable_write_barriers
simd_mips = mips_arch_variant_var == "r6" && mips_use_msa
simulator_run = target_cpu != v8_target_cpu
use_sanitizer = is_asan || is_cfi || is_msan || is_tsan || is_ubsan
# This lists all build-time switches consumed by the test framework. All
# switches can be used automatically in the status files as is - no
# further files need to be modified.
#
# Naming conventions: Keep switch names short and remove unnecessary
# qualifiers. Drop v8_enable_, v8_, is_ where possible.
# Keep only qualifiers that disambiguate the switches from other things.
# Examples: has_turbofan disambiguates from the turbofan runtime variant,
# is_android disambiguates from the android keyword in status files,
# v8_cfi disambiguates from the global cfi flag.
args = [ args = [
rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
"arch=\"$arch\"",
"asan=$is_asan",
"atomic_object_field_writes=$v8_enable_atomic_object_field_writes",
"cet_shadow_stack=$v8_enable_cet_shadow_stack",
"cfi=$is_cfi",
"clang=$is_clang",
"clang_coverage=$use_clang_coverage",
"code_comments=$v8_code_comments",
"component_build=$is_component_build",
"concurrent_marking=$v8_enable_concurrent_marking",
"conservative_stack_scanning=$v8_enable_conservative_stack_scanning",
"current_cpu=\"$current_cpu\"", "current_cpu=\"$current_cpu\"",
"dcheck_always_on=$dcheck_always_on", "dcheck_always_on=$dcheck_always_on",
"debug_code=$v8_enable_debug_code",
"DEBUG_defined=$is_DEBUG_defined",
"debugging_features=$v8_enable_debugging_features",
"dict_property_const_tracking=$v8_dict_property_const_tracking",
"direct_local=$v8_enable_direct_local",
"disassembler=$v8_enable_disassembler",
"full_debug=$is_full_debug",
"gdbjit=$v8_enable_gdbjit",
"has_jitless=$v8_jitless",
"has_maglev=$v8_enable_maglev",
"has_turbofan=$v8_enable_turbofan",
"has_webassembly=$v8_enable_webassembly",
"i18n=$v8_enable_i18n_support",
"is_android=$is_android", "is_android=$is_android",
"is_asan=$is_asan", "is_ios=$is_ios",
"is_cfi=$is_cfi", "js_shared_memory=$js_shared_memory",
"is_clang=$is_clang", "lite_mode=$v8_enable_lite_mode",
"is_clang_coverage=$use_clang_coverage", "mips_arch_variant=\"$mips_arch_variant_var\"",
"is_component_build=$is_component_build", "mips_use_msa=$mips_use_msa_var",
"is_debug=$v8_enable_debugging_features", "msan=$is_msan",
"is_DEBUG_defined=$is_DEBUG_defined", "official_build=$is_official_build",
"is_full_debug=$is_full_debug", "pointer_compression=$v8_enable_pointer_compression",
"is_msan=$is_msan", "pointer_compression_shared_cage=$v8_enable_pointer_compression_shared_cage",
"is_tsan=$is_tsan", "runtime_call_stats=$v8_enable_runtime_call_stats",
"is_ubsan_vptr=$is_ubsan_vptr", "sandbox=$v8_enable_sandbox",
"shared_ro_heap=$v8_enable_shared_ro_heap",
"simd_mips=$simd_mips",
"simulator_run=$simulator_run",
"single_generation=$v8_enable_single_generation",
"slow_dchecks=$v8_enable_slow_dchecks",
"target_cpu=\"$target_cpu\"", "target_cpu=\"$target_cpu\"",
"v8_code_comments=$v8_code_comments", "third_party_heap=$v8_enable_third_party_heap",
"v8_control_flow_integrity=$v8_control_flow_integrity", "tsan=$is_tsan",
"ubsan=$is_ubsan",
"use_sanitizer=$use_sanitizer",
"v8_cfi=$v8_control_flow_integrity",
"v8_current_cpu=\"$v8_current_cpu\"", "v8_current_cpu=\"$v8_current_cpu\"",
"v8_dict_property_const_tracking=$v8_dict_property_const_tracking",
"v8_disable_write_barriers=$v8_disable_write_barriers",
"v8_enable_atomic_object_field_writes=" +
"$v8_enable_atomic_object_field_writes",
"v8_enable_cet_shadow_stack=$v8_enable_cet_shadow_stack",
"v8_enable_concurrent_marking=$v8_enable_concurrent_marking",
"v8_enable_conservative_stack_scanning=" +
"$v8_enable_conservative_stack_scanning",
"v8_enable_debug_code=$v8_enable_debug_code",
"v8_enable_direct_local=$v8_enable_direct_local",
"v8_enable_disassembler=$v8_enable_disassembler",
"v8_enable_gdbjit=$v8_enable_gdbjit",
"v8_enable_i18n_support=$v8_enable_i18n_support",
"v8_enable_lite_mode=$v8_enable_lite_mode",
"v8_enable_maglev=$v8_enable_maglev",
"v8_enable_pointer_compression=$v8_enable_pointer_compression",
"v8_enable_pointer_compression_shared_cage=" +
"$v8_enable_pointer_compression_shared_cage",
"v8_enable_runtime_call_stats=$v8_enable_runtime_call_stats",
"v8_enable_sandbox=$v8_enable_sandbox",
"v8_enable_shared_ro_heap=$v8_enable_shared_ro_heap",
"v8_enable_single_generation=$v8_enable_single_generation",
"v8_enable_slow_dchecks=$v8_enable_slow_dchecks",
"v8_enable_third_party_heap=$v8_enable_third_party_heap",
"v8_enable_turbofan=$v8_enable_turbofan",
"v8_enable_verify_csa=$v8_enable_verify_csa",
"v8_enable_verify_heap=$v8_enable_verify_heap",
"v8_enable_verify_predictable=$v8_enable_verify_predictable",
"v8_enable_webassembly=$v8_enable_webassembly",
"v8_jitless=$v8_jitless",
"v8_target_cpu=\"$v8_target_cpu\"", "v8_target_cpu=\"$v8_target_cpu\"",
"verify_csa=$v8_enable_verify_csa",
"verify_heap=$v8_enable_verify_heap",
"verify_predictable=$v8_enable_verify_predictable",
] ]
if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
args += [
"mips_arch_variant=\"$mips_arch_variant\"",
"mips_use_msa=$mips_use_msa",
]
}
} }
############################################################################### ###############################################################################
@ -3080,6 +3115,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/operator-properties.h", "src/compiler/operator-properties.h",
"src/compiler/operator.h", "src/compiler/operator.h",
"src/compiler/osr.h", "src/compiler/osr.h",
"src/compiler/pair-load-store-reducer.h",
"src/compiler/per-isolate-compiler-cache.h", "src/compiler/per-isolate-compiler-cache.h",
"src/compiler/persistent-map.h", "src/compiler/persistent-map.h",
"src/compiler/phase.h", "src/compiler/phase.h",
@ -3120,7 +3156,6 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/graph.h", "src/compiler/turboshaft/graph.h",
"src/compiler/turboshaft/index.h", "src/compiler/turboshaft/index.h",
"src/compiler/turboshaft/late-escape-analysis-reducer.h", "src/compiler/turboshaft/late-escape-analysis-reducer.h",
"src/compiler/turboshaft/late-optimization-phase.h",
"src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/layered-hash-map.h",
"src/compiler/turboshaft/machine-lowering-phase.h", "src/compiler/turboshaft/machine-lowering-phase.h",
"src/compiler/turboshaft/machine-lowering-reducer.h", "src/compiler/turboshaft/machine-lowering-reducer.h",
@ -3131,6 +3166,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimization-phase.h",
"src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/optimize-phase.h",
"src/compiler/turboshaft/phase.h", "src/compiler/turboshaft/phase.h",
"src/compiler/turboshaft/pretenuring-propagation-reducer.h",
"src/compiler/turboshaft/recreate-schedule-phase.h", "src/compiler/turboshaft/recreate-schedule-phase.h",
"src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/recreate-schedule.h",
"src/compiler/turboshaft/reducer-traits.h", "src/compiler/turboshaft/reducer-traits.h",
@ -3140,8 +3176,9 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/sidetable.h", "src/compiler/turboshaft/sidetable.h",
"src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/simplify-tf-loops.h",
"src/compiler/turboshaft/snapshot-table.h", "src/compiler/turboshaft/snapshot-table.h",
"src/compiler/turboshaft/store-store-elimination-phase.h",
"src/compiler/turboshaft/store-store-elimination-reducer.h",
"src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/structural-optimization-reducer.h",
"src/compiler/turboshaft/tag-untag-lowering-phase.h",
"src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h",
"src/compiler/turboshaft/tracing.h", "src/compiler/turboshaft/tracing.h",
"src/compiler/turboshaft/type-assertions-phase.h", "src/compiler/turboshaft/type-assertions-phase.h",
@ -3274,6 +3311,7 @@ v8_header_set("v8_internal_headers") {
"src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/unified-heap-marking-visitor.h",
"src/heap/cppgc-js/wrappable-info-inl.h", "src/heap/cppgc-js/wrappable-info-inl.h",
"src/heap/cppgc-js/wrappable-info.h", "src/heap/cppgc-js/wrappable-info.h",
"src/heap/ephemeron-remembered-set.h",
"src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-allocator-inl.h",
"src/heap/evacuation-allocator.h", "src/heap/evacuation-allocator.h",
"src/heap/evacuation-verifier-inl.h", "src/heap/evacuation-verifier-inl.h",
@ -3301,8 +3339,6 @@ v8_header_set("v8_internal_headers") {
"src/heap/incremental-marking-job.h", "src/heap/incremental-marking-job.h",
"src/heap/incremental-marking.h", "src/heap/incremental-marking.h",
"src/heap/index-generator.h", "src/heap/index-generator.h",
"src/heap/invalidated-slots-inl.h",
"src/heap/invalidated-slots.h",
"src/heap/large-spaces.h", "src/heap/large-spaces.h",
"src/heap/linear-allocation-area.h", "src/heap/linear-allocation-area.h",
"src/heap/list.h", "src/heap/list.h",
@ -3475,6 +3511,8 @@ v8_header_set("v8_internal_headers") {
"src/objects/heap-number.h", "src/objects/heap-number.h",
"src/objects/heap-object-inl.h", "src/objects/heap-object-inl.h",
"src/objects/heap-object.h", "src/objects/heap-object.h",
"src/objects/hole-inl.h",
"src/objects/hole.h",
"src/objects/instance-type-inl.h", "src/objects/instance-type-inl.h",
"src/objects/instance-type.h", "src/objects/instance-type.h",
"src/objects/internal-index.h", "src/objects/internal-index.h",
@ -3693,6 +3731,8 @@ v8_header_set("v8_internal_headers") {
"src/runtime/runtime.h", "src/runtime/runtime.h",
"src/sandbox/bounded-size-inl.h", "src/sandbox/bounded-size-inl.h",
"src/sandbox/bounded-size.h", "src/sandbox/bounded-size.h",
"src/sandbox/external-entity-table-inl.h",
"src/sandbox/external-entity-table.h",
"src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-inl.h",
"src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table-inl.h",
"src/sandbox/external-pointer-table.h", "src/sandbox/external-pointer-table.h",
@ -3829,6 +3869,7 @@ v8_header_set("v8_internal_headers") {
"src/asmjs/asm-scanner.h", "src/asmjs/asm-scanner.h",
"src/asmjs/asm-types.h", "src/asmjs/asm-types.h",
"src/compiler/int64-lowering.h", "src/compiler/int64-lowering.h",
"src/compiler/wasm-address-reassociation.h",
"src/compiler/wasm-call-descriptors.h", "src/compiler/wasm-call-descriptors.h",
"src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler-definitions.h",
"src/compiler/wasm-compiler.h", "src/compiler/wasm-compiler.h",
@ -3846,7 +3887,6 @@ v8_header_set("v8_internal_headers") {
"src/third_party/utf8-decoder/generalized-utf8-decoder.h", "src/third_party/utf8-decoder/generalized-utf8-decoder.h",
"src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler-internal.h",
"src/trap-handler/trap-handler.h", "src/trap-handler/trap-handler.h",
"src/wasm/assembler-buffer-cache.h",
"src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler-defs.h",
"src/wasm/baseline/liftoff-assembler.h", "src/wasm/baseline/liftoff-assembler.h",
"src/wasm/baseline/liftoff-compiler.h", "src/wasm/baseline/liftoff-compiler.h",
@ -4370,6 +4410,7 @@ v8_compiler_sources = [
"src/compiler/operator-properties.cc", "src/compiler/operator-properties.cc",
"src/compiler/operator.cc", "src/compiler/operator.cc",
"src/compiler/osr.cc", "src/compiler/osr.cc",
"src/compiler/pair-load-store-reducer.cc",
"src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.cc",
"src/compiler/pipeline.cc", "src/compiler/pipeline.cc",
"src/compiler/property-access-builder.cc", "src/compiler/property-access-builder.cc",
@ -4486,6 +4527,7 @@ if (v8_current_cpu == "x86") {
if (v8_enable_webassembly) { if (v8_enable_webassembly) {
v8_compiler_sources += [ v8_compiler_sources += [
"src/compiler/int64-lowering.cc", "src/compiler/int64-lowering.cc",
"src/compiler/wasm-address-reassociation.cc",
"src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-call-descriptors.cc",
"src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.cc",
"src/compiler/wasm-escape-analysis.cc", "src/compiler/wasm-escape-analysis.cc",
@ -4585,18 +4627,18 @@ v8_source_set("v8_turboshaft") {
"src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph-visualizer.cc",
"src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/graph.cc",
"src/compiler/turboshaft/late-escape-analysis-reducer.cc", "src/compiler/turboshaft/late-escape-analysis-reducer.cc",
"src/compiler/turboshaft/late-optimization-phase.cc",
"src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.cc",
"src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/memory-optimization-reducer.cc",
"src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/operations.cc",
"src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimization-phase.cc",
"src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/optimize-phase.cc",
"src/compiler/turboshaft/phase.cc", "src/compiler/turboshaft/phase.cc",
"src/compiler/turboshaft/pretenuring-propagation-reducer.cc",
"src/compiler/turboshaft/recreate-schedule-phase.cc", "src/compiler/turboshaft/recreate-schedule-phase.cc",
"src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/recreate-schedule.cc",
"src/compiler/turboshaft/representations.cc", "src/compiler/turboshaft/representations.cc",
"src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.cc",
"src/compiler/turboshaft/tag-untag-lowering-phase.cc", "src/compiler/turboshaft/store-store-elimination-phase.cc",
"src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-assertions-phase.cc",
"src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/type-parser.cc",
"src/compiler/turboshaft/typed-optimizations-phase.cc", "src/compiler/turboshaft/typed-optimizations-phase.cc",
@ -4820,6 +4862,7 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/cppgc-js/unified-heap-marking-state.cc", "src/heap/cppgc-js/unified-heap-marking-state.cc",
"src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
"src/heap/cppgc-js/unified-heap-marking-visitor.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
"src/heap/ephemeron-remembered-set.cc",
"src/heap/evacuation-verifier.cc", "src/heap/evacuation-verifier.cc",
"src/heap/factory-base.cc", "src/heap/factory-base.cc",
"src/heap/factory.cc", "src/heap/factory.cc",
@ -4836,7 +4879,6 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.cc",
"src/heap/incremental-marking.cc", "src/heap/incremental-marking.cc",
"src/heap/index-generator.cc", "src/heap/index-generator.cc",
"src/heap/invalidated-slots.cc",
"src/heap/large-spaces.cc", "src/heap/large-spaces.cc",
"src/heap/local-factory.cc", "src/heap/local-factory.cc",
"src/heap/local-heap.cc", "src/heap/local-heap.cc",
@ -5156,7 +5198,6 @@ v8_source_set("v8_base_without_compiler") {
"src/trap-handler/handler-inside.cc", "src/trap-handler/handler-inside.cc",
"src/trap-handler/handler-outside.cc", "src/trap-handler/handler-outside.cc",
"src/trap-handler/handler-shared.cc", "src/trap-handler/handler-shared.cc",
"src/wasm/assembler-buffer-cache.cc",
"src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-assembler.cc",
"src/wasm/baseline/liftoff-compiler.cc", "src/wasm/baseline/liftoff-compiler.cc",
"src/wasm/canonical-types.cc", "src/wasm/canonical-types.cc",
@ -5556,13 +5597,6 @@ v8_source_set("v8_base_without_compiler") {
] ]
deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ] deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
group("v8_base") { group("v8_base") {
@ -5723,6 +5757,7 @@ v8_component("v8_libbase") {
"src/base/cpu.h", "src/base/cpu.h",
"src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.cc",
"src/base/debug/stack_trace.h", "src/base/debug/stack_trace.h",
"src/base/discriminated-union.h",
"src/base/division-by-constant.cc", "src/base/division-by-constant.cc",
"src/base/division-by-constant.h", "src/base/division-by-constant.h",
"src/base/emulated-virtual-address-subspace.cc", "src/base/emulated-virtual-address-subspace.cc",
@ -5827,6 +5862,8 @@ v8_component("v8_libbase") {
deps = [ ":v8_config_headers" ] deps = [ ":v8_config_headers" ]
libs = []
data = [] data = []
data_deps = [] data_deps = []
@ -5917,6 +5954,7 @@ v8_component("v8_libbase") {
sources += [ sources += [
"src/base/debug/stack_trace_win.cc", "src/base/debug/stack_trace_win.cc",
"src/base/platform/platform-win32.cc", "src/base/platform/platform-win32.cc",
"src/base/platform/platform-win32.h",
"src/base/win32-headers.h", "src/base/win32-headers.h",
] ]
@ -6002,6 +6040,8 @@ v8_component("v8_libplatform") {
"src/libplatform/default-job.h", "src/libplatform/default-job.h",
"src/libplatform/default-platform.cc", "src/libplatform/default-platform.cc",
"src/libplatform/default-platform.h", "src/libplatform/default-platform.h",
"src/libplatform/default-thread-isolated-allocator.cc",
"src/libplatform/default-thread-isolated-allocator.h",
"src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.cc",
"src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/default-worker-threads-task-runner.h",
"src/libplatform/delayed-task-queue.cc", "src/libplatform/delayed-task-queue.cc",
@ -6362,6 +6402,13 @@ v8_source_set("cppgc_base") {
} else { } else {
public_deps += [ ":v8_tracing" ] public_deps += [ ":v8_tracing" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
if (v8_check_header_includes) { if (v8_check_header_includes) {
@ -6732,7 +6779,6 @@ group("v8_fuzzers") {
":v8_simple_inspector_fuzzer", ":v8_simple_inspector_fuzzer",
":v8_simple_json_fuzzer", ":v8_simple_json_fuzzer",
":v8_simple_parser_fuzzer", ":v8_simple_parser_fuzzer",
":v8_simple_regexp_builtins_fuzzer",
":v8_simple_regexp_fuzzer", ":v8_simple_regexp_fuzzer",
] ]
@ -7053,23 +7099,6 @@ v8_source_set("parser_fuzzer") {
v8_fuzzer("parser_fuzzer") { v8_fuzzer("parser_fuzzer") {
} }
v8_source_set("regexp_builtins_fuzzer") {
sources = [
"test/fuzzer/regexp-builtins.cc",
"test/fuzzer/regexp_builtins/mjsunit.js.h",
]
deps = [ ":fuzzer_support" ]
configs = [
":external_config",
":internal_config_base",
]
}
v8_fuzzer("regexp_builtins_fuzzer") {
}
v8_source_set("regexp_fuzzer") { v8_source_set("regexp_fuzzer") {
sources = [ "test/fuzzer/regexp.cc" ] sources = [ "test/fuzzer/regexp.cc" ]

View file

@ -307,7 +307,7 @@ declare_args() {
# Enable heap reservation of size 4GB. Only possible for 64bit archs. # Enable heap reservation of size 4GB. Only possible for 64bit archs.
cppgc_enable_caged_heap = cppgc_enable_caged_heap =
v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "x64" || v8_current_cpu == "arm64" ||
v8_current_cpu == "loong64" v8_current_cpu == "loong64" || v8_current_cpu == "riscv64"
# Enables additional heap verification phases and checks. # Enables additional heap verification phases and checks.
cppgc_enable_verify_heap = "" cppgc_enable_verify_heap = ""
@ -662,7 +662,8 @@ assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
"Write barriers can't be both enabled and disabled") "Write barriers can't be both enabled and disabled")
assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" || assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" ||
v8_current_cpu == "arm64" || v8_current_cpu == "loong64", v8_current_cpu == "arm64" || v8_current_cpu == "loong64" ||
v8_current_cpu == "riscv64",
"CppGC caged heap requires 64bit platforms") "CppGC caged heap requires 64bit platforms")
assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap, assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap,
@ -893,6 +894,7 @@ external_cppgc_defines = [
"CPPGC_SLIM_WRITE_BARRIER", "CPPGC_SLIM_WRITE_BARRIER",
"CPPGC_YOUNG_GENERATION", "CPPGC_YOUNG_GENERATION",
"CPPGC_POINTER_COMPRESSION", "CPPGC_POINTER_COMPRESSION",
"CPPGC_ENABLE_LARGER_CAGE",
] ]
enabled_external_cppgc_defines = [] enabled_external_cppgc_defines = []
@ -920,6 +922,9 @@ if (cppgc_enable_pointer_compression) {
if (cppgc_enable_2gb_cage) { if (cppgc_enable_2gb_cage) {
enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ] enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ]
} }
if (cppgc_enable_larger_cage) {
enabled_external_cppgc_defines += [ "CPPGC_ENABLE_LARGER_CAGE" ]
}
if (cppgc_enable_slim_write_barrier) { if (cppgc_enable_slim_write_barrier) {
enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ] enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ]
} }
@ -1950,6 +1955,7 @@ torque_files = [
"src/objects/module.tq", "src/objects/module.tq",
"src/objects/name.tq", "src/objects/name.tq",
"src/objects/oddball.tq", "src/objects/oddball.tq",
"src/objects/hole.tq",
"src/objects/ordered-hash-table.tq", "src/objects/ordered-hash-table.tq",
"src/objects/primitive-heap-object.tq", "src/objects/primitive-heap-object.tq",
"src/objects/promise.tq", "src/objects/promise.tq",
@ -2412,65 +2418,94 @@ action("v8_dump_build_config") {
outputs = [ "$root_out_dir/v8_build_config.json" ] outputs = [ "$root_out_dir/v8_build_config.json" ]
is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on
is_full_debug = v8_enable_debugging_features && !v8_optimized_debug is_full_debug = v8_enable_debugging_features && !v8_optimized_debug
arch = v8_target_cpu
if (v8_target_cpu == "x86") {
arch = "ia32"
}
mips_arch_variant_var = ""
mips_use_msa_var = false
if (arch == "mips64" || arch == "mips64el") {
mips_arch_variant_var = mips_arch_variant
mips_use_msa_var = mips_use_msa
}
js_shared_memory =
v8_enable_shared_ro_heap && (!v8_enable_pointer_compression ||
v8_enable_pointer_compression_shared_cage) &&
!v8_disable_write_barriers
simd_mips = mips_arch_variant_var == "r6" && mips_use_msa
simulator_run = target_cpu != v8_target_cpu
use_sanitizer = is_asan || is_cfi || is_msan || is_tsan || is_ubsan
# This lists all build-time switches consumed by the test framework. All
# switches can be used automatically in the status files as is - no
# further files need to be modified.
#
# Naming conventions: Keep switch names short and remove unnecessary
# qualifiers. Drop v8_enable_, v8_, is_ where possible.
# Keep only qualifiers that disambiguate the switches from other things.
# Examples: has_turbofan disambiguates from the turbofan runtime variant,
# is_android disambiguates from the android keyword in status files,
# v8_cfi disambiguates from the global cfi flag.
args = [ args = [
rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
"arch=\"$arch\"",
"asan=$is_asan",
"atomic_object_field_writes=$v8_enable_atomic_object_field_writes",
"cet_shadow_stack=$v8_enable_cet_shadow_stack",
"cfi=$is_cfi",
"clang=$is_clang",
"clang_coverage=$use_clang_coverage",
"code_comments=$v8_code_comments",
"component_build=$is_component_build",
"concurrent_marking=$v8_enable_concurrent_marking",
"conservative_stack_scanning=$v8_enable_conservative_stack_scanning",
"current_cpu=\"$current_cpu\"", "current_cpu=\"$current_cpu\"",
"dcheck_always_on=$dcheck_always_on", "dcheck_always_on=$dcheck_always_on",
"debug_code=$v8_enable_debug_code",
"DEBUG_defined=$is_DEBUG_defined",
"debugging_features=$v8_enable_debugging_features",
"dict_property_const_tracking=$v8_dict_property_const_tracking",
"direct_local=$v8_enable_direct_local",
"disassembler=$v8_enable_disassembler",
"full_debug=$is_full_debug",
"gdbjit=$v8_enable_gdbjit",
"has_jitless=$v8_jitless",
"has_maglev=$v8_enable_maglev",
"has_turbofan=$v8_enable_turbofan",
"has_webassembly=$v8_enable_webassembly",
"i18n=$v8_enable_i18n_support",
"is_android=$is_android", "is_android=$is_android",
"is_asan=$is_asan", "is_ios=$is_ios",
"is_cfi=$is_cfi", "js_shared_memory=$js_shared_memory",
"is_clang=$is_clang", "lite_mode=$v8_enable_lite_mode",
"is_clang_coverage=$use_clang_coverage", "mips_arch_variant=\"$mips_arch_variant_var\"",
"is_component_build=$is_component_build", "mips_use_msa=$mips_use_msa_var",
"is_debug=$v8_enable_debugging_features", "msan=$is_msan",
"is_DEBUG_defined=$is_DEBUG_defined", "official_build=$is_official_build",
"is_full_debug=$is_full_debug", "pointer_compression=$v8_enable_pointer_compression",
"is_msan=$is_msan", "pointer_compression_shared_cage=$v8_enable_pointer_compression_shared_cage",
"is_tsan=$is_tsan", "runtime_call_stats=$v8_enable_runtime_call_stats",
"is_ubsan_vptr=$is_ubsan_vptr", "sandbox=$v8_enable_sandbox",
"shared_ro_heap=$v8_enable_shared_ro_heap",
"simd_mips=$simd_mips",
"simulator_run=$simulator_run",
"single_generation=$v8_enable_single_generation",
"slow_dchecks=$v8_enable_slow_dchecks",
"target_cpu=\"$target_cpu\"", "target_cpu=\"$target_cpu\"",
"v8_code_comments=$v8_code_comments", "third_party_heap=$v8_enable_third_party_heap",
"v8_control_flow_integrity=$v8_control_flow_integrity", "tsan=$is_tsan",
"ubsan=$is_ubsan",
"use_sanitizer=$use_sanitizer",
"v8_cfi=$v8_control_flow_integrity",
"v8_current_cpu=\"$v8_current_cpu\"", "v8_current_cpu=\"$v8_current_cpu\"",
"v8_dict_property_const_tracking=$v8_dict_property_const_tracking",
"v8_disable_write_barriers=$v8_disable_write_barriers",
"v8_enable_atomic_object_field_writes=" +
"$v8_enable_atomic_object_field_writes",
"v8_enable_cet_shadow_stack=$v8_enable_cet_shadow_stack",
"v8_enable_concurrent_marking=$v8_enable_concurrent_marking",
"v8_enable_conservative_stack_scanning=" +
"$v8_enable_conservative_stack_scanning",
"v8_enable_debug_code=$v8_enable_debug_code",
"v8_enable_direct_local=$v8_enable_direct_local",
"v8_enable_disassembler=$v8_enable_disassembler",
"v8_enable_gdbjit=$v8_enable_gdbjit",
"v8_enable_i18n_support=$v8_enable_i18n_support",
"v8_enable_lite_mode=$v8_enable_lite_mode",
"v8_enable_maglev=$v8_enable_maglev",
"v8_enable_pointer_compression=$v8_enable_pointer_compression",
"v8_enable_pointer_compression_shared_cage=" +
"$v8_enable_pointer_compression_shared_cage",
"v8_enable_runtime_call_stats=$v8_enable_runtime_call_stats",
"v8_enable_sandbox=$v8_enable_sandbox",
"v8_enable_shared_ro_heap=$v8_enable_shared_ro_heap",
"v8_enable_single_generation=$v8_enable_single_generation",
"v8_enable_slow_dchecks=$v8_enable_slow_dchecks",
"v8_enable_third_party_heap=$v8_enable_third_party_heap",
"v8_enable_turbofan=$v8_enable_turbofan",
"v8_enable_verify_csa=$v8_enable_verify_csa",
"v8_enable_verify_heap=$v8_enable_verify_heap",
"v8_enable_verify_predictable=$v8_enable_verify_predictable",
"v8_enable_webassembly=$v8_enable_webassembly",
"v8_jitless=$v8_jitless",
"v8_target_cpu=\"$v8_target_cpu\"", "v8_target_cpu=\"$v8_target_cpu\"",
"verify_csa=$v8_enable_verify_csa",
"verify_heap=$v8_enable_verify_heap",
"verify_predictable=$v8_enable_verify_predictable",
] ]
if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
args += [
"mips_arch_variant=\"$mips_arch_variant\"",
"mips_use_msa=$mips_use_msa",
]
}
} }
############################################################################### ###############################################################################
@ -3080,6 +3115,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/operator-properties.h", "src/compiler/operator-properties.h",
"src/compiler/operator.h", "src/compiler/operator.h",
"src/compiler/osr.h", "src/compiler/osr.h",
"src/compiler/pair-load-store-reducer.h",
"src/compiler/per-isolate-compiler-cache.h", "src/compiler/per-isolate-compiler-cache.h",
"src/compiler/persistent-map.h", "src/compiler/persistent-map.h",
"src/compiler/phase.h", "src/compiler/phase.h",
@ -3120,7 +3156,6 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/graph.h", "src/compiler/turboshaft/graph.h",
"src/compiler/turboshaft/index.h", "src/compiler/turboshaft/index.h",
"src/compiler/turboshaft/late-escape-analysis-reducer.h", "src/compiler/turboshaft/late-escape-analysis-reducer.h",
"src/compiler/turboshaft/late-optimization-phase.h",
"src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/layered-hash-map.h",
"src/compiler/turboshaft/machine-lowering-phase.h", "src/compiler/turboshaft/machine-lowering-phase.h",
"src/compiler/turboshaft/machine-lowering-reducer.h", "src/compiler/turboshaft/machine-lowering-reducer.h",
@ -3131,6 +3166,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimization-phase.h",
"src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/optimize-phase.h",
"src/compiler/turboshaft/phase.h", "src/compiler/turboshaft/phase.h",
"src/compiler/turboshaft/pretenuring-propagation-reducer.h",
"src/compiler/turboshaft/recreate-schedule-phase.h", "src/compiler/turboshaft/recreate-schedule-phase.h",
"src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/recreate-schedule.h",
"src/compiler/turboshaft/reducer-traits.h", "src/compiler/turboshaft/reducer-traits.h",
@ -3140,8 +3176,9 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/sidetable.h", "src/compiler/turboshaft/sidetable.h",
"src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/simplify-tf-loops.h",
"src/compiler/turboshaft/snapshot-table.h", "src/compiler/turboshaft/snapshot-table.h",
"src/compiler/turboshaft/store-store-elimination-phase.h",
"src/compiler/turboshaft/store-store-elimination-reducer.h",
"src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/structural-optimization-reducer.h",
"src/compiler/turboshaft/tag-untag-lowering-phase.h",
"src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h",
"src/compiler/turboshaft/tracing.h", "src/compiler/turboshaft/tracing.h",
"src/compiler/turboshaft/type-assertions-phase.h", "src/compiler/turboshaft/type-assertions-phase.h",
@ -3274,6 +3311,7 @@ v8_header_set("v8_internal_headers") {
"src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/unified-heap-marking-visitor.h",
"src/heap/cppgc-js/wrappable-info-inl.h", "src/heap/cppgc-js/wrappable-info-inl.h",
"src/heap/cppgc-js/wrappable-info.h", "src/heap/cppgc-js/wrappable-info.h",
"src/heap/ephemeron-remembered-set.h",
"src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-allocator-inl.h",
"src/heap/evacuation-allocator.h", "src/heap/evacuation-allocator.h",
"src/heap/evacuation-verifier-inl.h", "src/heap/evacuation-verifier-inl.h",
@ -3301,8 +3339,6 @@ v8_header_set("v8_internal_headers") {
"src/heap/incremental-marking-job.h", "src/heap/incremental-marking-job.h",
"src/heap/incremental-marking.h", "src/heap/incremental-marking.h",
"src/heap/index-generator.h", "src/heap/index-generator.h",
"src/heap/invalidated-slots-inl.h",
"src/heap/invalidated-slots.h",
"src/heap/large-spaces.h", "src/heap/large-spaces.h",
"src/heap/linear-allocation-area.h", "src/heap/linear-allocation-area.h",
"src/heap/list.h", "src/heap/list.h",
@ -3475,6 +3511,8 @@ v8_header_set("v8_internal_headers") {
"src/objects/heap-number.h", "src/objects/heap-number.h",
"src/objects/heap-object-inl.h", "src/objects/heap-object-inl.h",
"src/objects/heap-object.h", "src/objects/heap-object.h",
"src/objects/hole-inl.h",
"src/objects/hole.h",
"src/objects/instance-type-inl.h", "src/objects/instance-type-inl.h",
"src/objects/instance-type.h", "src/objects/instance-type.h",
"src/objects/internal-index.h", "src/objects/internal-index.h",
@ -3693,6 +3731,8 @@ v8_header_set("v8_internal_headers") {
"src/runtime/runtime.h", "src/runtime/runtime.h",
"src/sandbox/bounded-size-inl.h", "src/sandbox/bounded-size-inl.h",
"src/sandbox/bounded-size.h", "src/sandbox/bounded-size.h",
"src/sandbox/external-entity-table-inl.h",
"src/sandbox/external-entity-table.h",
"src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-inl.h",
"src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table-inl.h",
"src/sandbox/external-pointer-table.h", "src/sandbox/external-pointer-table.h",
@ -3829,6 +3869,7 @@ v8_header_set("v8_internal_headers") {
"src/asmjs/asm-scanner.h", "src/asmjs/asm-scanner.h",
"src/asmjs/asm-types.h", "src/asmjs/asm-types.h",
"src/compiler/int64-lowering.h", "src/compiler/int64-lowering.h",
"src/compiler/wasm-address-reassociation.h",
"src/compiler/wasm-call-descriptors.h", "src/compiler/wasm-call-descriptors.h",
"src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler-definitions.h",
"src/compiler/wasm-compiler.h", "src/compiler/wasm-compiler.h",
@ -3846,7 +3887,6 @@ v8_header_set("v8_internal_headers") {
"src/third_party/utf8-decoder/generalized-utf8-decoder.h", "src/third_party/utf8-decoder/generalized-utf8-decoder.h",
"src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler-internal.h",
"src/trap-handler/trap-handler.h", "src/trap-handler/trap-handler.h",
"src/wasm/assembler-buffer-cache.h",
"src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler-defs.h",
"src/wasm/baseline/liftoff-assembler.h", "src/wasm/baseline/liftoff-assembler.h",
"src/wasm/baseline/liftoff-compiler.h", "src/wasm/baseline/liftoff-compiler.h",
@ -4370,6 +4410,7 @@ v8_compiler_sources = [
"src/compiler/operator-properties.cc", "src/compiler/operator-properties.cc",
"src/compiler/operator.cc", "src/compiler/operator.cc",
"src/compiler/osr.cc", "src/compiler/osr.cc",
"src/compiler/pair-load-store-reducer.cc",
"src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.cc",
"src/compiler/pipeline.cc", "src/compiler/pipeline.cc",
"src/compiler/property-access-builder.cc", "src/compiler/property-access-builder.cc",
@ -4486,6 +4527,7 @@ if (v8_current_cpu == "x86") {
if (v8_enable_webassembly) { if (v8_enable_webassembly) {
v8_compiler_sources += [ v8_compiler_sources += [
"src/compiler/int64-lowering.cc", "src/compiler/int64-lowering.cc",
"src/compiler/wasm-address-reassociation.cc",
"src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-call-descriptors.cc",
"src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.cc",
"src/compiler/wasm-escape-analysis.cc", "src/compiler/wasm-escape-analysis.cc",
@ -4585,18 +4627,18 @@ v8_source_set("v8_turboshaft") {
"src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph-visualizer.cc",
"src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/graph.cc",
"src/compiler/turboshaft/late-escape-analysis-reducer.cc", "src/compiler/turboshaft/late-escape-analysis-reducer.cc",
"src/compiler/turboshaft/late-optimization-phase.cc",
"src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.cc",
"src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/memory-optimization-reducer.cc",
"src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/operations.cc",
"src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimization-phase.cc",
"src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/optimize-phase.cc",
"src/compiler/turboshaft/phase.cc", "src/compiler/turboshaft/phase.cc",
"src/compiler/turboshaft/pretenuring-propagation-reducer.cc",
"src/compiler/turboshaft/recreate-schedule-phase.cc", "src/compiler/turboshaft/recreate-schedule-phase.cc",
"src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/recreate-schedule.cc",
"src/compiler/turboshaft/representations.cc", "src/compiler/turboshaft/representations.cc",
"src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.cc",
"src/compiler/turboshaft/tag-untag-lowering-phase.cc", "src/compiler/turboshaft/store-store-elimination-phase.cc",
"src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-assertions-phase.cc",
"src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/type-parser.cc",
"src/compiler/turboshaft/typed-optimizations-phase.cc", "src/compiler/turboshaft/typed-optimizations-phase.cc",
@ -4820,6 +4862,7 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/cppgc-js/unified-heap-marking-state.cc", "src/heap/cppgc-js/unified-heap-marking-state.cc",
"src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
"src/heap/cppgc-js/unified-heap-marking-visitor.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
"src/heap/ephemeron-remembered-set.cc",
"src/heap/evacuation-verifier.cc", "src/heap/evacuation-verifier.cc",
"src/heap/factory-base.cc", "src/heap/factory-base.cc",
"src/heap/factory.cc", "src/heap/factory.cc",
@ -4836,7 +4879,6 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.cc",
"src/heap/incremental-marking.cc", "src/heap/incremental-marking.cc",
"src/heap/index-generator.cc", "src/heap/index-generator.cc",
"src/heap/invalidated-slots.cc",
"src/heap/large-spaces.cc", "src/heap/large-spaces.cc",
"src/heap/local-factory.cc", "src/heap/local-factory.cc",
"src/heap/local-heap.cc", "src/heap/local-heap.cc",
@ -5156,7 +5198,6 @@ v8_source_set("v8_base_without_compiler") {
"src/trap-handler/handler-inside.cc", "src/trap-handler/handler-inside.cc",
"src/trap-handler/handler-outside.cc", "src/trap-handler/handler-outside.cc",
"src/trap-handler/handler-shared.cc", "src/trap-handler/handler-shared.cc",
"src/wasm/assembler-buffer-cache.cc",
"src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-assembler.cc",
"src/wasm/baseline/liftoff-compiler.cc", "src/wasm/baseline/liftoff-compiler.cc",
"src/wasm/canonical-types.cc", "src/wasm/canonical-types.cc",
@ -5556,13 +5597,6 @@ v8_source_set("v8_base_without_compiler") {
] ]
deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ] deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
group("v8_base") { group("v8_base") {
@ -5723,6 +5757,7 @@ v8_component("v8_libbase") {
"src/base/cpu.h", "src/base/cpu.h",
"src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.cc",
"src/base/debug/stack_trace.h", "src/base/debug/stack_trace.h",
"src/base/discriminated-union.h",
"src/base/division-by-constant.cc", "src/base/division-by-constant.cc",
"src/base/division-by-constant.h", "src/base/division-by-constant.h",
"src/base/emulated-virtual-address-subspace.cc", "src/base/emulated-virtual-address-subspace.cc",
@ -5827,6 +5862,8 @@ v8_component("v8_libbase") {
deps = [ ":v8_config_headers" ] deps = [ ":v8_config_headers" ]
libs = []
data = [] data = []
data_deps = [] data_deps = []
@ -5917,6 +5954,7 @@ v8_component("v8_libbase") {
sources += [ sources += [
"src/base/debug/stack_trace_win.cc", "src/base/debug/stack_trace_win.cc",
"src/base/platform/platform-win32.cc", "src/base/platform/platform-win32.cc",
"src/base/platform/platform-win32.h",
"src/base/win32-headers.h", "src/base/win32-headers.h",
] ]
@ -6002,6 +6040,8 @@ v8_component("v8_libplatform") {
"src/libplatform/default-job.h", "src/libplatform/default-job.h",
"src/libplatform/default-platform.cc", "src/libplatform/default-platform.cc",
"src/libplatform/default-platform.h", "src/libplatform/default-platform.h",
"src/libplatform/default-thread-isolated-allocator.cc",
"src/libplatform/default-thread-isolated-allocator.h",
"src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.cc",
"src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/default-worker-threads-task-runner.h",
"src/libplatform/delayed-task-queue.cc", "src/libplatform/delayed-task-queue.cc",
@ -6362,6 +6402,13 @@ v8_source_set("cppgc_base") {
} else { } else {
public_deps += [ ":v8_tracing" ] public_deps += [ ":v8_tracing" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
if (v8_check_header_includes) { if (v8_check_header_includes) {
@ -6732,7 +6779,6 @@ group("v8_fuzzers") {
":v8_simple_inspector_fuzzer", ":v8_simple_inspector_fuzzer",
":v8_simple_json_fuzzer", ":v8_simple_json_fuzzer",
":v8_simple_parser_fuzzer", ":v8_simple_parser_fuzzer",
":v8_simple_regexp_builtins_fuzzer",
":v8_simple_regexp_fuzzer", ":v8_simple_regexp_fuzzer",
] ]
@ -7053,23 +7099,6 @@ v8_source_set("parser_fuzzer") {
v8_fuzzer("parser_fuzzer") { v8_fuzzer("parser_fuzzer") {
} }
v8_source_set("regexp_builtins_fuzzer") {
sources = [
"test/fuzzer/regexp-builtins.cc",
"test/fuzzer/regexp_builtins/mjsunit.js.h",
]
deps = [ ":fuzzer_support" ]
configs = [
":external_config",
":internal_config_base",
]
}
v8_fuzzer("regexp_builtins_fuzzer") {
}
v8_source_set("regexp_fuzzer") { v8_source_set("regexp_fuzzer") {
sources = [ "test/fuzzer/regexp.cc" ] sources = [ "test/fuzzer/regexp.cc" ]

View file

@ -307,7 +307,7 @@ declare_args() {
# Enable heap reservation of size 4GB. Only possible for 64bit archs. # Enable heap reservation of size 4GB. Only possible for 64bit archs.
cppgc_enable_caged_heap = cppgc_enable_caged_heap =
v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "x64" || v8_current_cpu == "arm64" ||
v8_current_cpu == "loong64" v8_current_cpu == "loong64" || v8_current_cpu == "riscv64"
# Enables additional heap verification phases and checks. # Enables additional heap verification phases and checks.
cppgc_enable_verify_heap = "" cppgc_enable_verify_heap = ""
@ -662,7 +662,8 @@ assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
"Write barriers can't be both enabled and disabled") "Write barriers can't be both enabled and disabled")
assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" || assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" ||
v8_current_cpu == "arm64" || v8_current_cpu == "loong64", v8_current_cpu == "arm64" || v8_current_cpu == "loong64" ||
v8_current_cpu == "riscv64",
"CppGC caged heap requires 64bit platforms") "CppGC caged heap requires 64bit platforms")
assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap, assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap,
@ -893,6 +894,7 @@ external_cppgc_defines = [
"CPPGC_SLIM_WRITE_BARRIER", "CPPGC_SLIM_WRITE_BARRIER",
"CPPGC_YOUNG_GENERATION", "CPPGC_YOUNG_GENERATION",
"CPPGC_POINTER_COMPRESSION", "CPPGC_POINTER_COMPRESSION",
"CPPGC_ENABLE_LARGER_CAGE",
] ]
enabled_external_cppgc_defines = [] enabled_external_cppgc_defines = []
@ -920,6 +922,9 @@ if (cppgc_enable_pointer_compression) {
if (cppgc_enable_2gb_cage) { if (cppgc_enable_2gb_cage) {
enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ] enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ]
} }
if (cppgc_enable_larger_cage) {
enabled_external_cppgc_defines += [ "CPPGC_ENABLE_LARGER_CAGE" ]
}
if (cppgc_enable_slim_write_barrier) { if (cppgc_enable_slim_write_barrier) {
enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ] enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ]
} }
@ -1950,6 +1955,7 @@ torque_files = [
"src/objects/module.tq", "src/objects/module.tq",
"src/objects/name.tq", "src/objects/name.tq",
"src/objects/oddball.tq", "src/objects/oddball.tq",
"src/objects/hole.tq",
"src/objects/ordered-hash-table.tq", "src/objects/ordered-hash-table.tq",
"src/objects/primitive-heap-object.tq", "src/objects/primitive-heap-object.tq",
"src/objects/promise.tq", "src/objects/promise.tq",
@ -2412,65 +2418,94 @@ action("v8_dump_build_config") {
outputs = [ "$root_out_dir/v8_build_config.json" ] outputs = [ "$root_out_dir/v8_build_config.json" ]
is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on
is_full_debug = v8_enable_debugging_features && !v8_optimized_debug is_full_debug = v8_enable_debugging_features && !v8_optimized_debug
arch = v8_target_cpu
if (v8_target_cpu == "x86") {
arch = "ia32"
}
mips_arch_variant_var = ""
mips_use_msa_var = false
if (arch == "mips64" || arch == "mips64el") {
mips_arch_variant_var = mips_arch_variant
mips_use_msa_var = mips_use_msa
}
js_shared_memory =
v8_enable_shared_ro_heap && (!v8_enable_pointer_compression ||
v8_enable_pointer_compression_shared_cage) &&
!v8_disable_write_barriers
simd_mips = mips_arch_variant_var == "r6" && mips_use_msa
simulator_run = target_cpu != v8_target_cpu
use_sanitizer = is_asan || is_cfi || is_msan || is_tsan || is_ubsan
# This lists all build-time switches consumed by the test framework. All
# switches can be used automatically in the status files as is - no
# further files need to be modified.
#
# Naming conventions: Keep switch names short and remove unnecessary
# qualifiers. Drop v8_enable_, v8_, is_ where possible.
# Keep only qualifiers that disambiguate the switches from other things.
# Examples: has_turbofan disambiguates from the turbofan runtime variant,
# is_android disambiguates from the android keyword in status files,
# v8_cfi disambiguates from the global cfi flag.
args = [ args = [
rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
"arch=\"$arch\"",
"asan=$is_asan",
"atomic_object_field_writes=$v8_enable_atomic_object_field_writes",
"cet_shadow_stack=$v8_enable_cet_shadow_stack",
"cfi=$is_cfi",
"clang=$is_clang",
"clang_coverage=$use_clang_coverage",
"code_comments=$v8_code_comments",
"component_build=$is_component_build",
"concurrent_marking=$v8_enable_concurrent_marking",
"conservative_stack_scanning=$v8_enable_conservative_stack_scanning",
"current_cpu=\"$current_cpu\"", "current_cpu=\"$current_cpu\"",
"dcheck_always_on=$dcheck_always_on", "dcheck_always_on=$dcheck_always_on",
"debug_code=$v8_enable_debug_code",
"DEBUG_defined=$is_DEBUG_defined",
"debugging_features=$v8_enable_debugging_features",
"dict_property_const_tracking=$v8_dict_property_const_tracking",
"direct_local=$v8_enable_direct_local",
"disassembler=$v8_enable_disassembler",
"full_debug=$is_full_debug",
"gdbjit=$v8_enable_gdbjit",
"has_jitless=$v8_jitless",
"has_maglev=$v8_enable_maglev",
"has_turbofan=$v8_enable_turbofan",
"has_webassembly=$v8_enable_webassembly",
"i18n=$v8_enable_i18n_support",
"is_android=$is_android", "is_android=$is_android",
"is_asan=$is_asan", "is_ios=$is_ios",
"is_cfi=$is_cfi", "js_shared_memory=$js_shared_memory",
"is_clang=$is_clang", "lite_mode=$v8_enable_lite_mode",
"is_clang_coverage=$use_clang_coverage", "mips_arch_variant=\"$mips_arch_variant_var\"",
"is_component_build=$is_component_build", "mips_use_msa=$mips_use_msa_var",
"is_debug=$v8_enable_debugging_features", "msan=$is_msan",
"is_DEBUG_defined=$is_DEBUG_defined", "official_build=$is_official_build",
"is_full_debug=$is_full_debug", "pointer_compression=$v8_enable_pointer_compression",
"is_msan=$is_msan", "pointer_compression_shared_cage=$v8_enable_pointer_compression_shared_cage",
"is_tsan=$is_tsan", "runtime_call_stats=$v8_enable_runtime_call_stats",
"is_ubsan_vptr=$is_ubsan_vptr", "sandbox=$v8_enable_sandbox",
"shared_ro_heap=$v8_enable_shared_ro_heap",
"simd_mips=$simd_mips",
"simulator_run=$simulator_run",
"single_generation=$v8_enable_single_generation",
"slow_dchecks=$v8_enable_slow_dchecks",
"target_cpu=\"$target_cpu\"", "target_cpu=\"$target_cpu\"",
"v8_code_comments=$v8_code_comments", "third_party_heap=$v8_enable_third_party_heap",
"v8_control_flow_integrity=$v8_control_flow_integrity", "tsan=$is_tsan",
"ubsan=$is_ubsan",
"use_sanitizer=$use_sanitizer",
"v8_cfi=$v8_control_flow_integrity",
"v8_current_cpu=\"$v8_current_cpu\"", "v8_current_cpu=\"$v8_current_cpu\"",
"v8_dict_property_const_tracking=$v8_dict_property_const_tracking",
"v8_disable_write_barriers=$v8_disable_write_barriers",
"v8_enable_atomic_object_field_writes=" +
"$v8_enable_atomic_object_field_writes",
"v8_enable_cet_shadow_stack=$v8_enable_cet_shadow_stack",
"v8_enable_concurrent_marking=$v8_enable_concurrent_marking",
"v8_enable_conservative_stack_scanning=" +
"$v8_enable_conservative_stack_scanning",
"v8_enable_debug_code=$v8_enable_debug_code",
"v8_enable_direct_local=$v8_enable_direct_local",
"v8_enable_disassembler=$v8_enable_disassembler",
"v8_enable_gdbjit=$v8_enable_gdbjit",
"v8_enable_i18n_support=$v8_enable_i18n_support",
"v8_enable_lite_mode=$v8_enable_lite_mode",
"v8_enable_maglev=$v8_enable_maglev",
"v8_enable_pointer_compression=$v8_enable_pointer_compression",
"v8_enable_pointer_compression_shared_cage=" +
"$v8_enable_pointer_compression_shared_cage",
"v8_enable_runtime_call_stats=$v8_enable_runtime_call_stats",
"v8_enable_sandbox=$v8_enable_sandbox",
"v8_enable_shared_ro_heap=$v8_enable_shared_ro_heap",
"v8_enable_single_generation=$v8_enable_single_generation",
"v8_enable_slow_dchecks=$v8_enable_slow_dchecks",
"v8_enable_third_party_heap=$v8_enable_third_party_heap",
"v8_enable_turbofan=$v8_enable_turbofan",
"v8_enable_verify_csa=$v8_enable_verify_csa",
"v8_enable_verify_heap=$v8_enable_verify_heap",
"v8_enable_verify_predictable=$v8_enable_verify_predictable",
"v8_enable_webassembly=$v8_enable_webassembly",
"v8_jitless=$v8_jitless",
"v8_target_cpu=\"$v8_target_cpu\"", "v8_target_cpu=\"$v8_target_cpu\"",
"verify_csa=$v8_enable_verify_csa",
"verify_heap=$v8_enable_verify_heap",
"verify_predictable=$v8_enable_verify_predictable",
] ]
if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
args += [
"mips_arch_variant=\"$mips_arch_variant\"",
"mips_use_msa=$mips_use_msa",
]
}
} }
############################################################################### ###############################################################################
@ -3080,6 +3115,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/operator-properties.h", "src/compiler/operator-properties.h",
"src/compiler/operator.h", "src/compiler/operator.h",
"src/compiler/osr.h", "src/compiler/osr.h",
"src/compiler/pair-load-store-reducer.h",
"src/compiler/per-isolate-compiler-cache.h", "src/compiler/per-isolate-compiler-cache.h",
"src/compiler/persistent-map.h", "src/compiler/persistent-map.h",
"src/compiler/phase.h", "src/compiler/phase.h",
@ -3120,7 +3156,6 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/graph.h", "src/compiler/turboshaft/graph.h",
"src/compiler/turboshaft/index.h", "src/compiler/turboshaft/index.h",
"src/compiler/turboshaft/late-escape-analysis-reducer.h", "src/compiler/turboshaft/late-escape-analysis-reducer.h",
"src/compiler/turboshaft/late-optimization-phase.h",
"src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/layered-hash-map.h",
"src/compiler/turboshaft/machine-lowering-phase.h", "src/compiler/turboshaft/machine-lowering-phase.h",
"src/compiler/turboshaft/machine-lowering-reducer.h", "src/compiler/turboshaft/machine-lowering-reducer.h",
@ -3131,6 +3166,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimization-phase.h",
"src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/optimize-phase.h",
"src/compiler/turboshaft/phase.h", "src/compiler/turboshaft/phase.h",
"src/compiler/turboshaft/pretenuring-propagation-reducer.h",
"src/compiler/turboshaft/recreate-schedule-phase.h", "src/compiler/turboshaft/recreate-schedule-phase.h",
"src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/recreate-schedule.h",
"src/compiler/turboshaft/reducer-traits.h", "src/compiler/turboshaft/reducer-traits.h",
@ -3140,8 +3176,9 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/sidetable.h", "src/compiler/turboshaft/sidetable.h",
"src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/simplify-tf-loops.h",
"src/compiler/turboshaft/snapshot-table.h", "src/compiler/turboshaft/snapshot-table.h",
"src/compiler/turboshaft/store-store-elimination-phase.h",
"src/compiler/turboshaft/store-store-elimination-reducer.h",
"src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/structural-optimization-reducer.h",
"src/compiler/turboshaft/tag-untag-lowering-phase.h",
"src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h",
"src/compiler/turboshaft/tracing.h", "src/compiler/turboshaft/tracing.h",
"src/compiler/turboshaft/type-assertions-phase.h", "src/compiler/turboshaft/type-assertions-phase.h",
@ -3274,6 +3311,7 @@ v8_header_set("v8_internal_headers") {
"src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/unified-heap-marking-visitor.h",
"src/heap/cppgc-js/wrappable-info-inl.h", "src/heap/cppgc-js/wrappable-info-inl.h",
"src/heap/cppgc-js/wrappable-info.h", "src/heap/cppgc-js/wrappable-info.h",
"src/heap/ephemeron-remembered-set.h",
"src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-allocator-inl.h",
"src/heap/evacuation-allocator.h", "src/heap/evacuation-allocator.h",
"src/heap/evacuation-verifier-inl.h", "src/heap/evacuation-verifier-inl.h",
@ -3301,8 +3339,6 @@ v8_header_set("v8_internal_headers") {
"src/heap/incremental-marking-job.h", "src/heap/incremental-marking-job.h",
"src/heap/incremental-marking.h", "src/heap/incremental-marking.h",
"src/heap/index-generator.h", "src/heap/index-generator.h",
"src/heap/invalidated-slots-inl.h",
"src/heap/invalidated-slots.h",
"src/heap/large-spaces.h", "src/heap/large-spaces.h",
"src/heap/linear-allocation-area.h", "src/heap/linear-allocation-area.h",
"src/heap/list.h", "src/heap/list.h",
@ -3475,6 +3511,8 @@ v8_header_set("v8_internal_headers") {
"src/objects/heap-number.h", "src/objects/heap-number.h",
"src/objects/heap-object-inl.h", "src/objects/heap-object-inl.h",
"src/objects/heap-object.h", "src/objects/heap-object.h",
"src/objects/hole-inl.h",
"src/objects/hole.h",
"src/objects/instance-type-inl.h", "src/objects/instance-type-inl.h",
"src/objects/instance-type.h", "src/objects/instance-type.h",
"src/objects/internal-index.h", "src/objects/internal-index.h",
@ -3693,6 +3731,8 @@ v8_header_set("v8_internal_headers") {
"src/runtime/runtime.h", "src/runtime/runtime.h",
"src/sandbox/bounded-size-inl.h", "src/sandbox/bounded-size-inl.h",
"src/sandbox/bounded-size.h", "src/sandbox/bounded-size.h",
"src/sandbox/external-entity-table-inl.h",
"src/sandbox/external-entity-table.h",
"src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-inl.h",
"src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table-inl.h",
"src/sandbox/external-pointer-table.h", "src/sandbox/external-pointer-table.h",
@ -3829,6 +3869,7 @@ v8_header_set("v8_internal_headers") {
"src/asmjs/asm-scanner.h", "src/asmjs/asm-scanner.h",
"src/asmjs/asm-types.h", "src/asmjs/asm-types.h",
"src/compiler/int64-lowering.h", "src/compiler/int64-lowering.h",
"src/compiler/wasm-address-reassociation.h",
"src/compiler/wasm-call-descriptors.h", "src/compiler/wasm-call-descriptors.h",
"src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler-definitions.h",
"src/compiler/wasm-compiler.h", "src/compiler/wasm-compiler.h",
@ -3846,7 +3887,6 @@ v8_header_set("v8_internal_headers") {
"src/third_party/utf8-decoder/generalized-utf8-decoder.h", "src/third_party/utf8-decoder/generalized-utf8-decoder.h",
"src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler-internal.h",
"src/trap-handler/trap-handler.h", "src/trap-handler/trap-handler.h",
"src/wasm/assembler-buffer-cache.h",
"src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler-defs.h",
"src/wasm/baseline/liftoff-assembler.h", "src/wasm/baseline/liftoff-assembler.h",
"src/wasm/baseline/liftoff-compiler.h", "src/wasm/baseline/liftoff-compiler.h",
@ -4370,6 +4410,7 @@ v8_compiler_sources = [
"src/compiler/operator-properties.cc", "src/compiler/operator-properties.cc",
"src/compiler/operator.cc", "src/compiler/operator.cc",
"src/compiler/osr.cc", "src/compiler/osr.cc",
"src/compiler/pair-load-store-reducer.cc",
"src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.cc",
"src/compiler/pipeline.cc", "src/compiler/pipeline.cc",
"src/compiler/property-access-builder.cc", "src/compiler/property-access-builder.cc",
@ -4486,6 +4527,7 @@ if (v8_current_cpu == "x86") {
if (v8_enable_webassembly) { if (v8_enable_webassembly) {
v8_compiler_sources += [ v8_compiler_sources += [
"src/compiler/int64-lowering.cc", "src/compiler/int64-lowering.cc",
"src/compiler/wasm-address-reassociation.cc",
"src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-call-descriptors.cc",
"src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.cc",
"src/compiler/wasm-escape-analysis.cc", "src/compiler/wasm-escape-analysis.cc",
@ -4585,18 +4627,18 @@ v8_source_set("v8_turboshaft") {
"src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph-visualizer.cc",
"src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/graph.cc",
"src/compiler/turboshaft/late-escape-analysis-reducer.cc", "src/compiler/turboshaft/late-escape-analysis-reducer.cc",
"src/compiler/turboshaft/late-optimization-phase.cc",
"src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.cc",
"src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/memory-optimization-reducer.cc",
"src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/operations.cc",
"src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimization-phase.cc",
"src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/optimize-phase.cc",
"src/compiler/turboshaft/phase.cc", "src/compiler/turboshaft/phase.cc",
"src/compiler/turboshaft/pretenuring-propagation-reducer.cc",
"src/compiler/turboshaft/recreate-schedule-phase.cc", "src/compiler/turboshaft/recreate-schedule-phase.cc",
"src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/recreate-schedule.cc",
"src/compiler/turboshaft/representations.cc", "src/compiler/turboshaft/representations.cc",
"src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.cc",
"src/compiler/turboshaft/tag-untag-lowering-phase.cc", "src/compiler/turboshaft/store-store-elimination-phase.cc",
"src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-assertions-phase.cc",
"src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/type-parser.cc",
"src/compiler/turboshaft/typed-optimizations-phase.cc", "src/compiler/turboshaft/typed-optimizations-phase.cc",
@ -4820,6 +4862,7 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/cppgc-js/unified-heap-marking-state.cc", "src/heap/cppgc-js/unified-heap-marking-state.cc",
"src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
"src/heap/cppgc-js/unified-heap-marking-visitor.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
"src/heap/ephemeron-remembered-set.cc",
"src/heap/evacuation-verifier.cc", "src/heap/evacuation-verifier.cc",
"src/heap/factory-base.cc", "src/heap/factory-base.cc",
"src/heap/factory.cc", "src/heap/factory.cc",
@ -4836,7 +4879,6 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.cc",
"src/heap/incremental-marking.cc", "src/heap/incremental-marking.cc",
"src/heap/index-generator.cc", "src/heap/index-generator.cc",
"src/heap/invalidated-slots.cc",
"src/heap/large-spaces.cc", "src/heap/large-spaces.cc",
"src/heap/local-factory.cc", "src/heap/local-factory.cc",
"src/heap/local-heap.cc", "src/heap/local-heap.cc",
@ -5156,7 +5198,6 @@ v8_source_set("v8_base_without_compiler") {
"src/trap-handler/handler-inside.cc", "src/trap-handler/handler-inside.cc",
"src/trap-handler/handler-outside.cc", "src/trap-handler/handler-outside.cc",
"src/trap-handler/handler-shared.cc", "src/trap-handler/handler-shared.cc",
"src/wasm/assembler-buffer-cache.cc",
"src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-assembler.cc",
"src/wasm/baseline/liftoff-compiler.cc", "src/wasm/baseline/liftoff-compiler.cc",
"src/wasm/canonical-types.cc", "src/wasm/canonical-types.cc",
@ -5556,13 +5597,6 @@ v8_source_set("v8_base_without_compiler") {
] ]
deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ] deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
group("v8_base") { group("v8_base") {
@ -5723,6 +5757,7 @@ v8_component("v8_libbase") {
"src/base/cpu.h", "src/base/cpu.h",
"src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.cc",
"src/base/debug/stack_trace.h", "src/base/debug/stack_trace.h",
"src/base/discriminated-union.h",
"src/base/division-by-constant.cc", "src/base/division-by-constant.cc",
"src/base/division-by-constant.h", "src/base/division-by-constant.h",
"src/base/emulated-virtual-address-subspace.cc", "src/base/emulated-virtual-address-subspace.cc",
@ -5827,6 +5862,8 @@ v8_component("v8_libbase") {
deps = [ ":v8_config_headers" ] deps = [ ":v8_config_headers" ]
libs = []
data = [] data = []
data_deps = [] data_deps = []
@ -5917,6 +5954,7 @@ v8_component("v8_libbase") {
sources += [ sources += [
"src/base/debug/stack_trace_win.cc", "src/base/debug/stack_trace_win.cc",
"src/base/platform/platform-win32.cc", "src/base/platform/platform-win32.cc",
"src/base/platform/platform-win32.h",
"src/base/win32-headers.h", "src/base/win32-headers.h",
] ]
@ -6002,6 +6040,8 @@ v8_component("v8_libplatform") {
"src/libplatform/default-job.h", "src/libplatform/default-job.h",
"src/libplatform/default-platform.cc", "src/libplatform/default-platform.cc",
"src/libplatform/default-platform.h", "src/libplatform/default-platform.h",
"src/libplatform/default-thread-isolated-allocator.cc",
"src/libplatform/default-thread-isolated-allocator.h",
"src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.cc",
"src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/default-worker-threads-task-runner.h",
"src/libplatform/delayed-task-queue.cc", "src/libplatform/delayed-task-queue.cc",
@ -6362,6 +6402,13 @@ v8_source_set("cppgc_base") {
} else { } else {
public_deps += [ ":v8_tracing" ] public_deps += [ ":v8_tracing" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
if (v8_check_header_includes) { if (v8_check_header_includes) {
@ -6732,7 +6779,6 @@ group("v8_fuzzers") {
":v8_simple_inspector_fuzzer", ":v8_simple_inspector_fuzzer",
":v8_simple_json_fuzzer", ":v8_simple_json_fuzzer",
":v8_simple_parser_fuzzer", ":v8_simple_parser_fuzzer",
":v8_simple_regexp_builtins_fuzzer",
":v8_simple_regexp_fuzzer", ":v8_simple_regexp_fuzzer",
] ]
@ -7053,23 +7099,6 @@ v8_source_set("parser_fuzzer") {
v8_fuzzer("parser_fuzzer") { v8_fuzzer("parser_fuzzer") {
} }
v8_source_set("regexp_builtins_fuzzer") {
sources = [
"test/fuzzer/regexp-builtins.cc",
"test/fuzzer/regexp_builtins/mjsunit.js.h",
]
deps = [ ":fuzzer_support" ]
configs = [
":external_config",
":internal_config_base",
]
}
v8_fuzzer("regexp_builtins_fuzzer") {
}
v8_source_set("regexp_fuzzer") { v8_source_set("regexp_fuzzer") {
sources = [ "test/fuzzer/regexp.cc" ] sources = [ "test/fuzzer/regexp.cc" ]

View file

@ -30,6 +30,7 @@
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/task/sequence_manager/sequence_manager_impl.h" #include "base/task/sequence_manager/sequence_manager_impl.h"
#include "base/task/sequence_manager/thread_controller.h"
#include "base/task/sequence_manager/thread_controller_power_monitor.h" #include "base/task/sequence_manager/thread_controller_power_monitor.h"
#include "base/task/thread_pool/thread_pool_instance.h" #include "base/task/thread_pool/thread_pool_instance.h"
#include "base/threading/hang_watcher.h" #include "base/threading/hang_watcher.h"
@ -395,14 +396,14 @@ bool HandleCreditsSwitch(const base::CommandLine& command_line) {
bool HandleVersionSwitches(const base::CommandLine& command_line) { bool HandleVersionSwitches(const base::CommandLine& command_line) {
#if !BUILDFLAG(IS_MAC) #if !BUILDFLAG(IS_MAC)
if (command_line.HasSwitch(switches::kProductVersion)) { if (command_line.HasSwitch(switches::kProductVersion)) {
printf("%s\n", version_info::GetVersionNumber().c_str()); printf("%s\n", version_info::GetVersionNumber().data());
return true; return true;
} }
#endif #endif
if (command_line.HasSwitch(switches::kVersion)) { if (command_line.HasSwitch(switches::kVersion)) {
printf("%s %s %s\n", version_info::GetProductName().c_str(), printf("%s %s %s\n", version_info::GetProductName().data(),
version_info::GetVersionNumber().c_str(), version_info::GetVersionNumber().data(),
chrome::GetChannelName(chrome::WithExtendedStable(true)).c_str()); chrome::GetChannelName(chrome::WithExtendedStable(true)).c_str());
return true; return true;
} }
@ -957,6 +958,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
base::InitializeCpuReductionExperiment(); base::InitializeCpuReductionExperiment();
base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures();
base::sequence_manager::internal::ThreadController::InitializeFeatures();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
base::MessagePumpLibevent::InitializeFeatures(); base::MessagePumpLibevent::InitializeFeatures();
#elif BUILDFLAG(IS_MAC) #elif BUILDFLAG(IS_MAC)

View file

@ -85,6 +85,14 @@ const base::FilePath::CharType kHelperProcessExecutablePath[] =
#elif BUILDFLAG(IS_MAC) #elif BUILDFLAG(IS_MAC)
const base::FilePath::CharType kBrowserProcessExecutablePath[] = const base::FilePath::CharType kBrowserProcessExecutablePath[] =
FPL(PRODUCT_STRING ".app/Contents/MacOS/" PRODUCT_STRING); FPL(PRODUCT_STRING ".app/Contents/MacOS/" PRODUCT_STRING);
const base::FilePath::CharType
kGoogleChromeForTestingBrowserProcessExecutablePath[] =
FPL("Google Chrome for Testing.app/Contents/MacOS/Google Chrome for "
"Testing");
const base::FilePath::CharType kGoogleChromeBrowserProcessExecutablePath[] =
FPL("Google Chrome.app/Contents/MacOS/Google Chrome");
const base::FilePath::CharType kChromiumBrowserProcessExecutablePath[] =
FPL("Thorium.app/Contents/MacOS/Thorium");
const base::FilePath::CharType kHelperProcessExecutablePath[] = const base::FilePath::CharType kHelperProcessExecutablePath[] =
FPL(PRODUCT_STRING " Helper.app/Contents/MacOS/" PRODUCT_STRING " Helper"); FPL(PRODUCT_STRING " Helper.app/Contents/MacOS/" PRODUCT_STRING " Helper");
#elif BUILDFLAG(IS_ANDROID) #elif BUILDFLAG(IS_ANDROID)
@ -119,6 +127,8 @@ const char kWebAppProfilePrefix[] = "web-app-profile-";
#endif // BUILDFLAG(IS_CHROMEOS_LACROS) #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
// filenames // filenames
const base::FilePath::CharType kAccountPreferencesFilename[] =
FPL("AccountPreferences");
const base::FilePath::CharType kCacheDirname[] = FPL("Cache"); const base::FilePath::CharType kCacheDirname[] = FPL("Cache");
const base::FilePath::CharType kCookieFilename[] = FPL("Cookies"); const base::FilePath::CharType kCookieFilename[] = FPL("Cookies");
const base::FilePath::CharType kCRLSetFilename[] = const base::FilePath::CharType kCRLSetFilename[] =

View file

@ -22,6 +22,11 @@ extern const base::FilePath::CharType kHelperProcessExecutableName[];
extern const base::FilePath::CharType kBrowserProcessExecutablePath[]; extern const base::FilePath::CharType kBrowserProcessExecutablePath[];
extern const base::FilePath::CharType kHelperProcessExecutablePath[]; extern const base::FilePath::CharType kHelperProcessExecutablePath[];
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
extern const base::FilePath::CharType
kGoogleChromeForTestingBrowserProcessExecutablePath[];
extern const base::FilePath::CharType
kGoogleChromeBrowserProcessExecutablePath[];
extern const base::FilePath::CharType kChromiumBrowserProcessExecutablePath[];
// NOTE: if you change the value of kFrameworkName, please don't forget to // NOTE: if you change the value of kFrameworkName, please don't forget to
// update components/test/run_all_unittests.cc as well. // update components/test/run_all_unittests.cc as well.
// TODO(tfarina): Remove the comment above, when you fix components to use plist // TODO(tfarina): Remove the comment above, when you fix components to use plist
@ -48,6 +53,7 @@ extern const char kWebAppProfilePrefix[];
#endif // BUILDFLAG(IS_CHROMEOS_LACROS) #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
// filenames // filenames
extern const base::FilePath::CharType kAccountPreferencesFilename[];
extern const base::FilePath::CharType kCacheDirname[]; extern const base::FilePath::CharType kCacheDirname[];
extern const base::FilePath::CharType kCookieFilename[]; extern const base::FilePath::CharType kCookieFilename[];
extern const base::FilePath::CharType kCRLSetFilename[]; extern const base::FilePath::CharType kCRLSetFilename[];

View file

@ -307,7 +307,7 @@ declare_args() {
# Enable heap reservation of size 4GB. Only possible for 64bit archs. # Enable heap reservation of size 4GB. Only possible for 64bit archs.
cppgc_enable_caged_heap = cppgc_enable_caged_heap =
v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "x64" || v8_current_cpu == "arm64" ||
v8_current_cpu == "loong64" v8_current_cpu == "loong64" || v8_current_cpu == "riscv64"
# Enables additional heap verification phases and checks. # Enables additional heap verification phases and checks.
cppgc_enable_verify_heap = "" cppgc_enable_verify_heap = ""
@ -662,7 +662,8 @@ assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
"Write barriers can't be both enabled and disabled") "Write barriers can't be both enabled and disabled")
assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" || assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" ||
v8_current_cpu == "arm64" || v8_current_cpu == "loong64", v8_current_cpu == "arm64" || v8_current_cpu == "loong64" ||
v8_current_cpu == "riscv64",
"CppGC caged heap requires 64bit platforms") "CppGC caged heap requires 64bit platforms")
assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap, assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap,
@ -893,6 +894,7 @@ external_cppgc_defines = [
"CPPGC_SLIM_WRITE_BARRIER", "CPPGC_SLIM_WRITE_BARRIER",
"CPPGC_YOUNG_GENERATION", "CPPGC_YOUNG_GENERATION",
"CPPGC_POINTER_COMPRESSION", "CPPGC_POINTER_COMPRESSION",
"CPPGC_ENABLE_LARGER_CAGE",
] ]
enabled_external_cppgc_defines = [] enabled_external_cppgc_defines = []
@ -920,6 +922,9 @@ if (cppgc_enable_pointer_compression) {
if (cppgc_enable_2gb_cage) { if (cppgc_enable_2gb_cage) {
enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ] enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ]
} }
if (cppgc_enable_larger_cage) {
enabled_external_cppgc_defines += [ "CPPGC_ENABLE_LARGER_CAGE" ]
}
if (cppgc_enable_slim_write_barrier) { if (cppgc_enable_slim_write_barrier) {
enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ] enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ]
} }
@ -1950,6 +1955,7 @@ torque_files = [
"src/objects/module.tq", "src/objects/module.tq",
"src/objects/name.tq", "src/objects/name.tq",
"src/objects/oddball.tq", "src/objects/oddball.tq",
"src/objects/hole.tq",
"src/objects/ordered-hash-table.tq", "src/objects/ordered-hash-table.tq",
"src/objects/primitive-heap-object.tq", "src/objects/primitive-heap-object.tq",
"src/objects/promise.tq", "src/objects/promise.tq",
@ -2412,65 +2418,94 @@ action("v8_dump_build_config") {
outputs = [ "$root_out_dir/v8_build_config.json" ] outputs = [ "$root_out_dir/v8_build_config.json" ]
is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on
is_full_debug = v8_enable_debugging_features && !v8_optimized_debug is_full_debug = v8_enable_debugging_features && !v8_optimized_debug
arch = v8_target_cpu
if (v8_target_cpu == "x86") {
arch = "ia32"
}
mips_arch_variant_var = ""
mips_use_msa_var = false
if (arch == "mips64" || arch == "mips64el") {
mips_arch_variant_var = mips_arch_variant
mips_use_msa_var = mips_use_msa
}
js_shared_memory =
v8_enable_shared_ro_heap && (!v8_enable_pointer_compression ||
v8_enable_pointer_compression_shared_cage) &&
!v8_disable_write_barriers
simd_mips = mips_arch_variant_var == "r6" && mips_use_msa
simulator_run = target_cpu != v8_target_cpu
use_sanitizer = is_asan || is_cfi || is_msan || is_tsan || is_ubsan
# This lists all build-time switches consumed by the test framework. All
# switches can be used automatically in the status files as is - no
# further files need to be modified.
#
# Naming conventions: Keep switch names short and remove unnecessary
# qualifiers. Drop v8_enable_, v8_, is_ where possible.
# Keep only qualifiers that disambiguate the switches from other things.
# Examples: has_turbofan disambiguates from the turbofan runtime variant,
# is_android disambiguates from the android keyword in status files,
# v8_cfi disambiguates from the global cfi flag.
args = [ args = [
rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
"arch=\"$arch\"",
"asan=$is_asan",
"atomic_object_field_writes=$v8_enable_atomic_object_field_writes",
"cet_shadow_stack=$v8_enable_cet_shadow_stack",
"cfi=$is_cfi",
"clang=$is_clang",
"clang_coverage=$use_clang_coverage",
"code_comments=$v8_code_comments",
"component_build=$is_component_build",
"concurrent_marking=$v8_enable_concurrent_marking",
"conservative_stack_scanning=$v8_enable_conservative_stack_scanning",
"current_cpu=\"$current_cpu\"", "current_cpu=\"$current_cpu\"",
"dcheck_always_on=$dcheck_always_on", "dcheck_always_on=$dcheck_always_on",
"debug_code=$v8_enable_debug_code",
"DEBUG_defined=$is_DEBUG_defined",
"debugging_features=$v8_enable_debugging_features",
"dict_property_const_tracking=$v8_dict_property_const_tracking",
"direct_local=$v8_enable_direct_local",
"disassembler=$v8_enable_disassembler",
"full_debug=$is_full_debug",
"gdbjit=$v8_enable_gdbjit",
"has_jitless=$v8_jitless",
"has_maglev=$v8_enable_maglev",
"has_turbofan=$v8_enable_turbofan",
"has_webassembly=$v8_enable_webassembly",
"i18n=$v8_enable_i18n_support",
"is_android=$is_android", "is_android=$is_android",
"is_asan=$is_asan", "is_ios=$is_ios",
"is_cfi=$is_cfi", "js_shared_memory=$js_shared_memory",
"is_clang=$is_clang", "lite_mode=$v8_enable_lite_mode",
"is_clang_coverage=$use_clang_coverage", "mips_arch_variant=\"$mips_arch_variant_var\"",
"is_component_build=$is_component_build", "mips_use_msa=$mips_use_msa_var",
"is_debug=$v8_enable_debugging_features", "msan=$is_msan",
"is_DEBUG_defined=$is_DEBUG_defined", "official_build=$is_official_build",
"is_full_debug=$is_full_debug", "pointer_compression=$v8_enable_pointer_compression",
"is_msan=$is_msan", "pointer_compression_shared_cage=$v8_enable_pointer_compression_shared_cage",
"is_tsan=$is_tsan", "runtime_call_stats=$v8_enable_runtime_call_stats",
"is_ubsan_vptr=$is_ubsan_vptr", "sandbox=$v8_enable_sandbox",
"shared_ro_heap=$v8_enable_shared_ro_heap",
"simd_mips=$simd_mips",
"simulator_run=$simulator_run",
"single_generation=$v8_enable_single_generation",
"slow_dchecks=$v8_enable_slow_dchecks",
"target_cpu=\"$target_cpu\"", "target_cpu=\"$target_cpu\"",
"v8_code_comments=$v8_code_comments", "third_party_heap=$v8_enable_third_party_heap",
"v8_control_flow_integrity=$v8_control_flow_integrity", "tsan=$is_tsan",
"ubsan=$is_ubsan",
"use_sanitizer=$use_sanitizer",
"v8_cfi=$v8_control_flow_integrity",
"v8_current_cpu=\"$v8_current_cpu\"", "v8_current_cpu=\"$v8_current_cpu\"",
"v8_dict_property_const_tracking=$v8_dict_property_const_tracking",
"v8_disable_write_barriers=$v8_disable_write_barriers",
"v8_enable_atomic_object_field_writes=" +
"$v8_enable_atomic_object_field_writes",
"v8_enable_cet_shadow_stack=$v8_enable_cet_shadow_stack",
"v8_enable_concurrent_marking=$v8_enable_concurrent_marking",
"v8_enable_conservative_stack_scanning=" +
"$v8_enable_conservative_stack_scanning",
"v8_enable_debug_code=$v8_enable_debug_code",
"v8_enable_direct_local=$v8_enable_direct_local",
"v8_enable_disassembler=$v8_enable_disassembler",
"v8_enable_gdbjit=$v8_enable_gdbjit",
"v8_enable_i18n_support=$v8_enable_i18n_support",
"v8_enable_lite_mode=$v8_enable_lite_mode",
"v8_enable_maglev=$v8_enable_maglev",
"v8_enable_pointer_compression=$v8_enable_pointer_compression",
"v8_enable_pointer_compression_shared_cage=" +
"$v8_enable_pointer_compression_shared_cage",
"v8_enable_runtime_call_stats=$v8_enable_runtime_call_stats",
"v8_enable_sandbox=$v8_enable_sandbox",
"v8_enable_shared_ro_heap=$v8_enable_shared_ro_heap",
"v8_enable_single_generation=$v8_enable_single_generation",
"v8_enable_slow_dchecks=$v8_enable_slow_dchecks",
"v8_enable_third_party_heap=$v8_enable_third_party_heap",
"v8_enable_turbofan=$v8_enable_turbofan",
"v8_enable_verify_csa=$v8_enable_verify_csa",
"v8_enable_verify_heap=$v8_enable_verify_heap",
"v8_enable_verify_predictable=$v8_enable_verify_predictable",
"v8_enable_webassembly=$v8_enable_webassembly",
"v8_jitless=$v8_jitless",
"v8_target_cpu=\"$v8_target_cpu\"", "v8_target_cpu=\"$v8_target_cpu\"",
"verify_csa=$v8_enable_verify_csa",
"verify_heap=$v8_enable_verify_heap",
"verify_predictable=$v8_enable_verify_predictable",
] ]
if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
args += [
"mips_arch_variant=\"$mips_arch_variant\"",
"mips_use_msa=$mips_use_msa",
]
}
} }
############################################################################### ###############################################################################
@ -3080,6 +3115,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/operator-properties.h", "src/compiler/operator-properties.h",
"src/compiler/operator.h", "src/compiler/operator.h",
"src/compiler/osr.h", "src/compiler/osr.h",
"src/compiler/pair-load-store-reducer.h",
"src/compiler/per-isolate-compiler-cache.h", "src/compiler/per-isolate-compiler-cache.h",
"src/compiler/persistent-map.h", "src/compiler/persistent-map.h",
"src/compiler/phase.h", "src/compiler/phase.h",
@ -3120,7 +3156,6 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/graph.h", "src/compiler/turboshaft/graph.h",
"src/compiler/turboshaft/index.h", "src/compiler/turboshaft/index.h",
"src/compiler/turboshaft/late-escape-analysis-reducer.h", "src/compiler/turboshaft/late-escape-analysis-reducer.h",
"src/compiler/turboshaft/late-optimization-phase.h",
"src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/layered-hash-map.h",
"src/compiler/turboshaft/machine-lowering-phase.h", "src/compiler/turboshaft/machine-lowering-phase.h",
"src/compiler/turboshaft/machine-lowering-reducer.h", "src/compiler/turboshaft/machine-lowering-reducer.h",
@ -3131,6 +3166,7 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimization-phase.h",
"src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/optimize-phase.h",
"src/compiler/turboshaft/phase.h", "src/compiler/turboshaft/phase.h",
"src/compiler/turboshaft/pretenuring-propagation-reducer.h",
"src/compiler/turboshaft/recreate-schedule-phase.h", "src/compiler/turboshaft/recreate-schedule-phase.h",
"src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/recreate-schedule.h",
"src/compiler/turboshaft/reducer-traits.h", "src/compiler/turboshaft/reducer-traits.h",
@ -3140,8 +3176,9 @@ v8_header_set("v8_internal_headers") {
"src/compiler/turboshaft/sidetable.h", "src/compiler/turboshaft/sidetable.h",
"src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/simplify-tf-loops.h",
"src/compiler/turboshaft/snapshot-table.h", "src/compiler/turboshaft/snapshot-table.h",
"src/compiler/turboshaft/store-store-elimination-phase.h",
"src/compiler/turboshaft/store-store-elimination-reducer.h",
"src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/structural-optimization-reducer.h",
"src/compiler/turboshaft/tag-untag-lowering-phase.h",
"src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h",
"src/compiler/turboshaft/tracing.h", "src/compiler/turboshaft/tracing.h",
"src/compiler/turboshaft/type-assertions-phase.h", "src/compiler/turboshaft/type-assertions-phase.h",
@ -3274,6 +3311,7 @@ v8_header_set("v8_internal_headers") {
"src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/unified-heap-marking-visitor.h",
"src/heap/cppgc-js/wrappable-info-inl.h", "src/heap/cppgc-js/wrappable-info-inl.h",
"src/heap/cppgc-js/wrappable-info.h", "src/heap/cppgc-js/wrappable-info.h",
"src/heap/ephemeron-remembered-set.h",
"src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-allocator-inl.h",
"src/heap/evacuation-allocator.h", "src/heap/evacuation-allocator.h",
"src/heap/evacuation-verifier-inl.h", "src/heap/evacuation-verifier-inl.h",
@ -3301,8 +3339,6 @@ v8_header_set("v8_internal_headers") {
"src/heap/incremental-marking-job.h", "src/heap/incremental-marking-job.h",
"src/heap/incremental-marking.h", "src/heap/incremental-marking.h",
"src/heap/index-generator.h", "src/heap/index-generator.h",
"src/heap/invalidated-slots-inl.h",
"src/heap/invalidated-slots.h",
"src/heap/large-spaces.h", "src/heap/large-spaces.h",
"src/heap/linear-allocation-area.h", "src/heap/linear-allocation-area.h",
"src/heap/list.h", "src/heap/list.h",
@ -3475,6 +3511,8 @@ v8_header_set("v8_internal_headers") {
"src/objects/heap-number.h", "src/objects/heap-number.h",
"src/objects/heap-object-inl.h", "src/objects/heap-object-inl.h",
"src/objects/heap-object.h", "src/objects/heap-object.h",
"src/objects/hole-inl.h",
"src/objects/hole.h",
"src/objects/instance-type-inl.h", "src/objects/instance-type-inl.h",
"src/objects/instance-type.h", "src/objects/instance-type.h",
"src/objects/internal-index.h", "src/objects/internal-index.h",
@ -3693,6 +3731,8 @@ v8_header_set("v8_internal_headers") {
"src/runtime/runtime.h", "src/runtime/runtime.h",
"src/sandbox/bounded-size-inl.h", "src/sandbox/bounded-size-inl.h",
"src/sandbox/bounded-size.h", "src/sandbox/bounded-size.h",
"src/sandbox/external-entity-table-inl.h",
"src/sandbox/external-entity-table.h",
"src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-inl.h",
"src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table-inl.h",
"src/sandbox/external-pointer-table.h", "src/sandbox/external-pointer-table.h",
@ -3829,6 +3869,7 @@ v8_header_set("v8_internal_headers") {
"src/asmjs/asm-scanner.h", "src/asmjs/asm-scanner.h",
"src/asmjs/asm-types.h", "src/asmjs/asm-types.h",
"src/compiler/int64-lowering.h", "src/compiler/int64-lowering.h",
"src/compiler/wasm-address-reassociation.h",
"src/compiler/wasm-call-descriptors.h", "src/compiler/wasm-call-descriptors.h",
"src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler-definitions.h",
"src/compiler/wasm-compiler.h", "src/compiler/wasm-compiler.h",
@ -3846,7 +3887,6 @@ v8_header_set("v8_internal_headers") {
"src/third_party/utf8-decoder/generalized-utf8-decoder.h", "src/third_party/utf8-decoder/generalized-utf8-decoder.h",
"src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler-internal.h",
"src/trap-handler/trap-handler.h", "src/trap-handler/trap-handler.h",
"src/wasm/assembler-buffer-cache.h",
"src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler-defs.h",
"src/wasm/baseline/liftoff-assembler.h", "src/wasm/baseline/liftoff-assembler.h",
"src/wasm/baseline/liftoff-compiler.h", "src/wasm/baseline/liftoff-compiler.h",
@ -4370,6 +4410,7 @@ v8_compiler_sources = [
"src/compiler/operator-properties.cc", "src/compiler/operator-properties.cc",
"src/compiler/operator.cc", "src/compiler/operator.cc",
"src/compiler/osr.cc", "src/compiler/osr.cc",
"src/compiler/pair-load-store-reducer.cc",
"src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.cc",
"src/compiler/pipeline.cc", "src/compiler/pipeline.cc",
"src/compiler/property-access-builder.cc", "src/compiler/property-access-builder.cc",
@ -4486,6 +4527,7 @@ if (v8_current_cpu == "x86") {
if (v8_enable_webassembly) { if (v8_enable_webassembly) {
v8_compiler_sources += [ v8_compiler_sources += [
"src/compiler/int64-lowering.cc", "src/compiler/int64-lowering.cc",
"src/compiler/wasm-address-reassociation.cc",
"src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-call-descriptors.cc",
"src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.cc",
"src/compiler/wasm-escape-analysis.cc", "src/compiler/wasm-escape-analysis.cc",
@ -4585,18 +4627,18 @@ v8_source_set("v8_turboshaft") {
"src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph-visualizer.cc",
"src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/graph.cc",
"src/compiler/turboshaft/late-escape-analysis-reducer.cc", "src/compiler/turboshaft/late-escape-analysis-reducer.cc",
"src/compiler/turboshaft/late-optimization-phase.cc",
"src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.cc",
"src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/memory-optimization-reducer.cc",
"src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/operations.cc",
"src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimization-phase.cc",
"src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/optimize-phase.cc",
"src/compiler/turboshaft/phase.cc", "src/compiler/turboshaft/phase.cc",
"src/compiler/turboshaft/pretenuring-propagation-reducer.cc",
"src/compiler/turboshaft/recreate-schedule-phase.cc", "src/compiler/turboshaft/recreate-schedule-phase.cc",
"src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/recreate-schedule.cc",
"src/compiler/turboshaft/representations.cc", "src/compiler/turboshaft/representations.cc",
"src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.cc",
"src/compiler/turboshaft/tag-untag-lowering-phase.cc", "src/compiler/turboshaft/store-store-elimination-phase.cc",
"src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-assertions-phase.cc",
"src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/type-parser.cc",
"src/compiler/turboshaft/typed-optimizations-phase.cc", "src/compiler/turboshaft/typed-optimizations-phase.cc",
@ -4820,6 +4862,7 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/cppgc-js/unified-heap-marking-state.cc", "src/heap/cppgc-js/unified-heap-marking-state.cc",
"src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
"src/heap/cppgc-js/unified-heap-marking-visitor.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
"src/heap/ephemeron-remembered-set.cc",
"src/heap/evacuation-verifier.cc", "src/heap/evacuation-verifier.cc",
"src/heap/factory-base.cc", "src/heap/factory-base.cc",
"src/heap/factory.cc", "src/heap/factory.cc",
@ -4836,7 +4879,6 @@ v8_source_set("v8_base_without_compiler") {
"src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.cc",
"src/heap/incremental-marking.cc", "src/heap/incremental-marking.cc",
"src/heap/index-generator.cc", "src/heap/index-generator.cc",
"src/heap/invalidated-slots.cc",
"src/heap/large-spaces.cc", "src/heap/large-spaces.cc",
"src/heap/local-factory.cc", "src/heap/local-factory.cc",
"src/heap/local-heap.cc", "src/heap/local-heap.cc",
@ -5156,7 +5198,6 @@ v8_source_set("v8_base_without_compiler") {
"src/trap-handler/handler-inside.cc", "src/trap-handler/handler-inside.cc",
"src/trap-handler/handler-outside.cc", "src/trap-handler/handler-outside.cc",
"src/trap-handler/handler-shared.cc", "src/trap-handler/handler-shared.cc",
"src/wasm/assembler-buffer-cache.cc",
"src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-assembler.cc",
"src/wasm/baseline/liftoff-compiler.cc", "src/wasm/baseline/liftoff-compiler.cc",
"src/wasm/canonical-types.cc", "src/wasm/canonical-types.cc",
@ -5556,13 +5597,6 @@ v8_source_set("v8_base_without_compiler") {
] ]
deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ] deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
group("v8_base") { group("v8_base") {
@ -5723,6 +5757,7 @@ v8_component("v8_libbase") {
"src/base/cpu.h", "src/base/cpu.h",
"src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.cc",
"src/base/debug/stack_trace.h", "src/base/debug/stack_trace.h",
"src/base/discriminated-union.h",
"src/base/division-by-constant.cc", "src/base/division-by-constant.cc",
"src/base/division-by-constant.h", "src/base/division-by-constant.h",
"src/base/emulated-virtual-address-subspace.cc", "src/base/emulated-virtual-address-subspace.cc",
@ -5827,6 +5862,8 @@ v8_component("v8_libbase") {
deps = [ ":v8_config_headers" ] deps = [ ":v8_config_headers" ]
libs = []
data = [] data = []
data_deps = [] data_deps = []
@ -5917,6 +5954,7 @@ v8_component("v8_libbase") {
sources += [ sources += [
"src/base/debug/stack_trace_win.cc", "src/base/debug/stack_trace_win.cc",
"src/base/platform/platform-win32.cc", "src/base/platform/platform-win32.cc",
"src/base/platform/platform-win32.h",
"src/base/win32-headers.h", "src/base/win32-headers.h",
] ]
@ -6002,6 +6040,8 @@ v8_component("v8_libplatform") {
"src/libplatform/default-job.h", "src/libplatform/default-job.h",
"src/libplatform/default-platform.cc", "src/libplatform/default-platform.cc",
"src/libplatform/default-platform.h", "src/libplatform/default-platform.h",
"src/libplatform/default-thread-isolated-allocator.cc",
"src/libplatform/default-thread-isolated-allocator.h",
"src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.cc",
"src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/default-worker-threads-task-runner.h",
"src/libplatform/delayed-task-queue.cc", "src/libplatform/delayed-task-queue.cc",
@ -6362,6 +6402,13 @@ v8_source_set("cppgc_base") {
} else { } else {
public_deps += [ ":v8_tracing" ] public_deps += [ ":v8_tracing" ]
} }
if (v8_use_perfetto) {
sources += [
"src/tracing/trace-categories.cc",
"src/tracing/trace-categories.h",
]
}
} }
if (v8_check_header_includes) { if (v8_check_header_includes) {
@ -6732,7 +6779,6 @@ group("v8_fuzzers") {
":v8_simple_inspector_fuzzer", ":v8_simple_inspector_fuzzer",
":v8_simple_json_fuzzer", ":v8_simple_json_fuzzer",
":v8_simple_parser_fuzzer", ":v8_simple_parser_fuzzer",
":v8_simple_regexp_builtins_fuzzer",
":v8_simple_regexp_fuzzer", ":v8_simple_regexp_fuzzer",
] ]
@ -7053,23 +7099,6 @@ v8_source_set("parser_fuzzer") {
v8_fuzzer("parser_fuzzer") { v8_fuzzer("parser_fuzzer") {
} }
v8_source_set("regexp_builtins_fuzzer") {
sources = [
"test/fuzzer/regexp-builtins.cc",
"test/fuzzer/regexp_builtins/mjsunit.js.h",
]
deps = [ ":fuzzer_support" ]
configs = [
":external_config",
":internal_config_base",
]
}
v8_fuzzer("regexp_builtins_fuzzer") {
}
v8_source_set("regexp_fuzzer") { v8_source_set("regexp_fuzzer") {
sources = [ "test/fuzzer/regexp.cc" ] sources = [ "test/fuzzer/regexp.cc" ]

@ -1 +1 @@
Subproject commit 958588f44f2dc145c442d91682382987079badc5 Subproject commit 23f701225d4a0b5073567575b9fa2e3656ea662c