From 82a0d62675f9ec1a4f18d2dca8ec343743eb608c Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Sun, 14 Dec 2025 00:44:10 +0000 Subject: [PATCH] deps: patch V8 to 14.3.127.17 Refs: https://github.com/v8/v8/compare/14.3.127.16...14.3.127.17 --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/maglev/arm64/maglev-ir-arm64.cc | 6 ++--- .../test/mjsunit/maglev/regress-466786677.js | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 deps/v8/test/mjsunit/maglev/regress-466786677.js diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index a24677d508ecfa..d094da01d71a80 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 14 #define V8_MINOR_VERSION 3 #define V8_BUILD_NUMBER 127 -#define V8_PATCH_LEVEL 16 +#define V8_PATCH_LEVEL 17 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/maglev/arm64/maglev-ir-arm64.cc b/deps/v8/src/maglev/arm64/maglev-ir-arm64.cc index b71a0c7b314ae0..29c7ec267268a9 100644 --- a/deps/v8/src/maglev/arm64/maglev-ir-arm64.cc +++ b/deps/v8/src/maglev/arm64/maglev-ir-arm64.cc @@ -323,7 +323,7 @@ void Int32Multiply::GenerateCode(MaglevAssembler* masm, __ Smull(out, left, right); // Making sure that the 32-bit output is zero-extended. - __ Move(out.W(), out.W()); + __ Mov(out.W(), out.W()); } void Int32MultiplyOverflownBits::SetValueLocationConstraints() { @@ -468,7 +468,7 @@ void Int32MultiplyWithOverflow::GenerateCode(MaglevAssembler* masm, // Making sure that the 32-bit output is zero-extended (and moving it to the // right register if {out_alias_input} is true). - __ Move(out, res.W()); + __ Mov(out, res.W()); } void Int32DivideWithOverflow::SetValueLocationConstraints() { @@ -536,7 +536,7 @@ void Int32DivideWithOverflow::GenerateCode(MaglevAssembler* masm, __ CompareAndBranch(temp, Immediate(0), ne, __ GetDeoptLabel(this, DeoptimizeReason::kNotInt32)); - __ Move(out, res); + __ Mov(out, res); } void Int32ModulusWithOverflow::SetValueLocationConstraints() { diff --git a/deps/v8/test/mjsunit/maglev/regress-466786677.js b/deps/v8/test/mjsunit/maglev/regress-466786677.js new file mode 100644 index 00000000000000..5b58f1104c09d1 --- /dev/null +++ b/deps/v8/test/mjsunit/maglev/regress-466786677.js @@ -0,0 +1,22 @@ +// Copyright 2025 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax + +function trigger(cond) { + let o = {}; + let mul = (cond ? 1 : 0x80000000) | 0; + print(mul); + let idx = (mul * 2) | 0; + print(idx); + o[0] = 1.1; + if (cond) o[1] = 2.2; + return o[idx]; +} + +%PrepareFunctionForOptimization(trigger); +trigger(true); +trigger(false); +%OptimizeMaglevOnNextCall(trigger); +trigger(false);