From 5ccad796112eae92b7209fe83ff41695cdca8c02 Mon Sep 17 00:00:00 2001
From: test262-automation <test262-automation@bocoup.com>
Date: Fri, 16 Nov 2018 19:00:14 +0000
Subject: [PATCH] [javascriptcore-test262-automation] Changes from
 https://github.com/webkit/webkit.git at sha 0cfa6086eb on Fri Nov 16 2018
 18:57:37 GMT+0000 (Coordinated Universal Time)

---
 .../javascriptcore/stress/regress-187006.js   | 17 ------------
 .../javascriptcore/stress/regress-187373-2.js |  8 ++++++
 .../javascriptcore/stress/regress-191730.js   | 25 +++++++++++++++++
 .../javascriptcore/stress/regress-191731.js   | 27 +++++++++++++++++++
 4 files changed, 60 insertions(+), 17 deletions(-)
 delete mode 100644 implementation-contributed/javascriptcore/stress/regress-187006.js
 create mode 100644 implementation-contributed/javascriptcore/stress/regress-187373-2.js
 create mode 100644 implementation-contributed/javascriptcore/stress/regress-191730.js
 create mode 100644 implementation-contributed/javascriptcore/stress/regress-191731.js

diff --git a/implementation-contributed/javascriptcore/stress/regress-187006.js b/implementation-contributed/javascriptcore/stress/regress-187006.js
deleted file mode 100644
index e55b2ab4b4..0000000000
--- a/implementation-contributed/javascriptcore/stress/regress-187006.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// Reviewed
-Object.defineProperty(Array.prototype, '0', {
-    get() { },
-    set() { throw new Error(); }
-});
-
-var __v_7772 = "GGCCGGGTAAAGTGGCTCACGCCTGTAATCCCAGCACTTTACCCCCCGAGGCGGGCGGA";
-var exception;
-
-try {
-    __v_7772.match(/[cgt]gggtaaa|tttaccc[acg]/ig);
-} catch (e) {
-    exception = e;
-}
-
-if (exception != "Error")
-    throw "FAILED";
diff --git a/implementation-contributed/javascriptcore/stress/regress-187373-2.js b/implementation-contributed/javascriptcore/stress/regress-187373-2.js
new file mode 100644
index 0000000000..9229f6f87d
--- /dev/null
+++ b/implementation-contributed/javascriptcore/stress/regress-187373-2.js
@@ -0,0 +1,8 @@
+//@ runDefault("--useControlFlowProfiler=true")
+
+function foo() {
+    for (var x in []) {
+        o[++x];
+    }
+}
+foo()
diff --git a/implementation-contributed/javascriptcore/stress/regress-191730.js b/implementation-contributed/javascriptcore/stress/regress-191730.js
new file mode 100644
index 0000000000..b6ab1c9f52
--- /dev/null
+++ b/implementation-contributed/javascriptcore/stress/regress-191730.js
@@ -0,0 +1,25 @@
+function assertEq(actual, expected) {
+    if (actual != expected)
+        throw ("Expected: " + expected + ", actual: " + actual);
+}
+
+var otherGlobal = $vm.createGlobalObject();
+
+Array.prototype.__defineSetter__(7, () => {
+    arr[0] = { };
+});
+
+let arr = new otherGlobal.Array(1.1, 2.2, 3.3);
+
+function foo(arr, regexp, str){
+    var result = regexp[Symbol.match](str);
+    arr[1] = 3.54484805889626e-310;
+    return arr[0];
+}
+
+let regexp = /a/g;
+for (let i = 0; i < 10000; i++)
+    foo(arr, regexp, "aaaa");
+
+let r = foo(arr, regexp, "aaaaaaaa");
+assertEq(arr[1], "3.54484805889626e-310");
diff --git a/implementation-contributed/javascriptcore/stress/regress-191731.js b/implementation-contributed/javascriptcore/stress/regress-191731.js
new file mode 100644
index 0000000000..a93e66fe09
--- /dev/null
+++ b/implementation-contributed/javascriptcore/stress/regress-191731.js
@@ -0,0 +1,27 @@
+function assertEq(actual, expected) {
+    if (actual != expected)
+        throw ("Expected: " + expected + ", actual: " + actual);
+}
+
+function foo(arr, regexp, str) {
+    regexp[Symbol.match](str);
+    arr[1] = 3.54484805889626e-310;
+    return arr[0];
+}
+
+let arr = [1.1, 2.2, 3.3];
+let regexp = /a/y;
+
+for (let i = 0; i < 10000; i++)
+    foo(arr, regexp, "abcd");
+
+regexp.lastIndex = {
+    valueOf: () => {
+        arr[0] = arr;
+        return 0;
+    }
+};
+let result = foo(arr, regexp, "abcd");
+
+assertEq(arr[1], "3.54484805889626e-310");
+assertEq(result, ",3.54484805889626e-310,3.3");
-- 
GitLab