iter-megamorphic.js (433B)
1 function testIter(v) { 2 var c = 0; 3 for (var p in v) { 4 c++; 5 } 6 assertEq(c === 0 || c === 1, true); 7 assertEq(c === 0, v === null || v === undefined); 8 } 9 function test() { 10 var vals = [{a: 1}, {b: 1}, {c: 1}, {d: 1}, null, undefined, 11 {e: 1}, {f: 1}, {g: 1}, {h: 1}, {i: 1}]; 12 for (var i = 0; i < 100; i++) { 13 for (var v of vals) { 14 testIter(v); 15 } 16 } 17 } 18 test();