2017-10-18 15:03:02 -07:00
|
|
|
// 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.
|
|
|
|
|
2020-03-05 10:49:19 -08:00
|
|
|
// Flags: --mock-arraybuffer-allocator --allow-natives-syntax
|
2017-10-18 15:03:02 -07:00
|
|
|
|
|
|
|
function Module(stdlib, foreign, buffer) {
|
|
|
|
"use asm";
|
|
|
|
var heap = new stdlib.Int8Array(buffer);
|
|
|
|
function foo() { return heap[23] | 0 }
|
|
|
|
return { foo:foo };
|
|
|
|
}
|
2023-12-22 09:02:51 +01:00
|
|
|
const kLength = Math.max(0x100000000, %ArrayBufferMaxByteLength() + 1);
|
2017-10-18 15:03:02 -07:00
|
|
|
function instantiate() {
|
|
|
|
// On 32-bit architectures buffer allocation will throw.
|
2020-03-05 10:49:19 -08:00
|
|
|
var buffer = new ArrayBuffer(kLength);
|
2017-10-18 15:03:02 -07:00
|
|
|
// On 64-bit architectures instantiation will throw.
|
|
|
|
var module = Module(this, {}, buffer);
|
|
|
|
}
|
|
|
|
assertThrows(instantiate, RangeError);
|