blob: e52693162cadadd254c93a490b5360cf4394d9c9 [file] [log] [blame]
description(
"Tests what happens if we fail to constant fold a LogicalNot that leads into a branch, when the CFA proves that the LogicalNot has a constant value."
);
function foo1(o) {
if (!!o.thingy)
return o.thingy(42);
else
return o.otherThingy(57);
}
function foo2(o) {
if (!o.thingy)
return o.otherThingy(42);
else
return o.thingy(57);
}
function Stuff() {
}
Stuff.prototype = {
thingy: function(x) { return x + 1; },
otherThingy: function(x) { return x - 1; }
};
dfgShouldBe(foo1, "foo1(new Stuff())", "43");
dfgShouldBe(foo2, "foo2(new Stuff())", "58");