| // 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 --wasm-interpret-all |
| |
| load('test/mjsunit/wasm/wasm-constants.js'); |
| load('test/mjsunit/wasm/wasm-module-builder.js'); |
| |
| assertThrows(() => { |
| let __v_50315 = 0; |
| function __f_15356(__v_50316, __v_50317) { |
| let __v_50318 = new WasmModuleBuilder(); |
| if (__v_50317) { |
| let __v_50319 = __v_50318.addImport('import_module', 'other_module_fn', kSig_i_i); |
| } |
| __v_50318.addMemory(); |
| __v_50318.addFunction('load', kSig_i_i).addBody([ 0, 0, 0]).exportFunc(); |
| return __v_50318; |
| } |
| (function __f_15357() { |
| let __v_50320 = __f_15356(__v_50350 = false, __v_50351 = kSig_i_i); |
| __v_50320.addFunction('plus_one', kSig_i_i).addBody([kExprGetLocal, 0, kExprCallFunction, __v_50315, kExprI32Const, kExprI32Add, kExprReturn]).exportFunc(); |
| let __v_50321 = __f_15356(); |
| let __v_50324 = __v_50321.instantiate(); |
| let __v_50325 = __v_50320.instantiate({ |
| import_module: { |
| other_module_fn: __v_50324.exports.load |
| } |
| }); |
| __v_50325.exports.plus_one(); |
| })(); |
| }); |