lagergren@1095: *** Freezing lagergren@1095: lagergren@1095: >>> Push test lagergren@1095: Pushing 0 to 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x[3] === undefined (should be 0) lagergren@1095: x[4] === undefined (should be undefined) lagergren@1095: lagergren@1095: >>> Pop test lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x === 1,2,3 lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x === 1,2,3 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter lagergren@1095: lagergren@1095: *** Other length not writable issues lagergren@1095: lagergren@1095: >>> Push test lagergren@1095: Pushing 0 to 1,2,3 lagergren@1095: caught errorTypeError: "length" is not a writable property of [object Array] lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x[3] === 0 (should be 0) lagergren@1095: x[4] === undefined (should be undefined) lagergren@1095: lagergren@1095: >>> Pop test lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x === 1,2,3 lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Popping from 1,2,3 lagergren@1095: array is now [1,2,3] length is = 3 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: x.length === 3 (should be 3) lagergren@1095: x === 1,2,3 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 0 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 1 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 2 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: lagergren@1095: array writing 0-3, with 1 stride, array = 0 lagergren@1095: length = 1, but elements are: 0 undefined 2 lagergren@1095: lagergren@1095: initial length = 1 lagergren@1095: Writing 0 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 3 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 6 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 9 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 12 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 15 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 18 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 21 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 24 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: Writing 27 lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: lagergren@1095: array writing 0-20, with 3 stride, array = 0 lagergren@1095: length = 1, but elements are: 0 undefined undefined lagergren@1095: 0 has length 1 lagergren@1095: lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: adding a new element high up in the array lagergren@1095: length before element was added 1 lagergren@1095: putting sparse at 2147483637 lagergren@1095: length after element was added 1 should be the same lagergren@1095: class jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter lagergren@1095: lagergren@1095: Printing arr2 - this will fail if length is > 28 and it is 1 lagergren@1095: arr2 = [0] lagergren@1095: new length that should not be writable = 1 lagergren@1095: true lagergren@1095: sparse lagergren@1095: 0 lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: undefined lagergren@1095: 0:0 lagergren@1095: 2147483637:sparse lagergren@1095: Checking if push works for bulkable non bulkable arrays - Setting length property not allowed lagergren@1095: 1 should be 1 lagergren@1095: bar should be bar lagergren@1095: [bar] should be [bar] lagergren@1095: 1 should STILL be 1 lagergren@1095: bar should be bar lagergren@1095: baz should be baz lagergren@1095: [bar] should be [bar] lagergren@1095: lagergren@1095: Checking if push works for bulkable non bulkable arrays - Setting length property not allowed lagergren@1095: 1 should be 1 lagergren@1095: bar should be bar lagergren@1095: [bar] should be [bar] lagergren@1095: got TypeError when redefining length, as expected lagergren@1095: lagergren@1095: Checking if push works for bulkable non bulkable arrays - Setting length property not allowed lagergren@1095: 1 should be 1 lagergren@1095: bar should be bar lagergren@1095: [bar] should be [bar] lagergren@1095: 2 should be 2 lagergren@1095: bar should be bar lagergren@1095: baz should be baz lagergren@1095: [bar,baz] should be [bar,baz] lagergren@1095: Done