stress/big-wasm-memory tests failing on 32-bit JSC bot
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Dec 2018 18:59:44 +0000 (18:59 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Dec 2018 18:59:44 +0000 (18:59 +0000)
https://bugs.webkit.org/show_bug.cgi?id=192020

Reviewed by Saam Barati.

Not every platform has WebAssembly, e.g. 32-bit, so we should exit
the wasm stress tests if the WebAssembly object does not exist.

* stress/big-wasm-memory-grow-no-max.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.
* stress/big-wasm-memory-grow.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.
* stress/big-wasm-memory.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238934 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JSTests/ChangeLog
JSTests/stress/big-wasm-memory-grow-no-max.js
JSTests/stress/big-wasm-memory-grow.js
JSTests/stress/big-wasm-memory.js

index a40c5dd..fcf0b8e 100644 (file)
@@ -1,3 +1,29 @@
+2018-12-06  Keith Miller  <keith_miller@apple.com>
+
+        stress/big-wasm-memory tests failing on 32-bit JSC bot
+        https://bugs.webkit.org/show_bug.cgi?id=192020
+
+        Reviewed by Saam Barati.
+
+        Not every platform has WebAssembly, e.g. 32-bit, so we should exit
+        the wasm stress tests if the WebAssembly object does not exist.
+
+        * stress/big-wasm-memory-grow-no-max.js:
+        (test.foo):
+        (test):
+        (foo): Deleted.
+        (catch): Deleted.
+        * stress/big-wasm-memory-grow.js:
+        (test.foo):
+        (test):
+        (foo): Deleted.
+        (catch): Deleted.
+        * stress/big-wasm-memory.js:
+        (test.foo):
+        (test):
+        (foo): Deleted.
+        (catch): Deleted.
+
 2018-12-05  Mark Lam  <mark.lam@apple.com>
 
         speculationFromCell() should speculate non-Identifier strings as SpecString instead of SpecStringVar.
index 66d12c8..5b80dca 100644 (file)
@@ -1,34 +1,45 @@
 //@ skip if $memoryLimited
-let bigArray = new Array(0x7000000);
-bigArray[0] = 1.1;
-bigArray[1] = 1.2;
 
-function foo(array) {
-    var index = array.length;
-    if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+function test() {
+
+    // We don't support WebAssembly everywhere, so check for its existance before doing anything else.
+    if (!this.WebAssembly)
         return;
-    return bigArray[index - 0x1ffdc01];
-}
 
-noInline(foo);
+    let bigArray = new Array(0x7000000);
+    bigArray[0] = 1.1;
+    bigArray[1] = 1.2;
+
+    function foo(array) {
+        var index = array.length;
+        if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+            return;
+        return bigArray[index - 0x1ffdc01];
+    }
+
+    noInline(foo);
+
+    var okArray = new Uint8Array(0x1ffdc02);
+
+    for (var i = 0; i < 10000; ++i)
+        foo(okArray);
 
-var okArray = new Uint8Array(0x1ffdc02);
+    var ok = false;
+    try {
+        var memory = new WebAssembly.Memory({ initial: 0x1000 });
+        memory.grow(0x7000);
+        var result = foo(new Uint8Array(memory.buffer));
+        if (result !== void 0)
+            throw "Error: bad result at end: " + result;
+        ok = true;
+    } catch (e) {
+        if (e.toString() != "Error: Out of memory")
+            throw e;
+    }
 
-for (var i = 0; i < 10000; ++i)
-    foo(okArray);
+    if (ok)
+        throw "Error: did not throw error";
 
-var ok = false;
-try {
-    var memory = new WebAssembly.Memory({ initial: 0x1000 });
-    memory.grow(0x7000);
-    var result = foo(new Uint8Array(memory.buffer));
-    if (result !== void 0)
-        throw "Error: bad result at end: " + result;
-    ok = true;
-} catch (e) {
-    if (e.toString() != "Error: Out of memory")
-        throw e;
 }
 
-if (ok)
-    throw "Error: did not throw error";
+test();
index 418557a..0e43577 100644 (file)
@@ -1,34 +1,45 @@
 //@ skip if $memoryLimited
-let bigArray = new Array(0x7000000);
-bigArray[0] = 1.1;
-bigArray[1] = 1.2;
 
-function foo(array) {
-    var index = array.length;
-    if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+function test() {
+
+    // We don't support WebAssembly everywhere, so check for its existance before doing anything else.
+    if (!this.WebAssembly)
         return;
-    return bigArray[index - 0x1ffdc01];
-}
 
-noInline(foo);
+    let bigArray = new Array(0x7000000);
+    bigArray[0] = 1.1;
+    bigArray[1] = 1.2;
+
+    function foo(array) {
+        var index = array.length;
+        if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+            return;
+        return bigArray[index - 0x1ffdc01];
+    }
+
+    noInline(foo);
+
+    var okArray = new Uint8Array(0x1ffdc02);
+
+    for (var i = 0; i < 10000; ++i)
+        foo(okArray);
 
-var okArray = new Uint8Array(0x1ffdc02);
+    var ok = false;
+    try {
+        var memory = new WebAssembly.Memory({ initial: 0x1000, maximum: 0x8000 });
+        memory.grow(0x7000);
+        var result = foo(new Uint8Array(memory.buffer));
+        if (result !== void 0)
+            throw "Error: bad result at end: " + result;
+        ok = true;
+    } catch (e) {
+        if (e.toString() != "Error: Out of memory")
+            throw e;
+    }
 
-for (var i = 0; i < 10000; ++i)
-    foo(okArray);
+    if (ok)
+        throw "Error: did not throw error";
 
-var ok = false;
-try {
-    var memory = new WebAssembly.Memory({ initial: 0x1000, maximum: 0x8000 });
-    memory.grow(0x7000);
-    var result = foo(new Uint8Array(memory.buffer));
-    if (result !== void 0)
-        throw "Error: bad result at end: " + result;
-    ok = true;
-} catch (e) {
-    if (e.toString() != "Error: Out of memory")
-        throw e;
 }
 
-if (ok)
-    throw "Error: did not throw error";
+test();
index d4deda4..1afad7a 100644 (file)
@@ -1,32 +1,43 @@
 //@ skip if $memoryLimited
-let bigArray = new Array(0x7000000);
-bigArray[0] = 1.1;
-bigArray[1] = 1.2;
 
-function foo(array) {
-    var index = array.length;
-    if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+function test() {
+
+    // We don't support WebAssembly everywhere, so check for its existance before doing anything else.
+    if (!this.WebAssembly)
         return;
-    return bigArray[index - 0x1ffdc01];
-}
 
-noInline(foo);
+    let bigArray = new Array(0x7000000);
+    bigArray[0] = 1.1;
+    bigArray[1] = 1.2;
+
+    function foo(array) {
+        var index = array.length;
+        if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+            return;
+        return bigArray[index - 0x1ffdc01];
+    }
+
+    noInline(foo);
+
+    var okArray = new Uint8Array(0x1ffdc02);
+
+    for (var i = 0; i < 10000; ++i)
+        foo(okArray);
 
-var okArray = new Uint8Array(0x1ffdc02);
+    var ok = false;
+    try {
+        var result = foo(new Uint8Array(new WebAssembly.Memory({ initial: 0x8000, maximum: 0x8000 }).buffer));
+        if (result !== void 0)
+            throw "Error: bad result at end: " + result;
+        ok = true;
+    } catch (e) {
+        if (e.toString() != "Error: Out of memory")
+            throw e;
+    }
 
-for (var i = 0; i < 10000; ++i)
-    foo(okArray);
+    if (ok)
+        throw "Error: did not throw error";
 
-var ok = false;
-try {
-    var result = foo(new Uint8Array(new WebAssembly.Memory({ initial: 0x8000, maximum: 0x8000 }).buffer));
-    if (result !== void 0)
-        throw "Error: bad result at end: " + result;
-    ok = true;
-} catch (e) {
-    if (e.toString() != "Error: Out of memory")
-        throw e;
 }
 
-if (ok)
-    throw "Error: did not throw error";
+test();