has-definite-folding.js (747B)
1 var max = 40; 2 setJitCompilerOption("ion.warmup.trigger", max - 10); 3 4 function defineProperty() { 5 var abc = {}; 6 Object.defineProperty(abc, "x", {value: 1}) 7 assertEq(abc.x, 1); 8 } 9 10 function simple() { 11 var o = {a: 1}; 12 assertEq("a" in o, true); 13 assertEq("b" in o, false); 14 assertEq(o.hasOwnProperty("a"), true); 15 assertEq(o.hasOwnProperty("b"), false); 16 } 17 18 function proto() { 19 var o = {a: 1, __proto__: {b: 2}}; 20 assertEq("a" in o, true); 21 assertEq("b" in o, true); 22 assertEq("c" in o, false); 23 assertEq(o.hasOwnProperty("a"), true); 24 assertEq(o.hasOwnProperty("b"), false); 25 assertEq(o.hasOwnProperty("c"), false); 26 } 27 28 for (var i = 0; i < max; i++) { 29 defineProperty(); 30 simple(); 31 proto(); 32 }