blob: 5188b4f19144bd296c14d0213e794af16b914977 [file] [log] [blame]
// Copyright 2020 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: --wasm-max-mem-pages=65536
// Currently, the only way to create a huge TypedArray is via a
// WebAssembly Memory object.
const kNumPages = 65536;
const kWasmPageSize = 65536;
const kBytes = kNumPages * kWasmPageSize;
const kArrayLength = kBytes - 1;
assertEquals(2 ** 32, kBytes);
assertEquals(0xFFFFFFFF, kArrayLength);
var mem = new WebAssembly.Memory({ initial: kNumPages });
var buffer = mem.buffer;
var array = new Uint8Array(buffer, 0, kArrayLength);
assertEquals(kBytes, buffer.byteLength);
assertEquals(kArrayLength, array.length);
assertEquals(undefined, array[-1]);
assertEquals(0, array[0]);
assertEquals(0, array[kArrayLength - 1]);
assertEquals(undefined, array[kArrayLength]);