diff --git a/packages/deno/build.sh b/packages/deno/build.sh index 92cf6968be..6864aac85b 100644 --- a/packages/deno/build.sh +++ b/packages/deno/build.sh @@ -2,20 +2,22 @@ TERMUX_PKG_HOMEPAGE=https://deno.land/ TERMUX_PKG_DESCRIPTION="A modern runtime for JavaScript and TypeScript" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@licy183" -TERMUX_PKG_VERSION=1:2.4.5 +TERMUX_PKG_VERSION=1:2.5.2 TERMUX_PKG_SRCURL=( https://github.com/denoland/deno/releases/download/v${TERMUX_PKG_VERSION:2}/deno_src.tar.gz https://github.com/termux/deno-snapshot/releases/download/v${TERMUX_PKG_VERSION:2}/deno-snapshot-aarch64-linux-android-${TERMUX_PKG_VERSION:2}.tar.bz2 https://github.com/termux/deno-snapshot/releases/download/v${TERMUX_PKG_VERSION:2}/deno-snapshot-x86_64-linux-android-${TERMUX_PKG_VERSION:2}.tar.bz2 ) TERMUX_PKG_SHA256=( - a6bba626d08813c114bfcc862e69fd7202eecda97df9f349abf6cc4e38fe4e40 - fc72ed6b6669a1f8ded531c00994a61e88046c41679237a8520963ee23787409 - 43b0ba6654b7a4d212c6690c56564578a07c01a17085852f2f635d73df663ba7 + 44e9db8c52da72fed0ef8f990ab7ba3435562942752b5eafe845ff31bb643438 + 974d4b62b69cfb8afa4c272def434db0ecb5c1b418d39b6210fa80235f24dd6d + 5e9be33412947b80cf6bd35ab49476ba75fc6f40dd0eec037e65f7f0da8040bc ) TERMUX_PKG_DEPENDS="libandroid-stub, libffi, libsqlite, zlib" TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_NO_STATICSPLIT=true +TERMUX_PKG_AUTO_UPDATE=true +TERMUX_PKG_UPDATE_TAG_TYPE="latest-release-tag" TERMUX_PKG_ON_DEVICE_BUILD_NOT_SUPPORTED=true # See https://github.com/denoland/deno/issues/2295#issuecomment-2329248010 @@ -88,7 +90,7 @@ __fetch_rusty_v8() { git reset --hard FETCH_HEAD git submodule update --init --recursive --depth=1 local f - for f in $(find "$TERMUX_PKG_BUILDER_DIR/jumbo-patches" -maxdepth 1 -type f -name *.patch | sort); do + for f in $(find "$TERMUX_PKG_BUILDER_DIR/v8-patches" -maxdepth 1 -type f -name *.patch | sort); do echo "Applying patch: $(basename $f)" patch --silent -p1 < "$f" done @@ -108,8 +110,7 @@ __build_rusty_v8() { termux_setup_gn export EXTRA_GN_ARGS=" -android32_ndk_api_level=$TERMUX_PKG_API_LEVEL -android64_ndk_api_level=$TERMUX_PKG_API_LEVEL +android_ndk_api_level=$TERMUX_PKG_API_LEVEL android_ndk_root=\"$NDK\" android_ndk_version=\"$TERMUX_NDK_VERSION\" use_jumbo_build=true @@ -137,7 +138,7 @@ use_jumbo_build=true export V8_FROM_SOURCE=1 # TODO: How to track the output of v8's build.rs without passing `-vv` - cargo build --jobs "${TERMUX_PKG_MAKE_PROCESSES}" --target "${CARGO_TARGET_NAME}" --release + cargo build --jobs "${TERMUX_PKG_MAKE_PROCESSES}" --target "${CARGO_TARGET_NAME}" --release -vv unset BINDGEN_EXTRA_CLANG_ARGS "$env_name" V8_FROM_SOURCE touch "$__SRC_DIR"/.built diff --git a/packages/deno/v8-patches/0001-unset-BINDGEN_EXTRA_CLANG_ARGS-in-v8_s-bindgen.patch b/packages/deno/v8-patches/0001-unset-BINDGEN_EXTRA_CLANG_ARGS-in-v8_s-bindgen.patch new file mode 100644 index 0000000000..7ffe775d56 --- /dev/null +++ b/packages/deno/v8-patches/0001-unset-BINDGEN_EXTRA_CLANG_ARGS-in-v8_s-bindgen.patch @@ -0,0 +1,12 @@ +--- a/build/rust/run_bindgen.py ++++ b/build/rust/run_bindgen.py +@@ -10,6 +10,9 @@ + import subprocess + import sys + ++# Remove BINDGEN_EXTRA_CLANG_ARGS from env ++del os.environ["BINDGEN_EXTRA_CLANG_ARGS"] ++ + # Set up path to be able to import action_helpers. + sys.path.append( + os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, diff --git a/packages/deno/jumbo-patches/0101-reland-jumbo-scripts.patch b/packages/deno/v8-patches/0101-reland-jumbo-scripts.patch similarity index 97% rename from packages/deno/jumbo-patches/0101-reland-jumbo-scripts.patch rename to packages/deno/v8-patches/0101-reland-jumbo-scripts.patch index d852e469dc..1d65cb0d6f 100644 --- a/packages/deno/jumbo-patches/0101-reland-jumbo-scripts.patch +++ b/packages/deno/v8-patches/0101-reland-jumbo-scripts.patch @@ -4,24 +4,22 @@ Date: Wed, 16 Apr 2025 01:01:04 +0800 Subject: [PATCH] reland jumbo scripts --- - build/config/jumbo.gni | 287 ++++++++++++++++++++++++++++++++ - build/config/merge_for_jumbo.py | 145 ++++++++++++++++ - 2 files changed, 432 insertions(+) + build/config/jumbo.gni | 280 ++++++++++++++++++++++++++++++++ + build/config/merge_for_jumbo.py | 145 +++++++++++++++++ + 2 files changed, 425 insertions(+) create mode 100644 build/config/jumbo.gni create mode 100644 build/config/merge_for_jumbo.py diff --git a/build/config/jumbo.gni b/build/config/jumbo.gni new file mode 100644 -index 0000000000..3d07646aee +index 0000000000..8d880662cb --- /dev/null +++ b/build/config/jumbo.gni -@@ -0,0 +1,287 @@ +@@ -0,0 +1,280 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + -+import("//build/config/nacl/config.gni") # To see if jumbo should be turned off -+ +declare_args() { + # If true, use a jumbo build (files compiled together) to speed up + # compilation. @@ -91,11 +89,6 @@ index 0000000000..3d07646aee + if (defined(invoker.never_build_jumbo) && invoker.never_build_jumbo) { + use_jumbo_build_for_target = false + } -+ if (is_nacl_irt) { -+ # The code is barely compatible with the nacl toolchain anymore and we -+ # don't want to stress it further with jumbo compilation units. -+ use_jumbo_build_for_target = false -+ } + + foreach(excluded_target, jumbo_build_excluded) { + if (excluded_target == target_name || diff --git a/packages/deno/jumbo-patches/0102-reland-jumbo-cflags.patch b/packages/deno/v8-patches/0102-reland-jumbo-cflags.patch similarity index 100% rename from packages/deno/jumbo-patches/0102-reland-jumbo-cflags.patch rename to packages/deno/v8-patches/0102-reland-jumbo-cflags.patch diff --git a/packages/deno/jumbo-patches/0103-reland-jumbo-for-v8.patch b/packages/deno/v8-patches/0103-reland-jumbo-for-v8.patch similarity index 73% rename from packages/deno/jumbo-patches/0103-reland-jumbo-for-v8.patch rename to packages/deno/v8-patches/0103-reland-jumbo-for-v8.patch index 8109979156..53d648e66a 100644 --- a/packages/deno/jumbo-patches/0103-reland-jumbo-for-v8.patch +++ b/packages/deno/v8-patches/0103-reland-jumbo-for-v8.patch @@ -9,31 +9,32 @@ Enable jumbo build for the following template(s): - //v8/gni/v8.gni -> template("v8_header_set") --- - v8/BUILD.gn | 104 ++++++++++++++++++ + v8/BUILD.gn | 106 ++++++++++++++++++ v8/gni/v8.gni | 7 +- .../baseline/arm/baseline-compiler-arm-inl.h | 2 + v8/src/baseline/baseline-compiler.cc | 2 + v8/src/compiler/backend/instruction.h | 4 +- v8/src/compiler/heap-refs.cc | 4 + v8/src/compiler/revectorizer.cc | 2 + - .../turboshaft/loop-unrolling-reducer.cc | 2 + + .../turboshaft/loop-unrolling-reducer.cc | 6 +- .../wasm-in-js-inlining-reducer-inl.h | 2 + .../wasm-load-elimination-reducer.h | 1 + + .../compiler/turboshaft/wasm-revec-reducer.cc | 2 + v8/src/compiler/wasm-compiler.cc | 6 +- v8/src/diagnostics/perf-jit.cc | 2 + v8/src/handles/global-handles.cc | 4 +- - v8/src/heap/code-range.cc | 2 + + v8/src/heap/code-range.cc | 14 +-- v8/src/heap/cppgc/concurrent-marker.cc | 4 + v8/src/heap/cppgc/marker.cc | 4 + v8/src/heap/minor-mark-sweep.cc | 4 + v8/src/inspector/BUILD.gn | 1 + - v8/src/inspector/value-mirror.cc | 4 + .../default-thread-isolated-allocator.cc | 2 + v8/src/maglev/arm/maglev-ir-arm.cc | 2 + v8/src/maglev/maglev-assembler-inl.h | 4 +- v8/src/maglev/maglev-assembler.cc | 2 + v8/src/maglev/maglev-code-generator.cc | 4 +- v8/src/maglev/maglev-graph-builder.cc | 3 + + v8/src/maglev/maglev-inlining.cc | 2 + v8/src/maglev/maglev-ir.cc | 2 + v8/src/objects/js-atomics-synchronization.h | 8 +- v8/src/objects/js-collator.cc | 4 + @@ -44,14 +45,14 @@ Enable jumbo build for the following template(s): v8/src/regexp/regexp-compiler-tonode.cc | 4 + v8/src/sandbox/testing.cc | 1 + v8/src/snapshot/read-only-deserializer.cc | 4 + - v8/src/torque/csa-generator.cc | 6 +- + v8/src/torque/csa-generator.cc | 4 + v8/src/utils/sha-256.cc | 3 + v8/src/wasm/wasm-external-refs.cc | 3 + v8/src/wasm/wrappers.cc | 2 + - 39 files changed, 206 insertions(+), 25 deletions(-) + 40 files changed, 213 insertions(+), 34 deletions(-) diff --git a/v8/BUILD.gn b/v8/BUILD.gn -index 1540804a..11dc79e7 100644 +index 047283a2..58ce611c 100644 --- a/v8/BUILD.gn +++ b/v8/BUILD.gn @@ -7,6 +7,7 @@ import("//build/config/arm.gni") @@ -62,7 +63,7 @@ index 1540804a..11dc79e7 100644 import("//build/config/mips.gni") import("//build/config/riscv.gni") import("//build/config/rust.gni") -@@ -3064,26 +3065,54 @@ v8_source_set("v8_initializers") { +@@ -3093,26 +3094,54 @@ v8_source_set("v8_initializers") { } } @@ -117,7 +118,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { sources += [ ### gcmole(mips64el) ### -@@ -5120,6 +5149,19 @@ v8_compiler_sources = [ +@@ -5193,6 +5222,24 @@ v8_compiler_sources = [ "src/compiler/zone-stats.cc", ] @@ -130,14 +131,19 @@ index 1540804a..11dc79e7 100644 + # FIXME: + # no type named 'kTurboshaft' in 'v8::internal::compiler::PhaseKind' + # no type named 'kThreadSpecific' in 'v8::internal::RuntimeCallStats' -+ "src/compiler/turboshaft/csa-optimize-phase.cc", ++ "src/compiler/turboshaft/csa-branch-elimination-phase.cc", ++ "src/compiler/turboshaft/csa-early-machine-optimization-phase.cc", ++ "src/compiler/turboshaft/csa-effects-computation.cc", ++ "src/compiler/turboshaft/csa-late-escape-analysis-phase.cc", ++ "src/compiler/turboshaft/csa-load-elimination-phase.cc", ++ "src/compiler/turboshaft/csa-memory-optimization-phase.cc", + "src/compiler/turboshaft/pipelines.cc", +] + if (!v8_enable_maglev) { # When Maglev is not enabled, Turboshaft still needs Maglev's graph builder. v8_compiler_sources += [ -@@ -5140,6 +5182,11 @@ if (v8_current_cpu == "x86") { +@@ -5218,6 +5265,11 @@ if (v8_current_cpu == "x86") { "src/compiler/backend/ia32/instruction-scheduler-ia32.cc", "src/compiler/backend/ia32/instruction-selector-ia32.cc", ] @@ -149,7 +155,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "x64") { v8_compiler_sources += [ ### gcmole(x64) ### -@@ -5148,6 +5195,9 @@ if (v8_current_cpu == "x86") { +@@ -5226,6 +5278,9 @@ if (v8_current_cpu == "x86") { "src/compiler/backend/x64/instruction-selector-x64.cc", "src/compiler/backend/x64/unwinding-info-writer-x64.cc", ] @@ -159,7 +165,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "arm") { v8_compiler_sources += [ ### gcmole(arm) ### -@@ -5156,6 +5206,9 @@ if (v8_current_cpu == "x86") { +@@ -5234,6 +5289,9 @@ if (v8_current_cpu == "x86") { "src/compiler/backend/arm/instruction-selector-arm.cc", "src/compiler/backend/arm/unwinding-info-writer-arm.cc", ] @@ -169,7 +175,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "arm64") { v8_compiler_sources += [ ### gcmole(arm64) ### -@@ -5164,6 +5217,9 @@ if (v8_current_cpu == "x86") { +@@ -5242,6 +5300,9 @@ if (v8_current_cpu == "x86") { "src/compiler/backend/arm64/instruction-selector-arm64.cc", "src/compiler/backend/arm64/unwinding-info-writer-arm64.cc", ] @@ -179,7 +185,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { v8_compiler_sources += [ ### gcmole(mips64el) ### -@@ -5255,6 +5311,7 @@ v8_source_set("v8_compiler_for_mksnapshot_source_set") { +@@ -5333,6 +5394,7 @@ v8_source_set("v8_compiler_for_mksnapshot_source_set") { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = v8_compiler_sources @@ -187,7 +193,7 @@ index 1540804a..11dc79e7 100644 public_deps = [ ":generate_bytecode_builtins_list", -@@ -5289,6 +5346,7 @@ v8_source_set("v8_compiler") { +@@ -5368,6 +5430,7 @@ v8_source_set("v8_compiler") { if (v8_enable_turbofan) { sources = v8_compiler_sources @@ -195,7 +201,7 @@ index 1540804a..11dc79e7 100644 } else { # With Turbofan disabled, we only include the stubbed-out API. sources = [ "src/compiler/turbofan-disabled.cc" ] -@@ -5838,6 +5896,8 @@ v8_source_set("v8_base_without_compiler") { +@@ -5925,6 +5988,8 @@ v8_source_set("v8_base_without_compiler") { ] } @@ -204,7 +210,7 @@ index 1540804a..11dc79e7 100644 if (v8_enable_maglev) { sources += [ "src/maglev/maglev-assembler.cc", -@@ -5865,6 +5925,10 @@ v8_source_set("v8_base_without_compiler") { +@@ -5957,6 +6022,10 @@ v8_source_set("v8_base_without_compiler") { "src/maglev/arm64/maglev-assembler-arm64.cc", "src/maglev/arm64/maglev-ir-arm64.cc", ] @@ -215,7 +221,7 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "riscv64") { sources += [ "src/maglev/riscv/maglev-assembler-riscv.cc", -@@ -5875,6 +5939,10 @@ v8_source_set("v8_base_without_compiler") { +@@ -5967,6 +6036,10 @@ v8_source_set("v8_base_without_compiler") { "src/maglev/x64/maglev-assembler-x64.cc", "src/maglev/x64/maglev-ir-x64.cc", ] @@ -226,25 +232,23 @@ index 1540804a..11dc79e7 100644 } else if (v8_current_cpu == "s390x") { sources += [ "src/maglev/s390/maglev-assembler-s390.cc", -@@ -5948,6 +6016,17 @@ v8_source_set("v8_base_without_compiler") { +@@ -6047,6 +6120,15 @@ v8_source_set("v8_base_without_compiler") { "src/wasm/well-known-imports.cc", "src/wasm/wrappers.cc", ] + jumbo_excluded_sources += [ + # Too many marco conflictions -+ "src/wasm/baseline/liftoff-compiler.cc", -+ -+ # Too many symbol conflictions + "src/asmjs/asm-js.cc", + "src/asmjs/asm-parser.cc", + "src/asmjs/asm-scanner.cc", ++ "src/wasm/baseline/liftoff-compiler.cc", + "src/wasm/turboshaft-graph-interface.cc", + "src/wasm/wasm-module.cc", + ] if (v8_wasm_random_fuzzers) { sources += [ ### gcmole(all) ### -@@ -5982,6 +6061,26 @@ v8_source_set("v8_base_without_compiler") { +@@ -6081,6 +6163,26 @@ v8_source_set("v8_base_without_compiler") { sources += [ "src/heap/reference-summarizer.cc" ] } @@ -271,7 +275,7 @@ index 1540804a..11dc79e7 100644 if (v8_current_cpu == "x86") { sources += [ ### gcmole(ia32) ### -@@ -6088,6 +6187,11 @@ v8_source_set("v8_base_without_compiler") { +@@ -6187,6 +6288,11 @@ v8_source_set("v8_base_without_compiler") { if (is_win) { sources += [ "src/diagnostics/unwinding-info-win64.cc" ] } @@ -284,18 +288,18 @@ index 1540804a..11dc79e7 100644 sources += [ ### gcmole(mips64el) ### diff --git a/v8/gni/v8.gni b/v8/gni/v8.gni -index e137c84b..77eccb62 100644 +index b940d52c..c66eada2 100644 --- a/v8/gni/v8.gni +++ b/v8/gni/v8.gni -@@ -4,6 +4,7 @@ - - import("//build/config/chrome_build.gni") - import("//build/config/compiler/pgo/pgo.gni") -+import("//build/config/jumbo.gni") +@@ -8,6 +8,7 @@ import("//build/config/features.gni") import("//build/config/gclient_args.gni") import("//build/config/ios/config.gni") import("//build/config/ios/ios_sdk_overrides.gni") -@@ -333,9 +334,9 @@ template("v8_source_set") { ++import("//build/config/jumbo.gni") + import("//build/config/sanitizers/sanitizers.gni") + import("//build/config/v8_target_cpu.gni") + import("//build_overrides/build.gni") +@@ -381,9 +382,9 @@ template("v8_source_set") { defined(v8_static_library) && v8_static_library && is_win) { link_target_type = "split_static_library" } else if (defined(v8_static_library) && v8_static_library) { @@ -307,7 +311,7 @@ index e137c84b..77eccb62 100644 } target(link_target_type, target_name) { forward_variables_from(invoker, -@@ -354,7 +355,7 @@ template("v8_source_set") { +@@ -402,7 +403,7 @@ template("v8_source_set") { } template("v8_header_set") { @@ -330,10 +334,10 @@ index 6d99dbe5..d6805a0a 100644 } // namespace internal } // namespace v8 diff --git a/v8/src/baseline/baseline-compiler.cc b/v8/src/baseline/baseline-compiler.cc -index 67c7ed81..1e90dfcf 100644 +index 45a624a7..e2073c4a 100644 --- a/v8/src/baseline/baseline-compiler.cc +++ b/v8/src/baseline/baseline-compiler.cc -@@ -2483,6 +2483,8 @@ SaveAccumulatorScope::~SaveAccumulatorScope() { +@@ -2517,6 +2517,8 @@ SaveAccumulatorScope::~SaveAccumulatorScope() { #undef RCS_BASELINE_SCOPE #undef __ @@ -343,10 +347,10 @@ index 67c7ed81..1e90dfcf 100644 } // namespace internal } // namespace v8 diff --git a/v8/src/compiler/backend/instruction.h b/v8/src/compiler/backend/instruction.h -index b6231ca2..c0751082 100644 +index 8a41ae83..45b84b8b 100644 --- a/v8/src/compiler/backend/instruction.h +++ b/v8/src/compiler/backend/instruction.h -@@ -520,9 +520,9 @@ class LocationOperand : public InstructionOperand { +@@ -524,9 +524,9 @@ class LocationOperand : public InstructionOperand { return static_cast(value_) >> IndexField::kShift; } @@ -359,7 +363,7 @@ index b6231ca2..c0751082 100644 FloatRegister GetFloatRegister() const { diff --git a/v8/src/compiler/heap-refs.cc b/v8/src/compiler/heap-refs.cc -index 3edb331d..84c8db51 100644 +index 8aa1fe07..19ca3805 100644 --- a/v8/src/compiler/heap-refs.cc +++ b/v8/src/compiler/heap-refs.cc @@ -27,6 +27,8 @@ @@ -371,37 +375,58 @@ index 3edb331d..84c8db51 100644 namespace v8 { namespace internal { namespace compiler { -@@ -2520,3 +2522,5 @@ unsigned CodeRef::GetInlinedBytecodeSize() const { +@@ -2571,3 +2573,5 @@ unsigned CodeRef::GetInlinedBytecodeSize() const { } // namespace compiler } // namespace internal } // namespace v8 + +#undef Is64 diff --git a/v8/src/compiler/revectorizer.cc b/v8/src/compiler/revectorizer.cc -index 1d332c42..dc9e3906 100644 +index 1d332c42..2f47c7d4 100644 --- a/v8/src/compiler/revectorizer.cc +++ b/v8/src/compiler/revectorizer.cc -@@ -1459,3 +1459,5 @@ void Revectorizer::PrintStores(ZoneMap* store_chains) { +@@ -1456,6 +1456,8 @@ void Revectorizer::PrintStores(ZoneMap* store_chains) { + } + } + ++#undef TRACE ++ } // namespace compiler } // namespace internal } // namespace v8 -+ -+#undef TRACE diff --git a/v8/src/compiler/turboshaft/loop-unrolling-reducer.cc b/v8/src/compiler/turboshaft/loop-unrolling-reducer.cc -index cc5b406f..e0f35349 100644 +index cc5b406f..9fac2172 100644 --- a/v8/src/compiler/turboshaft/loop-unrolling-reducer.cc +++ b/v8/src/compiler/turboshaft/loop-unrolling-reducer.cc -@@ -577,3 +577,5 @@ StaticCanonicalForLoopMatcher::InvertComparisonOp(CmpOp op) { - } +@@ -11,12 +11,12 @@ + #include "src/compiler/turboshaft/loop-finder.h" + + #ifdef DEBUG +-#define TRACE(x) \ ++#define TRACE_IN_LOOP_UNROLLING_REDUCER(x) \ + do { \ + if (v8_flags.turboshaft_trace_unrolling) StdoutStream() << x << std::endl; \ + } while (false) + #else +-#define TRACE(x) ++#define TRACE_IN_LOOP_UNROLLING_REDUCER(x) + #endif + + namespace v8::internal::compiler::turboshaft { +@@ -27,7 +27,7 @@ using BinOp = StaticCanonicalForLoopMatcher::BinOp; + void LoopUnrollingAnalyzer::DetectUnrollableLoops() { + for (const auto& [start, info] : loop_finder_.LoopHeaders()) { + IterationCount iter_count = GetLoopIterationCount(info); +- TRACE("LoopUnrollingAnalyzer: loop at " ++ TRACE_IN_LOOP_UNROLLING_REDUCER("LoopUnrollingAnalyzer: loop at " + << start->index() << " ==> iter_count=" << iter_count); + loop_iteration_count_.insert({start, iter_count}); - } // namespace v8::internal::compiler::turboshaft -+ -+#undef TRACE diff --git a/v8/src/compiler/turboshaft/wasm-in-js-inlining-reducer-inl.h b/v8/src/compiler/turboshaft/wasm-in-js-inlining-reducer-inl.h -index b73e8c38..357bde56 100644 +index 580cc321..29c3f8e6 100644 --- a/v8/src/compiler/turboshaft/wasm-in-js-inlining-reducer-inl.h +++ b/v8/src/compiler/turboshaft/wasm-in-js-inlining-reducer-inl.h -@@ -1289,6 +1289,8 @@ V WasmInJSInliningReducer::TryInlineWasmCall( +@@ -1316,6 +1316,8 @@ V WasmInJSInliningReducer::TryInlineWasmCall( return emitting_decoder.interface().Result(); } @@ -411,19 +436,29 @@ index b73e8c38..357bde56 100644 #include "src/compiler/turboshaft/undef-assembler-macros.inc" diff --git a/v8/src/compiler/turboshaft/wasm-load-elimination-reducer.h b/v8/src/compiler/turboshaft/wasm-load-elimination-reducer.h -index b60da48d..f9c568e5 100644 +index 569d4438..d5022dfe 100644 --- a/v8/src/compiler/turboshaft/wasm-load-elimination-reducer.h +++ b/v8/src/compiler/turboshaft/wasm-load-elimination-reducer.h -@@ -533,6 +533,7 @@ class WasmLoadEliminationReducer : public Next { +@@ -544,6 +544,7 @@ class WasmLoadEliminationReducer : public Next { EMIT_OP(StringAsWtf16) EMIT_OP(StringPrepareForGetCodeUnit) EMIT_OP(AnyConvertExtern) +#undef EMIT_OP - OpIndex REDUCE_INPUT_GRAPH(StructSet)(OpIndex ig_index, - const StructSetOp& op) { + OpIndex REDUCE_INPUT_GRAPH(StructGet)(OpIndex ig_index, + const StructGetOp& op) { +diff --git a/v8/src/compiler/turboshaft/wasm-revec-reducer.cc b/v8/src/compiler/turboshaft/wasm-revec-reducer.cc +index dc8d5da8..c80dfb39 100644 +--- a/v8/src/compiler/turboshaft/wasm-revec-reducer.cc ++++ b/v8/src/compiler/turboshaft/wasm-revec-reducer.cc +@@ -1628,3 +1628,5 @@ void WasmRevecAnalyzer::Print(const char* info) { + } + + } // namespace v8::internal::compiler::turboshaft ++ ++#undef TRACE diff --git a/v8/src/compiler/wasm-compiler.cc b/v8/src/compiler/wasm-compiler.cc -index 0cb01614..4d512397 100644 +index b92154e4..fa1b452c 100644 --- a/v8/src/compiler/wasm-compiler.cc +++ b/v8/src/compiler/wasm-compiler.cc @@ -70,7 +70,7 @@ namespace { @@ -444,7 +479,7 @@ index 0cb01614..4d512397 100644 } // TODO(ahaas): Merge TrapId with TrapReason. -@@ -1298,6 +1298,6 @@ AssemblerOptions WasmStubAssemblerOptions() { +@@ -1231,6 +1231,6 @@ AssemblerOptions WasmStubAssemblerOptions() { }; } @@ -466,7 +501,7 @@ index c509e422..e9ccece0 100644 #include "src/base/platform/wrappers.h" diff --git a/v8/src/handles/global-handles.cc b/v8/src/handles/global-handles.cc -index 4a504500..fdb26add 100644 +index af448aa4..f9d1b5f3 100644 --- a/v8/src/handles/global-handles.cc +++ b/v8/src/handles/global-handles.cc @@ -756,7 +756,7 @@ void GlobalHandles::InvokeSecondPassPhantomCallbacks() { @@ -488,15 +523,66 @@ index 4a504500..fdb26add 100644 } } diff --git a/v8/src/heap/code-range.cc b/v8/src/heap/code-range.cc -index f46af5ff..3e70505d 100644 +index 246dd07b..8b6170db 100644 --- a/v8/src/heap/code-range.cc +++ b/v8/src/heap/code-range.cc -@@ -472,3 +472,5 @@ uint8_t* CodeRange::RemapEmbeddedBuiltins(Isolate* isolate, +@@ -64,7 +64,7 @@ size_t CodeRange::GetWritableReservedAreaSize() { + return kReservedCodeRangePages * MemoryAllocator::GetCommitPageSize(); + } - } // namespace internal - } // namespace v8 -+ -+#undef TRACE +-#define TRACE(...) \ ++#define TRACE_IN_CODE_RANGE(...) \ + if (v8_flags.trace_code_range_allocation) PrintF(__VA_ARGS__) + + bool CodeRange::InitReservation(v8::PageAllocator* page_allocator, +@@ -123,7 +123,7 @@ bool CodeRange::InitReservation(v8::PageAllocator* page_allocator, + kMaxPCRelativeCodeRangeInMB > 1024 ? kMaxPCRelativeCodeRangeInMB : 4096; + auto preferred_region = GetPreferredRegion(kRadiusInMB, kPageSize); + +- TRACE("=== Preferred region: [%p, %p)\n", ++ TRACE_IN_CODE_RANGE("=== Preferred region: [%p, %p)\n", + reinterpret_cast(preferred_region.begin()), + reinterpret_cast(preferred_region.end())); + +@@ -148,10 +148,10 @@ bool CodeRange::InitReservation(v8::PageAllocator* page_allocator, + Address step = + RoundDown(preferred_region.size() / kAllocationTries, kPageSize); + for (int i = 0; i < kAllocationTries; i++) { +- TRACE("=== Attempt #%d, hint=%p\n", i, ++ TRACE_IN_CODE_RANGE("=== Attempt #%d, hint=%p\n", i, + reinterpret_cast(params.requested_start_hint)); + if (candidate_cage.InitReservation(params)) { +- TRACE("=== Attempt #%d (%p): [%p, %p)\n", i, ++ TRACE_IN_CODE_RANGE("=== Attempt #%d (%p): [%p, %p)\n", i, + reinterpret_cast(params.requested_start_hint), + reinterpret_cast(candidate_cage.region().begin()), + reinterpret_cast(candidate_cage.region().end())); +@@ -176,7 +176,7 @@ bool CodeRange::InitReservation(v8::PageAllocator* page_allocator, + params.requested_start_hint = kNullAddress; + if (!VirtualMemoryCage::InitReservation(params)) return false; + } +- TRACE("=== Fallback attempt, hint=%p: [%p, %p)\n", ++ TRACE_IN_CODE_RANGE("=== Fallback attempt, hint=%p: [%p, %p)\n", + reinterpret_cast(params.requested_start_hint), + reinterpret_cast(region().begin()), + reinterpret_cast(region().end())); +@@ -212,14 +212,14 @@ bool CodeRange::InitReservation(v8::PageAllocator* page_allocator, + // the BoundedPageAllocator. Use it if it's big enough. + const Address non_allocatable_size = page_allocator_->begin() - base(); + +- TRACE("=== non-allocatable region: [%p, %p)\n", ++ TRACE_IN_CODE_RANGE("=== non-allocatable region: [%p, %p)\n", + reinterpret_cast(base()), + reinterpret_cast(base() + non_allocatable_size)); + + // Exclude the first page from allocatable pages if the required writable + // area doesn't fit into the non-allocatable area. + if (non_allocatable_size < required_writable_area_size) { +- TRACE("=== Exclude the first page from allocatable area\n"); ++ TRACE_IN_CODE_RANGE("=== Exclude the first page from allocatable area\n"); + excluded_allocatable_area_size = kPageSize; + CHECK(page_allocator_->AllocatePagesAt(page_allocator_->begin(), + excluded_allocatable_area_size, diff --git a/v8/src/heap/cppgc/concurrent-marker.cc b/v8/src/heap/cppgc/concurrent-marker.cc index 5b16920d..e1e5199d 100644 --- a/v8/src/heap/cppgc/concurrent-marker.cc @@ -517,7 +603,7 @@ index 5b16920d..e1e5199d 100644 + +#undef kDefaultDeadlineCheckInterval diff --git a/v8/src/heap/cppgc/marker.cc b/v8/src/heap/cppgc/marker.cc -index a4ac8b6e..d582998d 100644 +index 7966799b..a613b690 100644 --- a/v8/src/heap/cppgc/marker.cc +++ b/v8/src/heap/cppgc/marker.cc @@ -57,6 +57,8 @@ bool ExitIncrementalMarkingIfNeeded(MarkingConfig config, HeapBase& heap) { @@ -529,31 +615,34 @@ index a4ac8b6e..d582998d 100644 static constexpr size_t kDefaultDeadlineCheckInterval = 150u; template ValueMirror::create(v8::Local context, - } - - } // namespace v8_inspector -+ -+#undef descriptionForSymbol diff --git a/v8/src/libplatform/default-thread-isolated-allocator.cc b/v8/src/libplatform/default-thread-isolated-allocator.cc index bda0e43c..36a365b2 100644 --- a/v8/src/libplatform/default-thread-isolated-allocator.cc @@ -599,10 +669,10 @@ index bda0e43c..36a365b2 100644 extern int pkey_alloc(unsigned int flags, unsigned int access_rights) V8_WEAK; diff --git a/v8/src/maglev/arm/maglev-ir-arm.cc b/v8/src/maglev/arm/maglev-ir-arm.cc -index 06fd376e..9cc52478 100644 +index d462924a..37f63d65 100644 --- a/v8/src/maglev/arm/maglev-ir-arm.cc +++ b/v8/src/maglev/arm/maglev-ir-arm.cc -@@ -912,6 +912,8 @@ void Return::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) { +@@ -1097,6 +1097,8 @@ void Return::GenerateCode(MaglevAssembler* masm, const ProcessingState& state) { __ Ret(); } @@ -612,10 +682,10 @@ index 06fd376e..9cc52478 100644 } // namespace internal } // namespace v8 diff --git a/v8/src/maglev/maglev-assembler-inl.h b/v8/src/maglev/maglev-assembler-inl.h -index 12ed316a..f75a408a 100644 +index 62f23d03..6c4c2d01 100644 --- a/v8/src/maglev/maglev-assembler-inl.h +++ b/v8/src/maglev/maglev-assembler-inl.h -@@ -599,11 +599,11 @@ void CheckArgs(Args&&... args) {} +@@ -603,11 +603,11 @@ void CheckArgs(Args&&... args) {} #endif // DEBUG @@ -630,10 +700,10 @@ index 12ed316a..f75a408a 100644 } else { masm->PushReverse(std::forward(stack_args)...); diff --git a/v8/src/maglev/maglev-assembler.cc b/v8/src/maglev/maglev-assembler.cc -index 18addeed..ea3630ca 100644 +index 71cdaea1..9009e0f3 100644 --- a/v8/src/maglev/maglev-assembler.cc +++ b/v8/src/maglev/maglev-assembler.cc -@@ -711,6 +711,8 @@ void MaglevAssembler::TryMigrateInstanceAndMarkMapAsMigrationTarget( +@@ -712,6 +712,8 @@ void MaglevAssembler::TryMigrateInstanceAndMarkMapAsMigrationTarget( save_register_state.DefineSafepoint(); } @@ -643,10 +713,10 @@ index 18addeed..ea3630ca 100644 } // namespace internal } // namespace v8 diff --git a/v8/src/maglev/maglev-code-generator.cc b/v8/src/maglev/maglev-code-generator.cc -index 3bc1becd..f55a2864 100644 +index 4207c84b..4d612125 100644 --- a/v8/src/maglev/maglev-code-generator.cc +++ b/v8/src/maglev/maglev-code-generator.cc -@@ -427,7 +427,6 @@ class ParallelMoveResolver { +@@ -429,7 +429,6 @@ class ParallelMoveResolver { // but otherwise this code cannot be compiled by compilers not yet // implementing CWG2518. static_assert(DecompressIfNeeded && COMPRESS_POINTERS_BOOL); @@ -654,7 +724,7 @@ index 3bc1becd..f55a2864 100644 if (targets.needs_decompression == kNeedsDecompression) { __ DecompressTagged(source_reg, source_reg); } -@@ -474,7 +473,6 @@ class ParallelMoveResolver { +@@ -476,7 +475,6 @@ class ParallelMoveResolver { // but otherwise this code cannot be compiled by compilers not yet // implementing CWG2518. static_assert(DecompressIfNeeded && COMPRESS_POINTERS_BOOL); @@ -662,7 +732,7 @@ index 3bc1becd..f55a2864 100644 if (targets.needs_decompression == kNeedsDecompression) { __ DecompressTagged(register_with_slot_value, register_with_slot_value); targets.needs_decompression = kDoesNotNeedDecompression; -@@ -2091,6 +2089,8 @@ Handle MaglevCodeGenerator::GenerateDeoptimizationData( +@@ -2130,6 +2128,8 @@ Handle MaglevCodeGenerator::GenerateDeoptimizationData( return data; } @@ -672,22 +742,33 @@ index 3bc1becd..f55a2864 100644 } // namespace internal } // namespace v8 diff --git a/v8/src/maglev/maglev-graph-builder.cc b/v8/src/maglev/maglev-graph-builder.cc -index 3163f9f0..bde91b7b 100644 +index b376c399..68876f96 100644 --- a/v8/src/maglev/maglev-graph-builder.cc +++ b/v8/src/maglev/maglev-graph-builder.cc -@@ -15249,3 +15249,6 @@ DEBUG_BREAK_BYTECODE_LIST(DEBUG_BREAK) - ReduceResult MaglevGraphBuilder::VisitIllegal() { UNREACHABLE(); } +@@ -16467,3 +16467,6 @@ ValueNode* MaglevGraphBuilder::BuildSmiUntag(ValueNode* node) { + } } // namespace v8::internal::maglev + +#undef TRACE +#undef FAIL +diff --git a/v8/src/maglev/maglev-inlining.cc b/v8/src/maglev/maglev-inlining.cc +index ab3a61d0..cb1fcd35 100644 +--- a/v8/src/maglev/maglev-inlining.cc ++++ b/v8/src/maglev/maglev-inlining.cc +@@ -421,4 +421,6 @@ ProcessResult ReturnedValueRepresentationSelector::Process( + return ProcessResult::kContinue; + } + ++#undef TRACE ++ + } // namespace v8::internal::maglev diff --git a/v8/src/maglev/maglev-ir.cc b/v8/src/maglev/maglev-ir.cc -index f642da05..cc0b0d64 100644 +index 3f46599f..67e7cec3 100644 --- a/v8/src/maglev/maglev-ir.cc +++ b/v8/src/maglev/maglev-ir.cc -@@ -8134,6 +8134,8 @@ std::optional NodeBase::TryGetInt32ConstantInput(int index) { - return {}; +@@ -8634,6 +8634,8 @@ RangeType ValueNode::GetRange() const { + } } +#undef __ @@ -716,10 +797,10 @@ index 73a03828..8b458f2f 100644 // JSSynchronizationPrimitive is the base class for JSAtomicsMutex and // JSAtomicsCondition. It contains a 32-bit state field and a pointer to a diff --git a/v8/src/objects/js-collator.cc b/v8/src/objects/js-collator.cc -index 405cad15..3c5032b7 100644 +index 9ee693fa..6ad43a79 100644 --- a/v8/src/objects/js-collator.cc +++ b/v8/src/objects/js-collator.cc -@@ -52,6 +52,8 @@ Maybe GetCaseFirst(Isolate* isolate, +@@ -53,6 +53,8 @@ Maybe GetCaseFirst(Isolate* isolate, CaseFirst::kUndefined); } @@ -728,17 +809,17 @@ index 405cad15..3c5032b7 100644 // TODO(gsathya): Consider internalizing the value strings. void CreateDataPropertyForOptions(Isolate* isolate, DirectHandle options, -@@ -593,3 +595,5 @@ const std::set& JSCollator::GetAvailableLocales() { +@@ -597,3 +599,5 @@ const std::set& JSCollator::GetAvailableLocales() { } // namespace internal } // namespace v8 + +#undef CreateDataPropertyForOptions diff --git a/v8/src/objects/js-duration-format.cc b/v8/src/objects/js-duration-format.cc -index 4524d71d..7134c666 100644 +index b8d771a6..f7298940 100644 --- a/v8/src/objects/js-duration-format.cc +++ b/v8/src/objects/js-duration-format.cc -@@ -1071,7 +1071,7 @@ MaybeDirectHandle FormattedToString( +@@ -1069,7 +1069,7 @@ MaybeDirectHandle FormattedToString( return Intl::FormattedToString(isolate, formatted); } @@ -747,9 +828,9 @@ index 4524d71d..7134c666 100644 Isolate* isolate, const icu::FormattedValue& formatted, const std::vector>* parts, JSDurationFormat::Separator separator) { -@@ -1134,7 +1134,7 @@ MaybeDirectHandle JSDurationFormat::FormatToParts( +@@ -1132,7 +1132,7 @@ MaybeDirectHandle JSDurationFormat::FormatToParts( Isolate* isolate, DirectHandle df, - Handle duration) { + DirectHandle duration) { const char* method_name = "Intl.DurationFormat.prototype.formatToParts"; - return FormatCommon( + return FormatCommon( @@ -757,10 +838,10 @@ index 4524d71d..7134c666 100644 } diff --git a/v8/src/objects/js-list-format.cc b/v8/src/objects/js-list-format.cc -index 97a0f6a8..eb3b69f0 100644 +index d24c39c3..d6851180 100644 --- a/v8/src/objects/js-list-format.cc +++ b/v8/src/objects/js-list-format.cc -@@ -247,7 +247,7 @@ DirectHandle IcuFieldIdToType(Isolate* isolate, int32_t field_id) { +@@ -250,7 +250,7 @@ DirectHandle IcuFieldIdToType(Isolate* isolate, int32_t field_id) { // A helper function to convert the FormattedList to a // MaybeHandle for the implementation of formatToParts. @@ -769,7 +850,7 @@ index 97a0f6a8..eb3b69f0 100644 Isolate* isolate, const icu::FormattedValue& formatted) { DirectHandle array = isolate->factory()->NewJSArray(0); icu::ConstrainedFieldPosition cfpos; -@@ -285,7 +285,7 @@ MaybeDirectHandle JSListFormat::FormatListToParts( +@@ -288,7 +288,7 @@ MaybeDirectHandle JSListFormat::FormatListToParts( Isolate* isolate, DirectHandle format, DirectHandle list) { return FormatListCommon(isolate, format, list, @@ -779,10 +860,10 @@ index 97a0f6a8..eb3b69f0 100644 namespace { diff --git a/v8/src/objects/js-plural-rules.cc b/v8/src/objects/js-plural-rules.cc -index 4606b75f..ad3d6187 100644 +index 60041add..1094a8d5 100644 --- a/v8/src/objects/js-plural-rules.cc +++ b/v8/src/objects/js-plural-rules.cc -@@ -223,6 +223,8 @@ MaybeDirectHandle JSPluralRules::ResolvePluralRange( +@@ -222,6 +222,8 @@ MaybeDirectHandle JSPluralRules::ResolvePluralRange( return Intl::ToString(isolate, result); } @@ -791,7 +872,7 @@ index 4606b75f..ad3d6187 100644 namespace { void CreateDataPropertyForOptions(Isolate* isolate, -@@ -387,3 +389,5 @@ const std::set& JSPluralRules::GetAvailableLocales() { +@@ -386,3 +388,5 @@ const std::set& JSPluralRules::GetAvailableLocales() { } // namespace internal } // namespace v8 @@ -820,7 +901,7 @@ index 7bee9f11..391dac8c 100644 } // namespace internal diff --git a/v8/src/regexp/regexp-compiler-tonode.cc b/v8/src/regexp/regexp-compiler-tonode.cc -index a71b6112..735773cd 100644 +index fd558992..190e9ee0 100644 --- a/v8/src/regexp/regexp-compiler-tonode.cc +++ b/v8/src/regexp/regexp-compiler-tonode.cc @@ -18,6 +18,8 @@ @@ -832,26 +913,26 @@ index a71b6112..735773cd 100644 namespace v8 { namespace internal { -@@ -2071,3 +2073,5 @@ RegExpNode* RegExpQuantifier::ToNode(int min, int max, bool is_greedy, +@@ -2110,3 +2112,5 @@ RegExpNode* RegExpQuantifier::ToNode(int min, int max, bool is_greedy, } // namespace internal } // namespace v8 + +#undef kMaxCodePoint diff --git a/v8/src/sandbox/testing.cc b/v8/src/sandbox/testing.cc -index 5fd8a557..a049f497 100644 +index 52d73951..d96f56f4 100644 --- a/v8/src/sandbox/testing.cc +++ b/v8/src/sandbox/testing.cc -@@ -18,6 +18,7 @@ - #include +@@ -20,6 +20,7 @@ #include + #include #include +#undef MAP_TYPE #endif // V8_OS_LINUX #ifdef V8_USE_ADDRESS_SANITIZER diff --git a/v8/src/snapshot/read-only-deserializer.cc b/v8/src/snapshot/read-only-deserializer.cc -index c6eb0694..a79565a7 100644 +index 24e770f1..3568071a 100644 --- a/v8/src/snapshot/read-only-deserializer.cc +++ b/v8/src/snapshot/read-only-deserializer.cc @@ -14,6 +14,8 @@ @@ -863,14 +944,14 @@ index c6eb0694..a79565a7 100644 namespace v8 { namespace internal { -@@ -387,3 +389,5 @@ void ReadOnlyDeserializer::PostProcessNewObjects() { +@@ -428,3 +430,5 @@ void ReadOnlyDeserializer::PostProcessNewObjects() { } // namespace internal } // namespace v8 + +#undef NoExternalReferencesCallback diff --git a/v8/src/torque/csa-generator.cc b/v8/src/torque/csa-generator.cc -index 4495f0b1..2eb02e62 100644 +index 4495f0b1..cc61f718 100644 --- a/v8/src/torque/csa-generator.cc +++ b/v8/src/torque/csa-generator.cc @@ -12,6 +12,8 @@ @@ -882,15 +963,6 @@ index 4495f0b1..2eb02e62 100644 namespace v8::internal::torque { std::optional> CSAGenerator::EmitGraph( -@@ -947,7 +949,7 @@ void CSAGenerator::EmitInstruction(const StoreReferenceInstruction& instruction, - - namespace { - std::string GetBitFieldSpecialization(const Type* container, -- const BitField& field) { -+ const BitField& field) { - auto smi_tagged_type = - Type::MatchUnaryGeneric(container, TypeOracle::GetSmiTaggedGeneric()); - std::string container_type = smi_tagged_type @@ -1083,3 +1085,5 @@ void CSAGenerator::EmitCSAValue(VisitResult result, } @@ -909,10 +981,10 @@ index 4b1d2bd4..f55c0b4a 100644 +#undef ror +#undef shr diff --git a/v8/src/wasm/wasm-external-refs.cc b/v8/src/wasm/wasm-external-refs.cc -index 6dc9ee08..6bb780aa 100644 +index 2be79a9d..faa205ef 100644 --- a/v8/src/wasm/wasm-external-refs.cc +++ b/v8/src/wasm/wasm-external-refs.cc -@@ -750,6 +750,8 @@ V ReadAndIncrementOffset(Address data, size_t* offset) { +@@ -715,6 +715,8 @@ V ReadAndIncrementOffset(Address data, size_t* offset) { return result; } @@ -921,16 +993,16 @@ index 6dc9ee08..6bb780aa 100644 constexpr int32_t kSuccess = 1; constexpr int32_t kOutOfBounds = 0; } // namespace -@@ -1119,3 +1121,4 @@ Address load_old_fp(Isolate* isolate) { +@@ -1122,3 +1124,4 @@ Address load_old_fp(Isolate* isolate) { #undef V8_WITH_SANITIZER #undef RESET_THREAD_IN_WASM_FLAG_FOR_ASAN_ON_WINDOWS +#undef kSuccess diff --git a/v8/src/wasm/wrappers.cc b/v8/src/wasm/wrappers.cc -index dcd6e438..60aefe08 100644 +index f6185c3f..98f71562 100644 --- a/v8/src/wasm/wrappers.cc +++ b/v8/src/wasm/wrappers.cc -@@ -1327,4 +1327,6 @@ void BuildWasmWrapper(compiler::turboshaft::PipelineData* data, +@@ -1283,4 +1283,6 @@ void BuildWasmWrapper(compiler::turboshaft::PipelineData* data, } }