michael@0: var obj = { michael@0: attr0: 'val0', michael@0: attr1: 'val1', michael@0: attr2: 'val2', michael@0: attr3: 'val3', michael@0: attr4: 'val4', michael@0: attr5: 'val5', michael@0: attr6: 'val6', michael@0: attr7: 'val7', michael@0: attr8: 'val8', michael@0: attr9: 'val9', michael@0: attr10: 'val10', michael@0: attr11: 'val11', michael@0: attr12: 'val12', michael@0: attr13: 'val13', michael@0: attr14: 'val14', michael@0: attr15: 'val15', michael@0: attr16: 'val16', michael@0: attr17: 'val17', michael@0: } michael@0: michael@0: var baseName = 'attr'; michael@0: michael@0: (function() { michael@0: for (var i = 0; i < 128; ++i) { michael@0: var name = baseName + (i % 18); michael@0: var result = obj[name]; michael@0: switch (i) { michael@0: case 0: assertEq('val0', result); break; michael@0: case 1: assertEq('val1', result); break; michael@0: case 2: assertEq('val2', result); break; michael@0: case 3: assertEq('val3', result); break; michael@0: case 4: assertEq('val4', result); break; michael@0: case 5: assertEq('val5', result); break; michael@0: case 6: assertEq('val6', result); break; michael@0: case 7: assertEq('val7', result); break; michael@0: case 8: assertEq('val8', result); break; michael@0: case 9: assertEq('val9', result); break; michael@0: case 10: assertEq('val10', result); break; michael@0: case 11: assertEq('val11', result); break; michael@0: case 12: assertEq('val12', result); break; michael@0: case 13: assertEq('val13', result); break; michael@0: case 14: assertEq('val14', result); break; michael@0: case 15: assertEq('val15', result); break; michael@0: case 16: assertEq('val16', result); break; michael@0: case 17: assertEq('val17', result); break; michael@0: } michael@0: } michael@0: })(); michael@0: michael@0: /* Megamorphic index atom. */