Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: test/mjsunit/regress/wasm/regression-02862.js

Issue 2371403003: [wasm] fix for GC during instantiation. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/wasm/wasm-module.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {; }
« no previous file with comments | « src/wasm/wasm-module.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698