Chromium Code Reviews| Index: test/mjsunit/keyed-call-ic.js |
| diff --git a/test/mjsunit/keyed-call-ic.js b/test/mjsunit/keyed-call-ic.js |
| index 9d82965f1d2b9dc7d97d7e94b872f51909e39a93..378204f5251f058ee6dda2dd8be9f8c5040bf473 100644 |
| --- a/test/mjsunit/keyed-call-ic.js |
| +++ b/test/mjsunit/keyed-call-ic.js |
| @@ -61,145 +61,17 @@ var keys = |
| function testKeyTransitions() { |
| var i, key, result, message; |
| - var f = new F(); |
|
Jakob Kummerow
2012/11/19 12:36:00
uhm...?
danno
2012/11/26 17:16:18
Done.
|
| - |
| - // Custom call generators |
| - var array = []; |
| - for (i = 0; i != 10; i++) { |
| - key = (i < 8) ? 'push' : 'pop'; |
| - array[key](i); |
| - } |
| - |
| - assertEquals(6, array.length); |
| - for (i = 0; i != array.length; i++) { |
| - assertEquals(i, array[i]); |
| - } |
| - |
| - for (i = 0; i != 10; i++) { |
| - key = (i < 3) ? 'pop' : 'push'; |
| - array[key](i); |
| - } |
| - |
| - assertEquals(10, array.length); |
| - for (i = 0; i != array.length; i++) { |
| - assertEquals(i, array[i]); |
| - } |
| - |
| var string = 'ABCDEFGHIJ'; |
| - for (i = 0; i != 10; i++) { |
| - key = ((i < 5) ? 'charAt' : 'charCodeAt'); |
| - result = string[key](i); |
| - message = '\'' + string + '\'[\'' + key + '\'](' + i + ')'; |
| - if (i < 5) { |
| - assertEquals(string.charAt(i), result, message); |
| - } else { |
| - assertEquals(string.charCodeAt(i), result, message); |
| - } |
| - } |
| - |
| - for (i = 0; i != 10; i++) { |
| - key = ((i < 5) ? 'charCodeAt' : 'charAt'); |
| - result = string[key](i); |
| - message = '\'' + string + '\'[\'' + key + '\'](' + i + ')'; |
| - if (i < 5) { |
| - assertEquals(string.charCodeAt(i), result, message); |
| - } else { |
| - assertEquals(string.charAt(i), result, message); |
| + for (i = 0; i != 10; i++) { |
| + key = ((i < 5) ? 'charAt' : 'charCodeAt'); |
| + result = string[key](i); |
| +// message = '\'' + string + '\'[\'' + key + '\'](' + i + ')'; |
| + if (i < 5) { |
| + assertEquals(string.charAt(i), result); |
| + } else { |
| + assertEquals(string.charCodeAt(i), result); |
| + } |
| } |
| - } |
| - |
| - // Function is a constant property |
| - key = 'one'; |
| - for (i = 0; i != 10; i++) { |
| - assertEquals(key, f[key]()); |
| - if (i == 5) { |
| - key = 'two'; // the name change should case a miss |
| - } |
| - } |
| - |
| - // Function is a fast property |
| - f.field = function() { return 'field'; } |
| - key = 'field'; |
| - for (i = 0; i != 10; i++) { |
| - assertEquals(key, f[key]()); |
| - if (i == 5) { |
| - key = 'two'; // the name change should case a miss |
| - } |
| - } |
| - |
| - // Calling on slow case object |
| - f.prop = 0; |
| - delete f.prop; // force the object to the slow case |
| - f.four = function() { return 'four'; } |
| - f.five = function() { return 'five'; } |
| - |
| - key = 'four'; |
| - for (i = 0; i != 10; i++) { |
| - assertEquals(key, f[key]()); |
| - if (i == 5) { |
| - key = 'five'; |
| - } |
| - } |
| - |
| - // Calling on global object |
| - key = 'globalFunction1'; |
| - var expect = 'function1'; |
| - for (i = 0; i != 10; i++) { |
| - assertEquals(expect, global[key]()); |
| - if (i == 5) { |
| - key = 'globalFunction2'; |
| - expect = 'function2'; |
| - } |
| - } |
| } |
| testKeyTransitions(); |
| - |
| -function testTypeTransitions() { |
| - var f = new F(); |
| - var s = ''; |
| - var m = 'one'; |
| - var i; |
| - |
| - s = ''; |
| - for (i = 0; i != 10; i++) { |
| - if (i == 5) { F.prototype.one = function() { return '1'; } } |
| - s += f[m](); |
| - } |
| - assertEquals("oneoneoneoneone11111", s); |
| - |
| - s = ''; |
| - for (i = 0; i != 10; i++) { |
| - if (i == 5) { f.__proto__ = { one: function() { return 'I'; } } } |
| - s += f[m](); |
| - } |
| - assertEquals("11111IIIII", s); |
| - |
| - s = ''; |
| - for (i = 0; i != 10; i++) { |
| - if (i == 5) { f.one = function() { return 'ONE'; } } |
| - s += f[m](); |
| - } |
| - assertEquals("IIIIIONEONEONEONEONE", s); |
| - |
| - m = 'toString'; |
| - |
| - s = ''; |
| - var obj = { toString: function() { return '2'; } }; |
| - for (i = 0; i != 10; i++) { |
| - if (i == 5) { obj = "TWO"; } |
| - s += obj[m](); |
| - } |
| - assertEquals("22222TWOTWOTWOTWOTWO", s); |
| - |
| - s = ''; |
| - obj = { toString: function() { return 'ONE'; } }; |
| - m = 'toString'; |
| - for (i = 0; i != 10; i++) { |
| - if (i == 5) { obj = 1; } |
| - s += obj[m](); |
| - } |
| - assertEquals("ONEONEONEONEONE11111", s); |
| -} |
| - |
| -testTypeTransitions(); |