Index: test/mjsunit/regress/wasm/regression-02862.js |
diff --git a/test/mjsunit/regress/wasm/regression-02862.js b/test/mjsunit/regress/wasm/regression-02862.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..92ed1cd6c9ccd00f1f55e5b24a35aa594f3e7593 |
--- /dev/null |
+++ b/test/mjsunit/regress/wasm/regression-02862.js |
@@ -0,0 +1,107 @@ |
+// Copyright 2016 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: --random-seed=1557792826 --expose-gc --invoke-weak-callbacks --omit-quit --gc-interval=469 --validate-asm |
+ |
+function nop() {} |
+var __v_42 = {}; |
+var __v_49 = {}; |
+var __v_70 = {}; |
+var __v_79 = {}; |
+__v_58 = { |
+ instantiateModuleFromAsm: function(text, ffi, heap) { |
+ var __v_49 = eval('(' + text + ')'); |
+ if (nop()) { |
+ throw "validate failure"; |
+ } |
+ var __v_79 = __v_49(); |
+ if (nop()) { |
+ throw "bad module args"; |
+ } |
+ }}; |
+__f_140 = function __f_140() { |
+ if (found === expected) { |
+ if (1 / expected) return; |
+ } else if ((expected !== expected) && (found !== found)) { return; }; |
+}; |
+__f_128 = function __f_128() { if (!__f_105()) { __f_125(__f_69(), found, name_opt); } }; |
+__f_136 = function __f_136(code, type_opt, cause_opt) { |
+ var __v_42 = true; |
+ try { |
+ if (typeof code == 'function') { code(); } |
+ else { eval(); } |
+ __v_42 = false; |
+ } catch (e) { |
+ if (typeof type_opt == 'function') { __f_101(); } |
+ if (arguments.length >= 3) { __f_128(); } |
+ return; |
+ } |
+}; |
+__f_101 = function __f_101() { if (obj instanceof type) {obj.constructor; if (typeof __v_57 == "function") {; }; } }; |
+try { |
+__f_128(); |
+__v_82.__p_750895751 = __v_82[getRandomProperty()]; |
+} catch(e) {"Caught: " + e; } |
+__f_119(); |
+gc(); |
+__f_119(19, __f_136); |
+__f_119(); |
+__f_119(); |
+__f_136(function() { |
+ __v_58.instantiateModuleFromAsm(__f_128.toString()).__f_108(); |
+}); |
+function __f_119() { |
+ "use asm"; |
+ function __f_108() { |
+ } |
+ return {__f_108: __f_108}; |
+} |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+function __f_95() { |
+} |
+__f_119(); |
+try { |
+__f_119(); |
+__f_135(); |
+} catch(e) {"Caught: " + e; } |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+function __f_105() { |
+ "use asm"; |
+ function __f_108() { |
+ } |
+ return {__f_108: __f_108}; |
+} |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+__f_119(); |
+function __f_93(stdlib) { |
+ "use asm"; |
+ var __v_70 = new stdlib.Int32Array(); |
+__v_70[4294967295]|14 + 1 | 14; |
+ return {__f_108: __f_108}; |
+} |
+function __f_135() { |
+ var __v_66 = new ArrayBuffer(); |
+ var __v_54 = new Int32Array(__v_66); |
+ var module = __v_58.instantiateModuleFromAsm( __f_93.toString()); |
+ __f_128(); |
+} |
+(function () { |
+})(); |
+(function () { |
+})(); |
+try { |
+(function() { |
+ var __v_54 = 0x87654321; |
+ __v_66.__f_89(); |
+})(); |
+} catch(e) {; } |