topropertykey.js (669B)
1 setJitCompilerOption("ion.forceinlineCaches", 1); 2 3 function testInt32() { 4 var xs = [0, 0]; 5 var a = [0]; 6 7 for (var i = 0; i < 20; ++i) { 8 var key = xs[i & 1]; 9 assertEq(a[key]++, i); 10 } 11 } 12 for (var i = 0; i < 2; ++i) testInt32(); 13 14 function testStringInt32() { 15 var xs = ["0", "0"]; 16 var a = [0]; 17 18 for (var i = 0; i < 20; ++i) { 19 var key = xs[i & 1]; 20 assertEq(a[key]++, i); 21 } 22 } 23 for (var i = 0; i < 2; ++i) testStringInt32(); 24 25 function testString() { 26 var xs = ["p", "p"]; 27 var a = { 28 p: 0, 29 }; 30 31 for (var i = 0; i < 20; ++i) { 32 var key = xs[i & 1]; 33 assertEq(a[key]++, i); 34 } 35 } 36 for (var i = 0; i < 2; ++i) testString();