node/deps/v8/test/mjsunit/compiler/regress-crbug-1209558.js
Michaël Zasso 50930a0fa0
deps: update V8 to 9.3.345.16
PR-URL: https://github.com/nodejs/node/pull/39469
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-30 21:02:51 +02:00

60 lines
1001 B
JavaScript

// 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();
}