text: // 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();
    }
  })();
  