diff --git a/implementation-contributed/curation_logs/javascriptcore.json b/implementation-contributed/curation_logs/javascriptcore.json index 0d96d36fc7..51b3c92b1b 100644 --- a/implementation-contributed/curation_logs/javascriptcore.json +++ b/implementation-contributed/curation_logs/javascriptcore.json @@ -1,6 +1,6 @@ { - "sourceRevisionAtLastExport": "0cfa6086eb", - "targetRevisionAtLastExport": "89489cb6f5", + "sourceRevisionAtLastExport": "743b57501b", + "targetRevisionAtLastExport": "5ccad79611", "curatedFiles": { "/stress/Number-isNaN-basics.js": "DELETED_IN_TARGET", "/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js": "DELETED_IN_TARGET", 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");