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