node/deps/v8/test/mjsunit/compiler/regress-crbug-1479847.js
Michaël Zasso d8c97e4857
deps: update V8 to 11.9.169.7
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-01-04 09:30:13 +01:00

23 lines
744 B
JavaScript

// Copyright 2023 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 --turboshaft --turboshaft-verify-reductions
function f() {
// By allocating an array and storing into it, we delay the constant folding
// of `arr[0] * arr[1]` to the backend. The corresponding
// OverflowCheckedBinopOp should thus reach Turboshaft's
// MachineOptimizationReducer with 2 constant inputs, leading to a reduction
// that replaces it with a Tuple.
let arr = [0, 0];
arr[0] = 42
arr[1] = 27;
return arr[0] * arr[1];
}
%PrepareFunctionForOptimization(f);
print(f());
%OptimizeFunctionOnNextCall(f);
print(f());