function O() { this.x = 1; this.y = 2; } function testUnboxed() { var arr = []; for (var i=0; i<100; i++) arr.push(new O); var o = arr[arr.length-1]; o[0] = 0; o[2] = 2; var sym = Symbol(); o[sym] = 1; o.z = 3; Object.defineProperty(o, '3', {value:1,enumerable:false,configurable:false,writable:false}); o[4] = 4; var props = Reflect.ownKeys(o); assertEq(props[props.length-1], sym); assertEq(Object.getOwnPropertyNames(o).join(""), "0234xyz"); } testUnboxed();