DFG LICM needs to go all-in on the idea that some loops can't be LICMed
[WebKit-https.git] / Source / JavaScriptCore / tests / stress / licm-pre-header-cannot-exit-nested.js
1 //@ runMiscFTLNoCJITTest("--createPreHeaders=false")
2
3 function foo(object, predicate) {
4     for (var j = 0; j < 10; ++j) {
5         var result = 0;
6         var i = 0;
7         if (DFGTrue())
8             predicate = 42;
9         while (predicate >= 42) {
10             result += object.array[i++];
11             if (i >= object.array.length)
12                 break;
13         }
14     }
15     return result;
16 }
17
18 noInline(foo);
19
20 for (var i = 0; i < 10000; ++i)
21     foo({array: [1, 2, 3]}, {valueOf: function() { return 42; }});