node/deps/v8/test/mjsunit/const-tracking-let-globalic-slow-path.js
Michaël Zasso 1d29d81c69 deps: update V8 to 12.3.219.16
PR-URL: https://github.com/nodejs/node/pull/52293
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2024-04-19 08:39:47 +00:00

123 lines
2.0 KiB
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: --const-tracking-let --allow-natives-syntax
// Flags: --turbofan --no-always-turbofan --maglev --no-stress-maglev
// Flags: --sparkplug --no-always-sparkplug --stress-ic
let a0 = 0;
let a1 = 0;
let a2 = 0;
let a3 = 0;
let a4 = 0;
let a5 = 0;
let a6 = 0;
let a7 = 0;
let a8 = 0;
let a9 = 0;
let a10 = 0;
let a11 = 0;
let a12 = 0;
let a13 = 0;
let a14 = 0;
let a15 = 0;
let a16 = 0;
let a17 = 0;
let a18 = 0;
let a19 = 0;
let a20 = 0;
let a21 = 0;
let a22 = 0;
let a23 = 0;
let a24 = 0;
let a25 = 0;
let a26 = 0;
let a27 = 0;
let a28 = 0;
let a29 = 0;
let a30 = 0;
let a31 = 0;
let a32 = 0;
let a33 = 0;
let a34 = 0;
let a35 = 0;
let a36 = 0;
let a37 = 0;
let a38 = 0;
let a39 = 0;
let a40 = 0;
let a41 = 0;
let a42 = 0;
let a43 = 0;
let a44 = 0;
let a45 = 0;
let a46 = 0;
let a47 = 0;
let a48 = 0;
let a49 = 0;
let a50 = 0;
let a51 = 0;
let a52 = 0;
let a53 = 0;
let a54 = 0;
let a55 = 0;
let a56 = 0;
let a57 = 0;
let a58 = 0;
let a59 = 0;
let a60 = 0;
let a61 = 0;
let a62 = 0;
let a63 = 0;
let a64 = 0;
let a65 = 0;
let a66 = 0;
let a67 = 0;
let a68 = 0;
let a69 = 0;
let a70 = 0;
let a71 = 0;
let a72 = 0;
let a73 = 0;
let a74 = 0;
let a75 = 0;
let a76 = 0;
let a77 = 0;
let a78 = 0;
let a79 = 0;
let a80 = 0;
let a81 = 0;
let a82 = 0;
let a83 = 0;
let a84 = 0;
let a85 = 0;
let a86 = 0;
let a87 = 0;
let a88 = 0;
let a89 = 0;
let a90 = 0;
let a91 = 0;
let a92 = 0;
let a93 = 0;
let a94 = 0;
let a95 = 0;
let a96 = 0;
let a97 = 0;
let a98 = 0;
let a99 = 0;
for (let i = 0; i < 100; ++i) {
// Use RuntimeEvaluateREPL so that set will use the StaGlobal bytecode.
%RuntimeEvaluateREPL('set = function set(newValue) {a' + i + ' = newValue;}');
%PrepareFunctionForOptimization(set);
set(0);
eval('read = function read() { return a' + i + ';}');
%PrepareFunctionForOptimization(read);
read();
%OptimizeFunctionOnNextCall(read);
assertEquals(0, read());
set(123);
assertEquals(123, read());
}