diff options
Diffstat (limited to 'js/src/jit-test/tests/warp/store-element-hole-sparse-element.js')
-rw-r--r-- | js/src/jit-test/tests/warp/store-element-hole-sparse-element.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/warp/store-element-hole-sparse-element.js b/js/src/jit-test/tests/warp/store-element-hole-sparse-element.js new file mode 100644 index 0000000000..2012404f51 --- /dev/null +++ b/js/src/jit-test/tests/warp/store-element-hole-sparse-element.js @@ -0,0 +1,24 @@ +function test() { + Object.defineProperty(Array.prototype, 10_000 * 50, { + set() { + throw new Error("shouldn't get here"); + } + }); + + // A bunch of indices which grow the array. + var indices = []; + for (var i = 0; i < 10_000; ++i) indices.push(i); + + // And finally an index for a sparse property. + indices.push(10_000 * 50); + + // Plain data properties use DefineDataProperty. + var desc = {value: 0, writable: true, enumerable: true, configurable: true}; + + var a = []; + for (var i = 0; i < indices.length; ++i) { + Object.defineProperty(a, indices[i], desc); + } +} + +test(); |