summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/wasm/regress-772332.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/regress/wasm/regress-772332.js')
-rw-r--r--deps/v8/test/mjsunit/regress/wasm/regress-772332.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/wasm/regress-772332.js b/deps/v8/test/mjsunit/regress/wasm/regress-772332.js
new file mode 100644
index 0000000000..56e6f2ceb8
--- /dev/null
+++ b/deps/v8/test/mjsunit/regress/wasm/regress-772332.js
@@ -0,0 +1,33 @@
+// 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();
+ })();
+});