// 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. // Flags: --expose-wasm --expose-gc --verify-heap load("test/mjsunit/wasm/user-properties-common.js"); (function ImportReexportChain() { print("ImportReexportChain"); var f = id; for (let i = 0; i < 5; i++) { let builder = new WasmModuleBuilder(); builder.addImport("imp", "func", kSig_i_i); builder.addExport("exp", 0); let module = builder.toModule(); let instance = new WebAssembly.Instance(module, {imp: {func: f}}); let g = instance.exports.exp; assertInstanceof(g, Function); printName("before", g); testProperties(g); printName(" after", g); // The WASM-internal fields of {g} are only inspected when {g} is // used as an import into another instance. Use {g} as the import // the next time through the loop. f = g; } })();