Source code

Revision control

Copy as Markdown

Other Tools

setJitCompilerOption("inlining.bytecode-max-length", 200);
function escape(x) { with ({}) {} }
class Bar {
constructor(x, y) {
this.value = x + y;
}
}
class Foo extends Bar {
constructor(...args) {
escape(args);
super(...args);
}
}
// |Foo| must be small enough to be inlinable.
assertEq(isSmallFunction(Foo), true);
with ({}) {}
var sum = 0;
for (var i = 0; i < 100; i++) {
let obj = new Foo(1, 2);
sum += obj.value;
}
assertEq(sum, 300);