26 lines
597 B
JavaScript
26 lines
597 B
JavaScript
description(
|
|
"Tests that a redundant load of a captured variable that was proven to be a constant doesn't crash the compiler."
|
|
);
|
|
|
|
function foo(o, p) {
|
|
var x = o.f;
|
|
if (p)
|
|
return function() { return x; }
|
|
else {
|
|
var a = x;
|
|
var b = x;
|
|
return [a, b];
|
|
}
|
|
}
|
|
|
|
var o = {f:function() { return 32; }};
|
|
|
|
for (var i = 0; i < 100; ++i) {
|
|
var expected;
|
|
if (i % 2)
|
|
expected = "\"function () { return x; }\"";
|
|
else
|
|
expected = "\"function () { return 32; },function () { return 32; }\"";
|
|
shouldBe("\"\" + foo(o, i % 2)", expected);
|
|
}
|