// This tests that we don't fast path intrinsics when they should not be fast pathed. Currently, | |
// that means that we don't inline length and byteLength when they are "connected" to a TypedArray. | |
(function body() { | |
function foo(a) { | |
return a.length + a.byteLength + a.byteOffset; | |
} | |
let array = new Int32Array(10); | |
for (let i = 0; i < 100000; i++) | |
foo(array); | |
Object.defineProperty(array, "length", { value: 0 }); | |
Object.defineProperty(array, "byteLength", { value: 0 }); | |
Object.defineProperty(array, "byteOffset", { value: 0 }); | |
if (foo(array) !== 0) | |
throw "wrong number!"; | |
})(); |