bug1989978-3.js (381B)
1 // |jit-test| --no-threads; --fast-warmup 2 3 let o = { x: 1 }; 4 addObjectFuse(o); 5 6 function foo() { 7 return o.x; 8 } 9 10 function replace(obj, val) { 11 for (var key in obj) { 12 obj[key] = val; 13 } 14 } 15 16 with ({}) {} 17 for (var i = 0; i < 100; i++) { 18 foo(10); 19 } 20 for (var i = 0; i < 100; i++) { 21 replace({a: 0}, 1); 22 replace({a: 0, b: 0}, 1); 23 } 24 25 replace(o, 2); 26 assertEq(foo(), 2);