species-fuse-arraybuffer-2.js (575B)
1 // Test for array buffer species fuse with multiple realms. 2 function test() { 3 var g = newGlobal(); 4 var arr = g.evaluate(`new ArrayBuffer(4)`); 5 var count = 0; 6 Object.defineProperty(g.ArrayBuffer.prototype, "constructor", {get: function() { 7 count++; 8 return ArrayBuffer; 9 }}); 10 for (var i = 0; i < 20; i++) { 11 assertEq(ArrayBuffer.prototype.slice.call(arr).byteLength, 4); 12 } 13 assertEq(count, 20); 14 assertEq(getFuseState().OptimizeArrayBufferSpeciesFuse.intact, true); 15 assertEq(g.getFuseState().OptimizeArrayBufferSpeciesFuse.intact, false); 16 } 17 test();