Files
Kmake/deps/v8/test/mjsunit/maglev/regress-328281224.js
2026-05-26 23:36:42 -07:00

28 lines
792 B
JavaScript

// Copyright 2024 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 --maglev --no-maglev-inlining
function f() {}
function foo() {
var x;
try {
x = [1, 2, 3];
f(); // f can throw, so we will need to re-materialize x.
x = undefined; // we need to mutate x, otherwise the lifetime
// of the object goes until the return, the array
// has a load-use and we do not reproduce the crash.
f(); // call forces to trash all registers in regalloc.
} catch(e) {
}
return x;
}
%PrepareFunctionForOptimization(foo);
foo();
foo();
%OptimizeMaglevOnNextCall(foo);
foo();