nodejs/deps/v8/test/mjsunit/regress/regress-crbug-366873205.js

61 lines
1.6 KiB
JavaScript
Raw Permalink Normal View History

// 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 --no-enable-sse4-2
(function TestSmiArray() {
function f() {
let arr = Array(48).fill(1, 0);
arr[15] = -6;
arr[16] = 153;
arr[17] = -42;
arr[18] = 0x3fffffff;
arr[19] = -0x40000000;
assertEquals(15, arr.indexOf(-6));
assertEquals(16, arr.indexOf(153));
assertEquals(17, arr.indexOf(-42));
assertEquals(18, arr.indexOf(0x3fffffff));
assertEquals(19, arr.indexOf(-0x40000000));
assertTrue(arr.includes(-6));
assertTrue(arr.includes(153));
assertTrue(arr.includes(-42));
assertTrue(arr.includes(0x3fffffff));
assertTrue(arr.includes(-0x40000000));
}
%PrepareFunctionForOptimization(f);
f();
%OptimizeFunctionOnNextCall(f);
f();
})();
(function TestObjectArray() {
return;
function f() {
let arr = Array(48).fill(1, 0);
arr[15] = -6;
arr[16] = Object;
arr[17] = 153;
arr[18] = Array;
arr[19] = null;
assertEquals(15, arr.indexOf(-6));
assertEquals(16, arr.indexOf(Object));
assertEquals(17, arr.indexOf(153));
assertEquals(18, arr.indexOf(Array));
assertEquals(19, arr.indexOf(null));
assertTrue(arr.includes(-6));
assertTrue(arr.includes(Object));
assertTrue(arr.includes(153));
assertTrue(arr.includes(Array));
assertTrue(arr.includes(null));
}
%PrepareFunctionForOptimization(f);
f();
%OptimizeFunctionOnNextCall(f);
f();
})();