Index: test/mjsunit/regress/wasm/regress-5860.js |
diff --git a/test/mjsunit/regress/wasm/regress-5860.js b/test/mjsunit/regress/wasm/regress-5860.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b193323dd137c3fea7427cfdb839e2f59700415a |
--- /dev/null |
+++ b/test/mjsunit/regress/wasm/regress-5860.js |
@@ -0,0 +1,30 @@ |
+// 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 |
+ |
+load('test/mjsunit/wasm/wasm-constants.js'); |
+load('test/mjsunit/wasm/wasm-module-builder.js'); |
+ |
+let module1 = (() => { |
+ let builder = new WasmModuleBuilder(); |
+ builder.addMemory(1, 1); |
+ builder.addFunction('load', kSig_i_i) |
+ .addBody([kExprI32Const, 0, kExprI32LoadMem, 0, 0]) |
+ .exportAs('load'); |
+ return new WebAssembly.Module(builder.toBuffer()); |
+})(); |
+ |
+let module2 = (() => { |
+ let builder = new WasmModuleBuilder(); |
+ builder.addMemory(1, 1); |
+ builder.addImport('A', 'load', kSig_i_i); |
+ builder.addExportOfKind('load', kExternalFunction, 0); |
+ return new WebAssembly.Module(builder.toBuffer()); |
+})(); |
+ |
+let instance1 = new WebAssembly.Instance(module1); |
+let instance2 = new WebAssembly.Instance(module2, {A: instance1.exports}); |
+ |
+assertEquals(0, instance2.exports.load()); |