Source code

Revision control

Copy as Markdown

Other Tools

// |jit-test| --fast-warmup
var sum = 0;
function foo(o) {
sum += o.a;
}
with({}) {}
// Fold a stub with two cases.
for (var i = 0; i < 11; i++) {
foo({a:1});
foo({a:1,b:2});
}
// Add a third case.
foo({a:1,b:2,c:3});
// Warp-compile.
for (var i = 0; i < 16; i++) {
foo({a:1});
}
// Add a fourth case.
foo({a:1,b:2,c:3,d:4});
// Run for a while in Warp.
for (var i = 0; i < 20; i++) {
foo({a:1});
foo({a:1,b:2});
foo({a:1,b:2,c:3});
foo({a:1,b:2,c:3,d:4});
}
assertEq(sum, 120);