// 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: --expose-wasm --experimental-wasm-reftypes load('test/mjsunit/wasm/wasm-module-builder.js'); let builder = new WasmModuleBuilder(); builder.addImportedTable('ffi', 't1', 5, 5, kWasmAnyFunc); builder.addImportedTable('ffi', 't2', 9, 9, kWasmAnyFunc); builder.addFunction('foo', kSig_v_v).addBody([]).exportFunc(); let module = builder.toModule(); let table1 = new WebAssembly.Table({element: 'anyfunc', initial: 5, maximum: 5}); let table2 = new WebAssembly.Table({element: 'anyfunc', initial: 9, maximum: 9}); let instance = new WebAssembly.Instance(module, {ffi: {t1: table1, t2: table2}}); let table3 = new WebAssembly.Table({element: 'anyfunc', initial: 9, maximum: 9}); table3.set(8, instance.exports.foo); new WebAssembly.Instance(module, {ffi: {t1: table1, t2: table3}});