blob: 8c78395d34e495b5523ab98e92db0779ae96c2d2 [file] [log] [blame]
description(
"Check that short-circuiting Branch(LogicalNot(@a)) and then failing speculation does not result in the branch being taken the wrong way."
);
function foo(a) {
if (a.f)
return 1;
return 0;
}
function bar(a) {
var b = !a.f;
if (b)
return 1;
return 0;
}
silentTestPass = true;
noInline(foo);
noInline(bar);
var True = true;
var False = false;
for (var i = 0; i < 200; i = dfgIncrement({f:[foo, bar], i:i + 1, n:50})) {
var x;
if (i == 100) {
True = "string";
False = void 0;
}
shouldBe("foo({f:True})", "1");
shouldBe("foo({f:False})", "0");
shouldBe("bar({f:True})", "0");
shouldBe("bar({f:False})", "1");
}