| description( | |
| "Tests that the DFG will still perform speculations on dead things." | |
| ); | |
| function foo(a, b) { | |
| var x = a.f - b; | |
| return 10; | |
| } | |
| var thingy = {f:42}; | |
| var variable = 84; | |
| var expected = 84; | |
| noInline(foo); | |
| silentTestPass = true; | |
| for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) { | |
| if (i == 150) { | |
| thingy = {f:{valueOf:function(){ variable = 24; return 5; }}}; | |
| expected = 24; | |
| } | |
| shouldBe("foo(thingy, i)", "10"); | |
| shouldBe("variable", "" + expected); | |
| } | |