Commit 67cac2c5 authored by Georg Neis's avatar Georg Neis Committed by V8 LUCI CQ

[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/+/2992723Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75442}
parent 1a615956
// 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();
}
// 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) {}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment