Source code

Revision control

Copy as Markdown

Other Tools

function rnd(n){return (Math.random()*n)|0;}
var cmds = ["set-color-gray","set-color-black","unset-color","yield",
"enter-weak-marking-mode","drain"];
for (var iter = 0; iter < 100; iter++) {
try {
clearMarkQueue();
gczeal(11, 1 + rnd(3)); // IncrementalMarkingValidator
if (rnd(2)) gczeal(9, 1 + rnd(3)); // YieldBeforeSweeping
var n = rnd(8);
for (var i = 0; i < n; i++) {
if (rnd(2)) enqueueMark(cmds[rnd(cmds.length)]);
else enqueueMark({v:i, w:{x:i}});
}
startgc(rnd(40));
for (var s = 0; s < 8; s++) gcslice(rnd(40));
finishgc();
var a = []; for (var j = 0; j < rnd(1500); j++) a.push({p:j});
} catch(e) {}
}