Original commit message: Fix mistake in the skip branch of test/mjsunit/regress-1320641.js It was doing a `string.test(regex)` which was wrong. It's supposed to be `regex.test(string)`. It wasn't caught in the CI because the skip path is not normally taken in the V8 CI. Change-Id: Id1bdab5bbc41968bba8adc1cb3664e8f95fb5d72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4697855 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#89044} Refs:9f4b7699f6
PR-URL: https://github.com/nodejs/node/pull/48830 Refs:c1a54d5ffc
Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
29 lines
661 B
JavaScript
29 lines
661 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
|
|
|
|
function foo(){
|
|
const xs = new Uint16Array(3775336418);
|
|
return xs[-981886074];
|
|
}
|
|
|
|
var skip = false;
|
|
try {
|
|
new Uint16Array(3775336418);
|
|
} catch (e) {
|
|
if (/Array buffer allocation failed/.test(e.message)) {
|
|
skip = true; // We don't have enough memory, just skip the test.
|
|
}
|
|
}
|
|
|
|
if (!skip) {
|
|
%PrepareFunctionForOptimization(foo);
|
|
foo();
|
|
|
|
assertEquals(undefined, foo());
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
assertEquals(undefined, foo());
|
|
}
|