| // Copyright 2019 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: --validate-asm --allow-natives-syntax |
| |
| function Module(stdlib, ffi, buffer) { |
| "use asm"; |
| var MEM8 = new stdlib.Uint8Array(buffer); |
| function foo() { return MEM8[0] | 0; } |
| return { foo: foo }; |
| } |
| |
| |
| function RunOnce() { |
| let buffer = new ArrayBuffer(4096); |
| let ffi = {}; |
| let stdlib = {Uint8Array: Uint8Array}; |
| let module = Module(stdlib, ffi, buffer); |
| assertTrue(%IsAsmWasmCode(Module)); |
| assertEquals(0, module.foo()); |
| } |
| |
| (function RunTest() { |
| for (let i = 0; i < 3000; i++) { |
| RunOnce(); |
| } |
| })(); |