[compiler] Add regression tests
Bug: chromium:1209558, chromium:1211215 Tbr: ishell@chromium.org, dinfuehr@chromium.org Change-Id: I0908927b597432376b8e8881d278b80dca08ed8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992723 Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75442}
This commit is contained in:
parent
1a6159566c
commit
67cac2c51a
59
test/mjsunit/compiler/regress-crbug-1209558.js
Normal file
59
test/mjsunit/compiler/regress-crbug-1209558.js
Normal file
@ -0,0 +1,59 @@
|
||||
// Copyright 2021 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: --expose-gc --interrupt-budget=100 --predictable
|
||||
|
||||
|
||||
let GC;
|
||||
(function () {
|
||||
let countGC = 0;
|
||||
GC = function () {
|
||||
if (countGC++ < 50) gc();
|
||||
};
|
||||
})();
|
||||
|
||||
|
||||
var dummy = {};
|
||||
dummy.index = 1;
|
||||
delete dummy.index;
|
||||
GC();
|
||||
dummy.index = 1;
|
||||
delete dummy.index;
|
||||
GC();
|
||||
dummy.index = 1;
|
||||
delete dummy.index;
|
||||
GC();
|
||||
dummy.index = 1;
|
||||
delete dummy.index;
|
||||
GC();
|
||||
dummy.index = 1;
|
||||
delete dummy.index;
|
||||
GC();
|
||||
|
||||
|
||||
function main() {
|
||||
const obj = {};
|
||||
const anotherobj = { a: 10 };
|
||||
obj.d = anotherobj;
|
||||
|
||||
try {
|
||||
delete obj.d;
|
||||
GC();
|
||||
} catch (e) {}
|
||||
|
||||
try { obj.d = obj; } catch (e) {}
|
||||
|
||||
const a = [1];
|
||||
try {
|
||||
for (var i = 0; i < 10; i++) {
|
||||
var s = "";
|
||||
s.x = function () { if (typeof i == "object") gaga(a); };
|
||||
try { obj[0] = {}; } catch (e) {}
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
for (var i = 0; i < 50; i++) {
|
||||
main();
|
||||
}
|
40
test/mjsunit/compiler/regress-crbug-1211215.js
Normal file
40
test/mjsunit/compiler/regress-crbug-1211215.js
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright 2021 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: --interrupt-budget=1000 --no-lazy-feedback-allocation
|
||||
|
||||
var __v_0 = "exception";
|
||||
var __v_1 = 0;
|
||||
var __v_2 = [, true, true, false, false, true, true, true, false, false, true,
|
||||
true, false, false, true, false, true, true, false, false, true, true,
|
||||
false, true, true, false, false, true, true, false, false, __v_0, __v_1,
|
||||
true, true, __v_0, __v_0, true, true, __v_0, __v_0, false, true, __v_0,
|
||||
__v_0, false, true, __v_0, __v_0, true, false, __v_0, __v_0, true, false,
|
||||
__v_0, __v_0, false, false, __v_0, __v_0, false, false, false, false, __v_0,
|
||||
__v_0, false, false, __v_0, __v_0, true, false, __v_0, __v_0, true, false,
|
||||
__v_0, __v_0, false, true, __v_0, __v_0, false, true, __v_0, __v_0, true,
|
||||
true, __v_0, __v_0, true, true, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0,
|
||||
__v_0, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0, __v_0,
|
||||
__v_0, __v_0, __v_0, __v_0, __v_0, __v_1, __v_0, __v_0, __v_0, __v_0, __v_0,
|
||||
__v_0, __v_1, __v_0, __v_0, __v_0];
|
||||
|
||||
for (var __v_3 = 0; __v_3 < 256; __v_3++) {
|
||||
__f_1();
|
||||
}
|
||||
|
||||
function __f_0() { __v_2[__v_1]; }
|
||||
function __f_3() { __v_2.shift(); }
|
||||
function __f_1() {
|
||||
try {
|
||||
var __v_18 = __v_8 ? new __v_9() : new __v_17();
|
||||
} catch (e) {}
|
||||
try {
|
||||
var __v_19 = __v_9 ? new __v_16() : new __v_17();
|
||||
} catch (e) {}
|
||||
__f_0();
|
||||
__f_3();
|
||||
try {
|
||||
if (__v_14) {}
|
||||
} catch (e) {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user