1function Foo(a, b) { 2 this.f = a.f; 3 this.g = b.f + 1; 4} 5 6function foo(a, b) { 7 return new Foo(a, b); 8} 9 10noInline(foo); 11 12for (var i = 0; i < 100000; ++i) { 13 var result = foo({f:1}, {f:2}); 14 if (result.f != 1) 15 throw "Error: bad result.f: " + result.f; 16 if (result.g != 3) 17 throw "Error: bad result.g: " + result.g; 18} 19 20var result = foo({f:1}, {f:2.5}); 21if (result.f != 1) 22 throw "Error: bad result.f: " + result.f; 23if (result.g != 3.5) 24 throw "Error: bad result.f: " + result.g; 25