blob: 23d355be88ef094f4c4d2189fe1238ccb0ce93e7 [file] [log] [blame]
description(
"Tests that the DFG knows that a function that appears like Math.abs could potentially use value in arbitrary ways, and not just in a context that converts values to numbers."
);
function foo(f, array, i) {
return f(array[i]);
}
function bar(value) {
return value;
}
silentTestPass = true;
noInline(foo);
for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
var f, array, expected;
if (i == 190) {
f = "bar";
array = "[, 1.5]";
expected = "void 0";
} else {
f = "Math.abs";
array = "[1.5]";
expected = "Math.abs(1.5)";
}
shouldBe("foo(" + f + ", " + array + ", 0)", expected);
}