test262/implementation-contributed/javascriptcore/stress/regress-190186.js

96 lines
2.6 KiB
JavaScript

//@ runDefault("--useConcurrentJIT=false", "--sweepSynchronously=true")
// This test passes if it does not crash with an ASAN build.
(function() {
var bar = {};
for (var i = 0; i < 68; ++i)
String.raw`boo`;
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`bar += 0;`);
eval(String.raw`foo = class { };`);
foo += 0;
gc();
try {
eval(foo.toString());
} catch (e) {
exception = e;
}
if (exception != "SyntaxError: Class statements must have a name.")
throw "FAIL";
})();