var a = [ "String", false, 42 ]; | |
var count = 0; | |
function getX(fromDFG) { | |
if (fromDFG) | |
return 42; | |
return false; | |
} | |
noInline(getX); | |
function foo(index) { | |
var result = false; | |
var x = getX(DFGTrue()); | |
x * 2; | |
var y = a[index % a.length]; | |
result = y === x; | |
count += 1; | |
return result; | |
} | |
noInline(foo); | |
var loopCount = 10000; | |
function bar() { | |
var result; | |
for (var i = 0; i < loopCount - 1; i++) | |
result = foo(i) | |
result = foo(0); | |
return result; | |
} | |
var result = bar(); | |
if (result != false) | |
throw "Error: bad result expected false: " + result; | |
if (count != loopCount) | |
throw "Error: bad count, expected: " + loopCount + ", got: " + count; |