var o = {f:42}; | |
function foo(p, o, v) { | |
if (p) | |
o.f = v; | |
} | |
function bar() { | |
return o.f; | |
} | |
noInline(foo); | |
noInline(bar); | |
for (var i = 0; i < 10; ++i) | |
foo(false); | |
for (var i = 0; i < 10; ++i) | |
foo(true, {}, 42); | |
for (var i = 0; i < 10; ++i) | |
foo(true, o, 42); | |
for (var i = 0; i < 100000; ++i) { | |
var result = bar(); | |
if (result != 42) | |
throw "Error: bad result: " + result; | |
} | |
foo(true, o, 53); | |
var result = bar(); | |
if (result != 53) | |
throw "Error: bad result at end: " + result; |