recover-callee.js (617B)
1 // |jit-test| --fast-warmup; --no-threads 2 3 setJitCompilerOption("baseline.warmup.trigger", 0); 4 setJitCompilerOption("ion.warmup.trigger", 100); 5 6 var uceFault = function (i) { 7 if (i > 98) 8 uceFault = function (i) {return true;}; 9 return false; 10 } 11 12 function test() { 13 var f = function inner(i) { 14 // JSOp::Callee is used for the reference to |inner|. 15 // MCallee can be recovered. 16 var foo = inner; 17 assertRecoveredOnBailout(foo, true); 18 if (uceFault(i) || uceFault(i)) { 19 assertEq(foo, inner); 20 } 21 }; 22 with ({}); // No inlining. 23 for (var i = 0; i < 100; i++) { 24 f(i); 25 } 26 } 27 test();