RegExpObject's collectMatches should not be using JSArray::push to fill in its match...
[WebKit-https.git] / JSTests / stress / regress-191730.js
1 function assertEq(actual, expected) {
2     if (actual != expected)
3         throw ("Expected: " + expected + ", actual: " + actual);
4 }
5
6 var otherGlobal = $vm.createGlobalObject();
7
8 Array.prototype.__defineSetter__(7, () => {
9     arr[0] = { };
10 });
11
12 let arr = new otherGlobal.Array(1.1, 2.2, 3.3);
13
14 function foo(arr, regexp, str){
15     var result = regexp[Symbol.match](str);
16     arr[1] = 3.54484805889626e-310;
17     return arr[0];
18 }
19
20 let regexp = /a/g;
21 for (let i = 0; i < 10000; i++)
22     foo(arr, regexp, "aaaa");
23
24 let r = foo(arr, regexp, "aaaaaaaa");
25 assertEq(arr[1], "3.54484805889626e-310");