| // Copyright 2016 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: --expose-wasm --gc-interval=500 --stress-compaction --expose-gc |
| load("test/mjsunit/wasm/wasm-module-builder.js"); |
| // wrap the creation in a closure so that the only thing returned is |
| // the module (i.e. the underlying array buffer of wasm wire bytes dies). |
| var builder = new WasmModuleBuilder(); |
| builder.addImport("mod", "the_name_of_my_import", kSig_i_i); |
| builder.addFunction("main", kSig_i_i) |
| return new WebAssembly.Module(builder.toBuffer()); |
| for (var i = 0; i < 10; i++) { |
| var instance = new WebAssembly.Instance(module, {"mod": {the_name_of_my_import: f}}); |
| var g = instance.exports.main; |
| assertEquals("function", typeof g); |
| for (var j = 0; j < 10; j++) { |
| assertEquals(f(j), g(j)); |
| for (var i = 0; i < 3; i++) { |