| // Copyright 2017 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Flags: --mock-arraybuffer-allocator --allow-natives-syntax |
| |
| function Module(stdlib, foreign, buffer) { |
| "use asm"; |
| var heap = new stdlib.Int8Array(buffer); |
| function foo() { return heap[23] | 0 } |
| return { foo:foo }; |
| } |
| const kLength = Math.max(0x100000000, %TypedArrayMaxLength() + 1); |
| function instantiate() { |
| // On 32-bit architectures buffer allocation will throw. |
| var buffer = new ArrayBuffer(kLength); |
| // On 64-bit architectures instantiation will throw. |
| var module = Module(this, {}, buffer); |
| } |
| assertThrows(instantiate, RangeError); |