setelem-inlining-bailout.js (421B)
1 // |jit-test| --fast-warmup; --no-threads 2 3 // Inlining setters for SetElem ops will require bailout changes. 4 5 with ({}) { } 6 var trigger = false; 7 8 var obj = { 9 set f(x) { 10 if (trigger) { 11 bailout(); 12 } 13 } 14 }; 15 16 var sum = 0; 17 function foo(x) { 18 for (var i = 0; i < 35; i++) { 19 var t = obj[x] = i; 20 sum += t; 21 trigger = i % 10 == 0; 22 } 23 } 24 25 foo("f"); 26 assertEq(sum, 595);