Source code
Revision control
Copy as Markdown
Other Tools
// |jit-test| --fast-warmup; --no-threads
with ({}) {}
function foo(a) {
a.prop = 0;
}
class A {
set prop(x) { }
}
function newShape() {
class B extends A {}
return new B();
}
function triggerIonCompile() {
with ({}) {}
for (var i = 0; i < 50; i++) {
foo(initialShapes[i % initialShapes.length])
}
}
var initialShapes = [];
for (var i = 0; i < 8; i++) {
initialShapes.push(newShape());
}
triggerIonCompile();
for (var i = 0; i < 10; i++) {
foo(0);
}
foo(newShape());
triggerIonCompile();