function testChangingObjectWithLength() { var obj = { length: 10 }; var dense = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; var slow = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; slow.slow = 5; /* * The elements of objs constitute a De Bruijn sequence repeated 4x to trace * and run native code for every object and transition. */ var objs = [obj, obj, obj, obj, obj, obj, obj, obj, dense, dense, dense, dense, obj, obj, obj, obj, slow, slow, slow, slow, dense, dense, dense, dense, dense, dense, dense, dense, slow, slow, slow, slow, slow, slow, slow, slow, obj, obj, obj, obj]; var counter = 0; for (var i = 0, sz = objs.length; i < sz; i++) { var o = objs[i]; for (var j = 0; j < o.length; j++) counter++; } return counter; } assertEq(testChangingObjectWithLength(), 400);