Files
Kmake/deps/v8/test/mjsunit/compiler/regress-crbug-1479847.js

23 lines
744 B
JavaScript
Raw Normal View History

2026-05-26 23:36:42 -07:00
// 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());