[INTL] Improve spec & test262 compliance for Intl APIs
[WebKit-https.git] / JSTests / ChangeLog
1 2018-05-13  Andy VanWagoner  <andy@vanwagoner.family>
2
3         [INTL] Improve spec & test262 compliance for Intl APIs
4         https://bugs.webkit.org/show_bug.cgi?id=185578
5
6         Reviewed by Yusuke Suzuki.
7
8         Remove intl402 failures that have been fixed.
9
10         * test262/expectations.yaml:
11         * stress/regress-178385.js: toStringTag is configurable, but not writable.
12
13 2018-05-11  Caio Lima  <ticaiolima@gmail.com>
14
15         [ESNext][BigInt] Implement support for "*" operation
16         https://bugs.webkit.org/show_bug.cgi?id=183721
17
18         Reviewed by Yusuke Suzuki.
19
20         * bigIntTests.yaml:
21         * stress/big-int-mul-jit.js: Added.
22         * stress/big-int-mul-to-primitive-precedence.js: Added.
23         * stress/big-int-mul-to-primitive.js: Added.
24         * stress/big-int-mul-type-error.js: Added.
25         * stress/big-int-mul-wrapped-value.js: Added.
26         * stress/big-int-multiplication.js: Added.
27         * stress/big-int-multiply-memory-stress.js: Added.
28
29 2018-05-11  Michael Saboff  <msaboff@apple.com>
30
31         [DFG] Compiler uses incorrect output register for NumberIsInteger operation
32         https://bugs.webkit.org/show_bug.cgi?id=185328
33
34         Reviewed by Keith Miller.
35
36         New regression test.
37
38         * stress/isInteger-doesnt-overwrite-argument.js: Added.
39         (testIsInteger):
40
41 2018-05-09  Yusuke Suzuki  <utatane.tea@gmail.com>
42
43         [JSC] Object.assign for final objects should be faster
44         https://bugs.webkit.org/show_bug.cgi?id=185348
45
46         Reviewed by Saam Barati.
47
48         * stress/object-assign-fast-path.js: Added.
49         (shouldBe):
50         (checkProperty):
51
52 2018-05-10  Leo Balter  <leonardo.balter@gmail.com>
53
54         Update Test262 tests through the new import script - 20180509
55         https://bugs.webkit.org/show_bug.cgi?id=185482
56
57         Reviewed by Michael Saboff.
58
59         Also update the test262/expecatations.yaml with the recent imported files.
60
61         * test262/expectations.yaml:
62         * test262/harness/compareIterator.js: Added.
63         (assert.compareIterator):
64         * test262/harness/nativeFunctionMatcher.js:
65         (const.assertToStringOrNativeFunction):
66         (const.assertNativeFunction):
67         * test262/harness/regExpUtils.js:
68         * test262/harness/testIntl.js:
69         (getInvalidLanguageTags):
70         * test262/harness/testTypedArray.js:
71         * test262/harness/wellKnownIntrinsicObjects.js: Added.
72         (WellKnownIntrinsicObjects.forEach.wkio.catch):
73         * test262/latest-changes-summary.txt: Added.
74         * test262/test/annexB/language/eval-code/direct/block-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/block-decl-strict-caller.js.
75         (catch):
76         * test262/test/annexB/language/eval-code/direct/switch-case-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-source.js.
77         (catch):
78         * test262/test/annexB/language/eval-code/direct/switch-dflt-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js.
79         (catch):
80         * test262/test/annexB/language/function-code/block-decl-nested-blocks-with-fun-decl.js: Added.
81         (g.f):
82         (g):
83         * test262/test/annexB/language/function-code/block-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/block-decl-strict.js.
84         (catch):
85         (f):
86         * test262/test/annexB/language/function-code/switch-case-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/switch-case-decl-strict.js.
87         (catch):
88         (switch.case.1):
89         (switch):
90         * test262/test/annexB/language/function-code/switch-dflt-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/switch-dflt-decl-strict.js.
91         (catch):
92         (switch.default):
93         (switch):
94         * test262/test/built-ins/Array/prototype/filter/target-array-with-non-writable-property.js: Added.
95         (a.Symbol.species):
96         (r.a.filter):
97         * test262/test/built-ins/Array/prototype/indexOf/calls-only-has-on-prototype-after-length-zeroed.js: Added.
98         (allowProxyTraps.has):
99         (fromIndex.valueOf):
100         * test262/test/built-ins/Array/prototype/lastIndexOf/calls-only-has-on-prototype-after-length-zeroed.js: Added.
101         (allowProxyTraps.has):
102         (fromIndex.valueOf):
103         * test262/test/built-ins/Array/prototype/map/target-array-with-non-writable-property.js: Added.
104         (a.Symbol.species):
105         (r.a.map):
106         * test262/test/built-ins/Array/prototype/slice/target-array-with-non-writable-property.js: Added.
107         (a.Symbol.species):
108         * test262/test/built-ins/Array/prototype/splice/property-traps-order-with-species.js: Added.
109         (a.Symbol.species):
110         * test262/test/built-ins/Array/prototype/splice/target-array-with-non-writable-property.js: Added.
111         (a.Symbol.species):
112         * test262/test/built-ins/Atomics/Symbol.toStringTag.js:
113         * test262/test/built-ins/Atomics/add/bad-range.js:
114         (testWithTypedArrayConstructors):
115         * test262/test/built-ins/Atomics/add/good-views.js:
116         (testWithTypedArrayConstructors):
117         * test262/test/built-ins/Atomics/add/non-views.js:
118         * test262/test/built-ins/Atomics/add/nonshared-int-views.js:
119         (testWithTypedArrayConstructors):
120         * test262/test/built-ins/Atomics/add/shared-nonint-views.js:
121         (testWithTypedArrayConstructors):
122         * test262/test/built-ins/Atomics/and/bad-range.js:
123         (testWithTypedArrayConstructors):
124         * test262/test/built-ins/Atomics/and/good-views.js:
125         (testWithTypedArrayConstructors):
126         * test262/test/built-ins/Atomics/and/non-views.js:
127         * test262/test/built-ins/Atomics/and/nonshared-int-views.js:
128         (testWithTypedArrayConstructors):
129         * test262/test/built-ins/Atomics/and/shared-nonint-views.js:
130         (testWithTypedArrayConstructors):
131         * test262/test/built-ins/Atomics/compareExchange/bad-range.js:
132         (testWithTypedArrayConstructors):
133         * test262/test/built-ins/Atomics/compareExchange/good-views.js:
134         (testWithTypedArrayConstructors):
135         (view): Deleted.
136         * test262/test/built-ins/Atomics/compareExchange/non-views.js:
137         * test262/test/built-ins/Atomics/compareExchange/nonshared-int-views.js:
138         (testWithTypedArrayConstructors):
139         * test262/test/built-ins/Atomics/compareExchange/shared-nonint-views.js:
140         (testWithTypedArrayConstructors):
141         * test262/test/built-ins/Atomics/exchange/bad-range.js:
142         (testWithTypedArrayConstructors):
143         * test262/test/built-ins/Atomics/exchange/good-views.js:
144         (testWithTypedArrayConstructors):
145         * test262/test/built-ins/Atomics/exchange/non-views.js:
146         * test262/test/built-ins/Atomics/exchange/nonshared-int-views.js:
147         (testWithTypedArrayConstructors):
148         * test262/test/built-ins/Atomics/exchange/shared-nonint-views.js:
149         (testWithTypedArrayConstructors):
150         * test262/test/built-ins/Atomics/isLockFree/corner-cases.js:
151         (hide):
152         * test262/test/built-ins/Atomics/isLockFree/value.js:
153         (testIsLockFree): Deleted.
154         * test262/test/built-ins/Atomics/load/bad-range.js:
155         (testWithTypedArrayConstructors):
156         * test262/test/built-ins/Atomics/load/good-views.js:
157         (testWithTypedArrayConstructors):
158         * test262/test/built-ins/Atomics/load/non-views.js:
159         * test262/test/built-ins/Atomics/load/nonshared-int-views.js:
160         (testWithTypedArrayConstructors):
161         * test262/test/built-ins/Atomics/load/shared-nonint-views.js:
162         (testWithTypedArrayConstructors):
163         * test262/test/built-ins/Atomics/or/bad-range.js:
164         (testWithTypedArrayConstructors):
165         * test262/test/built-ins/Atomics/or/good-views.js:
166         (testWithTypedArrayConstructors):
167         * test262/test/built-ins/Atomics/or/non-views.js:
168         * test262/test/built-ins/Atomics/or/nonshared-int-views.js:
169         (testWithTypedArrayConstructors):
170         * test262/test/built-ins/Atomics/or/shared-nonint-views.js:
171         (testWithTypedArrayConstructors):
172         * test262/test/built-ins/Atomics/prop-desc.js:
173         * test262/test/built-ins/Atomics/proto.js:
174         * test262/test/built-ins/Atomics/store/bad-range.js:
175         (testWithTypedArrayConstructors):
176         * test262/test/built-ins/Atomics/store/good-views.js:
177         (testWithTypedArrayConstructors):
178         (ToInteger):
179         * test262/test/built-ins/Atomics/store/non-views.js:
180         * test262/test/built-ins/Atomics/store/nonshared-int-views.js:
181         (testWithTypedArrayConstructors):
182         * test262/test/built-ins/Atomics/store/shared-nonint-views.js:
183         (testWithTypedArrayConstructors):
184         * test262/test/built-ins/Atomics/sub/bad-range.js:
185         (testWithTypedArrayConstructors):
186         * test262/test/built-ins/Atomics/sub/good-views.js:
187         (testWithTypedArrayConstructors):
188         * test262/test/built-ins/Atomics/sub/non-views.js:
189         * test262/test/built-ins/Atomics/sub/nonshared-int-views.js:
190         (testWithTypedArrayConstructors):
191         * test262/test/built-ins/Atomics/sub/shared-nonint-views.js:
192         (testWithTypedArrayConstructors):
193         * test262/test/built-ins/Atomics/wait/bad-range.js: Copied from JSTests/test262/test/built-ins/Atomics/wake/bad-range.js.
194         (testWithTypedArrayConstructors):
195         * test262/test/built-ins/Atomics/wait/cannot-suspend-throws.js:
196         * test262/test/built-ins/Atomics/wait/did-timeout.js:
197         (getReport):
198         * test262/test/built-ins/Atomics/wait/false-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js.
199         (getReport):
200         (262.agent.start.valueOf.valueOf):
201         (toPrimitive.Symbol.toPrimitive):
202         (262.agent.receiveBroadcast):
203         * test262/test/built-ins/Atomics/wait/false-for-timeout.js:
204         (valueOf.valueOf):
205         (toPrimitive.Symbol.toPrimitive):
206         (getReport): Deleted.
207         (262.agent.start.262.agent.receiveBroadcast): Deleted.
208         * test262/test/built-ins/Atomics/wait/good-views.js:
209         (r.getReport):
210         (getReport):
211         * test262/test/built-ins/Atomics/wait/nan-for-timeout.js:
212         (getReport):
213         * test262/test/built-ins/Atomics/wait/negative-index-throws.js:
214         * test262/test/built-ins/Atomics/wait/negative-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/negative-timeout.js.
215         (getReport):
216         (262.agent.start.262.agent.receiveBroadcast):
217         * test262/test/built-ins/Atomics/wait/negative-timeout.js:
218         (262.agent.start.262.agent.receiveBroadcast): Deleted.
219         (getReport): Deleted.
220         * test262/test/built-ins/Atomics/wait/no-spurious-wakeup.js:
221         (getReport):
222         * test262/test/built-ins/Atomics/wait/non-int32-typedarray-throws.js:
223         * test262/test/built-ins/Atomics/wait/non-shared-bufferdata-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/nonshared-bufferdata-throws.js.
224         * test262/test/built-ins/Atomics/wait/not-a-typedarray-throws.js:
225         * test262/test/built-ins/Atomics/wait/not-an-object-throws.js:
226         * test262/test/built-ins/Atomics/wait/null-bufferdata-throws.js:
227         * test262/test/built-ins/Atomics/wait/null-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js.
228         (getReport):
229         (262.agent.start.valueOf.valueOf):
230         (toPrimitive.Symbol.toPrimitive):
231         (262.agent.receiveBroadcast):
232         * test262/test/built-ins/Atomics/wait/null-for-timeout.js:
233         (valueOf.valueOf):
234         (toPrimitive.Symbol.toPrimitive):
235         (getReport): Deleted.
236         (262.agent.start.262.agent.receiveBroadcast): Deleted.
237         * test262/test/built-ins/Atomics/wait/object-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js.
238         (getReport):
239         (262.agent.start.valueOf.valueOf):
240         (toString.toString):
241         (toPrimitive.Symbol.toPrimitive):
242         (262.agent.receiveBroadcast):
243         * test262/test/built-ins/Atomics/wait/object-for-timeout.js:
244         (valueOf.valueOf):
245         (toString.toString):
246         (toPrimitive.Symbol.toPrimitive):
247         (getReport): Deleted.
248         (262.agent.start.262.agent.receiveBroadcast): Deleted.
249         * test262/test/built-ins/Atomics/wait/out-of-range-index-throws.js:
250         * test262/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js: Added.
251         (getReport):
252         (262.agent.start.poisonedValueOf.valueOf):
253         (poisonedToPrimitive.Symbol.toPrimitive):
254         (262.agent.receiveBroadcast):
255         * test262/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js:
256         (poisonedValueOf.valueOf):
257         (poisonedToPrimitive.Symbol.toPrimitive):
258         (getReport): Deleted.
259         (262.agent.start.262.agent.receiveBroadcast): Deleted.
260         * test262/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js: Added.
261         (getReport):
262         (262.agent.start.poisonedValueOf.valueOf):
263         (poisonedToPrimitive.Symbol.toPrimitive):
264         (262.agent.receiveBroadcast):
265         * test262/test/built-ins/Atomics/wait/symbol-for-index-throws.js:
266         (poisonedToPrimitive.Symbol.toPrimitive):
267         (poisoned.valueOf): Deleted.
268         (poisonedWithString.get valueOf): Deleted.
269         (poisonedToPrimitive.get Symbol): Deleted.
270         * test262/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js: Added.
271         (getReport):
272         (262.agent.start.262.agent.receiveBroadcast):
273         * test262/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js:
274         (poisonedValueOf.valueOf):
275         (poisonedToPrimitive.Symbol.toPrimitive):
276         (getReport): Deleted.
277         (262.agent.start.262.agent.receiveBroadcast): Deleted.
278         * test262/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js: Added.
279         (getReport):
280         (262.agent.start.poisonedValueOf.valueOf):
281         (poisonedToPrimitive.Symbol.toPrimitive):
282         (262.agent.receiveBroadcast):
283         * test262/test/built-ins/Atomics/wait/symbol-for-value-throws.js: Added.
284         (poisonedValueOf.valueOf):
285         (poisonedToPrimitive.Symbol.toPrimitive):
286         * test262/test/built-ins/Atomics/wait/true-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/null-for-timeout.js.
287         (getReport):
288         (262.agent.start.valueOf.valueOf):
289         (toPrimitive.Symbol.toPrimitive):
290         (262.agent.receiveBroadcast):
291         * test262/test/built-ins/Atomics/wait/true-for-timeout.js:
292         (valueOf.valueOf):
293         (toPrimitive.Symbol.toPrimitive):
294         (getReport): Deleted.
295         (262.agent.start.262.agent.receiveBroadcast): Deleted.
296         * test262/test/built-ins/Atomics/wait/undefined-for-timeout.js:
297         (getReport):
298         * test262/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js:
299         (262.agent.start.262.agent.receiveBroadcast):
300         (getReport):
301         * test262/test/built-ins/Atomics/wait/value-not-equal.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/wait-index-value-not-equal.js.
302         (getReport):
303         (262.agent.start.262.agent.receiveBroadcast):
304         * test262/test/built-ins/Atomics/wait/wait-index-value-not-equal.js:
305         (262.agent.start.262.agent.receiveBroadcast):
306         * test262/test/built-ins/Atomics/wait/waiterlist-block-indexedposition-wake.js: Added.
307         (getReport):
308         (262.agent.start.262.agent.receiveBroadcast):
309         * test262/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js: Added.
310         (getReport):
311         (262.agent.start.262.agent.receiveBroadcast):
312         * test262/test/built-ins/Atomics/wait/was-woken-before-timeout.js:
313         (getReport):
314         (262.agent.start.262.agent.receiveBroadcast):
315         * test262/test/built-ins/Atomics/wait/was-woken.js:
316         (getReport):
317         (262.agent.start.262.agent.receiveBroadcast):
318         * test262/test/built-ins/Atomics/wake/bad-range.js:
319         (testWithTypedArrayConstructors):
320         * test262/test/built-ins/Atomics/wake/count-boundary-cases.js: Renamed from JSTests/test262/test/built-ins/Atomics/wake/counts.js.
321         * test262/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js: Added.
322         (getReport):
323         (262.agent.start.262.agent.receiveBroadcast):
324         * test262/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js: Added.
325         (getReport):
326         (262.agent.start.262.agent.receiveBroadcast):
327         * test262/test/built-ins/Atomics/wake/count-from-nans.js: Added.
328         * test262/test/built-ins/Atomics/wake/count-symbol-throws.js: Added.
329         * test262/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js: Added.
330         (poisoned.valueOf):
331         * test262/test/built-ins/Atomics/wake/good-views.js:
332         * test262/test/built-ins/Atomics/wake/negative-count.js: Renamed from JSTests/test262/test/built-ins/Atomics/wake/wake-negative.js.
333         * test262/test/built-ins/Atomics/wake/negative-index-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/negative-index-throws.js.
334         (poisoned.valueOf):
335         * test262/test/built-ins/Atomics/wake/non-int32-typedarray-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/non-int32-typedarray-throws.js.
336         (poisoned.valueOf):
337         * test262/test/built-ins/Atomics/wake/non-shared-bufferdata-throws.js: Renamed from JSTests/test262/test/built-ins/Atomics/wait/nonshared-bufferdata-throws.js.
338         (poisoned.valueOf):
339         * test262/test/built-ins/Atomics/wake/non-views.js:
340         * test262/test/built-ins/Atomics/wake/nonshared-int-views.js:
341         (testWithTypedArrayConstructors):
342         * test262/test/built-ins/Atomics/wake/not-a-typedarray-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/not-a-typedarray-throws.js.
343         (poisoned.valueOf):
344         * test262/test/built-ins/Atomics/wake/not-an-object-throws.js: Added.
345         (poisoned.valueOf):
346         * test262/test/built-ins/Atomics/wake/null-bufferdata-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/null-bufferdata-throws.js.
347         (poisoned.valueOf):
348         * test262/test/built-ins/Atomics/wake/out-of-range-index-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/out-of-range-index-throws.js.
349         (poisoned.valueOf):
350         * test262/test/built-ins/Atomics/wake/shared-nonint-views.js:
351         (testWithTypedArrayConstructors):
352         * test262/test/built-ins/Atomics/wake/symbol-for-index-throws.js: Added.
353         (poisonedValueOf.valueOf):
354         (poisonedToPrimitive.Symbol.toPrimitive):
355         * test262/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js.
356         (262.agent.start.262.agent.receiveBroadcast):
357         (getReport):
358         * test262/test/built-ins/Atomics/wake/wake-all-on-loc.js:
359         (262.agent.start.262.agent.receiveBroadcast):
360         (getReport):
361         (waitUntil):
362         * test262/test/built-ins/Atomics/wake/wake-all.js:
363         (262.agent.start.262.agent.receiveBroadcast):
364         (getReport):
365         (waitUntil):
366         * test262/test/built-ins/Atomics/wake/wake-in-order.js:
367         (getReport):
368         (waitUntil):
369         * test262/test/built-ins/Atomics/wake/wake-nan.js:
370         (getReport):
371         * test262/test/built-ins/Atomics/wake/wake-one.js:
372         (getReport):
373         (waitUntil):
374         * test262/test/built-ins/Atomics/wake/wake-rewake-noop.js: Added.
375         (getReport):
376         (waitUntil):
377         (262.agent.start.262.agent.receiveBroadcast):
378         * test262/test/built-ins/Atomics/wake/wake-two.js:
379         (getReport):
380         * test262/test/built-ins/Atomics/wake/wake-with-no-agents-waiting.js: Added.
381         (262.agent.start.262.agent.receiveBroadcast):
382         (waitUntil):
383         * test262/test/built-ins/Atomics/wake/wake-with-no-matching-agents-waiting.js: Added.
384         (262.agent.start.262.agent.receiveBroadcast):
385         (waitUntil):
386         * test262/test/built-ins/Atomics/wake/wake-zero.js:
387         (i.262.agent.start.262.agent.receiveBroadcast):
388         (getReport):
389         (waitUntil):
390         * test262/test/built-ins/Atomics/xor/bad-range.js:
391         (testWithTypedArrayConstructors):
392         * test262/test/built-ins/Atomics/xor/good-views.js:
393         (testWithTypedArrayConstructors):
394         * test262/test/built-ins/Atomics/xor/non-views.js:
395         * test262/test/built-ins/Atomics/xor/nonshared-int-views.js:
396         (testWithTypedArrayConstructors):
397         * test262/test/built-ins/Atomics/xor/shared-nonint-views.js:
398         (testWithTypedArrayConstructors):
399         * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-errors.js:
400         * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-toprimitive.js:
401         * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-wrapped-values.js:
402         * test262/test/built-ins/BigInt/asIntN/bits-toindex-errors.js:
403         * test262/test/built-ins/BigInt/asIntN/bits-toindex-toprimitive.js:
404         * test262/test/built-ins/BigInt/asIntN/bits-toindex-wrapped-values.js:
405         * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-errors.js:
406         * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-toprimitive.js:
407         * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-wrapped-values.js:
408         * test262/test/built-ins/BigInt/asUintN/bits-toindex-errors.js:
409         * test262/test/built-ins/BigInt/asUintN/bits-toindex-toprimitive.js:
410         * test262/test/built-ins/BigInt/asUintN/bits-toindex-wrapped-values.js:
411         * test262/test/built-ins/BigInt/constructor-empty-string.js:
412         * test262/test/built-ins/BigInt/constructor-from-binary-string.js:
413         * test262/test/built-ins/BigInt/constructor-from-decimal-string.js:
414         * test262/test/built-ins/BigInt/constructor-from-hex-string.js:
415         * test262/test/built-ins/BigInt/constructor-from-octal-string.js:
416         * test262/test/built-ins/BigInt/constructor-from-string-syntax-errors.js:
417         * test262/test/built-ins/BigInt/constructor-integer.js: Added.
418         * test262/test/built-ins/BigInt/constructor-trailing-leading-spaces.js:
419         * test262/test/built-ins/BigInt/issafeinteger-true.js: Removed.
420         * test262/test/built-ins/BigInt/out-of-bounds-integer-rangeerror.js: Removed.
421         * test262/test/built-ins/BigInt/prototype/Symbol.toStringTag.js:
422         * test262/test/built-ins/BigInt/prototype/toString/default-radix.js: Added.
423         * test262/test/built-ins/BigInt/prototype/toString/thisbigintvalue-not-valid-throws.js:
424         * test262/test/built-ins/BigInt/prototype/valueOf/cross-realm.js: Added.
425         * test262/test/built-ins/BigInt/tostring-throws.js: Copied from JSTests/test262/test/built-ins/BigInt/value-of-throws.js.
426         * test262/test/built-ins/BigInt/valueof-throws.js: Renamed from JSTests/test262/test/built-ins/BigInt/value-of-throws.js.
427         (BigInt.valueOf):
428         * test262/test/built-ins/DataView/prototype/setBigInt64/set-values-return-undefined.js:
429         (values.forEach):
430         * test262/test/built-ins/Function/prototype/bind/length-exceeds-int32.js: Added.
431         (f):
432         * test262/test/built-ins/Function/prototype/toString/anonymous-intrinsics.js: Removed.
433         * test262/test/built-ins/Function/prototype/toString/bound-function.js:
434         (assertNativeFunction):
435         (let.f): Deleted.
436         * test262/test/built-ins/Function/prototype/toString/built-in-function-object.js: Added.
437         * test262/test/built-ins/Function/prototype/toString/intrinsics.js: Removed.
438         * test262/test/built-ins/Function/prototype/toString/proxy-arrow-function.js: Added.
439         (assertNativeFunction.new.Proxy):
440         * test262/test/built-ins/Function/prototype/toString/proxy-async-function.js: Added.
441         (assertNativeFunction.new.Proxy.async):
442         * test262/test/built-ins/Function/prototype/toString/proxy-async-generator-function.js: Added.
443         (assertNativeFunction.new.Proxy.async):
444         * test262/test/built-ins/Function/prototype/toString/proxy-async-generator-method-definition.js: Added.
445         (assertNativeFunction.new.Proxy.async.method):
446         (apply):
447         * test262/test/built-ins/Function/prototype/toString/proxy-async-method-definition.js: Added.
448         (assertNativeFunction.new.Proxy.async.method):
449         (apply):
450         * test262/test/built-ins/Function/prototype/toString/proxy-bound-function.js: Added.
451         (assertNativeFunction.new.Proxy):
452         (bind):
453         * test262/test/built-ins/Function/prototype/toString/proxy-class.js: Added.
454         (assertNativeFunction):
455         * test262/test/built-ins/Function/prototype/toString/proxy-function-expression.js: Added.
456         (assertNativeFunction.new.Proxy):
457         * test262/test/built-ins/Function/prototype/toString/proxy-generator-function.js: Added.
458         (assertNativeFunction.new.Proxy):
459         * test262/test/built-ins/Function/prototype/toString/proxy-method-definition.js: Added.
460         (assertNativeFunction.new.Proxy.method):
461         (apply):
462         * test262/test/built-ins/Function/prototype/toString/proxy-non-callable-throws.js: Added.
463         * test262/test/built-ins/Function/prototype/toString/proxy.js: Removed.
464         * test262/test/built-ins/Function/prototype/toString/well-known-intrinsic-object-functions.js: Added.
465         (WellKnownIntrinsicObjects.forEach):
466         * test262/test/built-ins/JSON/prop-desc.js: Added.
467         * test262/test/built-ins/Math/acosh/nan-returns.js:
468         * test262/test/built-ins/Math/asinh/asinh-specialVals.js:
469         * test262/test/built-ins/Math/atanh/atanh-specialVals.js:
470         * test262/test/built-ins/Math/cbrt/cbrt-specialValues.js:
471         * test262/test/built-ins/Math/cbrt/prop-desc.js:
472         * test262/test/built-ins/Math/cosh/cosh-specialVals.js:
473         * test262/test/built-ins/Math/expm1/expm1-specialVals.js:
474         * test262/test/built-ins/Math/log10/Log10-specialVals.js:
475         * test262/test/built-ins/Math/log2/log2-basicTests.js:
476         * test262/test/built-ins/Math/prop-desc.js:
477         * test262/test/built-ins/Math/sign/sign-specialVals.js:
478         * test262/test/built-ins/Math/sinh/sinh-specialVals.js:
479         * test262/test/built-ins/Math/tanh/tanh-specialVals.js:
480         * test262/test/built-ins/Math/trunc/trunc-sampleTests.js:
481         * test262/test/built-ins/Math/trunc/trunc-specialVals.js:
482         * test262/test/built-ins/Object/assign/strings-and-symbol-order.js: Added.
483         * test262/test/built-ins/Object/keys/property-traps-order-with-proxied-array.js: Added.
484         (get t):
485         * test262/test/built-ins/Reflect/Reflect.js: Removed.
486         * test262/test/built-ins/Reflect/prop-desc.js: Added.
487         * test262/test/built-ins/Reflect/properties.js: Removed.
488         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/internal-regexp-lastindex-not-zero.js: Added.
489         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-is-false.js: Added.
490         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-throws.js: Added.
491         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-this-throws.js: Added.
492         (obj.get Symbol):
493         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/length.js: Added.
494         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/name.js: Added.
495         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/prop-desc.js: Added.
496         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/regexpcreate-this-throws.js: Added.
497         (obj.toString):
498         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-get-constructor-throws.js: Added.
499         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-get-species-throws.js: Added.
500         (regexp.get Symbol):
501         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-is-not-object-throws.js: Added.
502         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-is-undefined.js: Added.
503         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-is-not-constructor.js: Added.
504         (callMatchAll):
505         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-is-null-or-undefined.js: Added.
506         (TestWithConstructor):
507         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-throws.js: Added.
508         (regexp.Symbol.species):
509         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor.js: Added.
510         (regexp.Symbol.species):
511         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-regexp-get-global-throws.js: Added.
512         (regexp.Symbol.species):
513         (get assert):
514         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-regexp-get-unicode-throws.js: Added.
515         (regexp.Symbol.species):
516         (get assert):
517         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/string-tostring-throws.js: Added.
518         (obj.valueOf):
519         (obj.toString):
520         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/string-tostring.js: Added.
521         (obj.toString):
522         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-get-flags-throws.js: Added.
523         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-get-flags.js: Added.
524         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-lastindex-cached.js: Added.
525         (regexp.lastIndex.valueOf):
526         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-not-object-throws.js: Added.
527         (callMatchAll):
528         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tolength-lastindex-throws.js: Added.
529         (regexp.lastIndex.valueOf):
530         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tostring-flags-throws.js: Added.
531         (value.valueOf):
532         (value.toString):
533         * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tostring-flags.js: Added.
534         (value.toString):
535         * test262/test/built-ins/RegExpStringIteratorPrototype/Symbol.toStringTag.js: Added.
536         * test262/test/built-ins/RegExpStringIteratorPrototype/ancestry.js: Added.
537         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-call-throws.js: Added.
538         (RegExp.prototype.exec):
539         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-get-throws.js: Added.
540         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-throws.js: Added.
541         (return.get string_appeared_here):
542         (RegExp.prototype.exec):
543         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-tostring-throws.js: Added.
544         (return.toString):
545         (RegExp.prototype.exec):
546         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-tostring.js: Added.
547         (execResult.get string_appeared_here):
548         (RegExp.prototype.exec):
549         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-not-callable.js: Added.
550         (TestWithRegExpExec):
551         * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec.js: Added.
552         (callNextWithExecReturnValue.RegExp.prototype.exec):
553         (callNextWithExecReturnValue):
554         * test262/test/built-ins/RegExpStringIteratorPrototype/next/length.js: Added.
555         * test262/test/built-ins/RegExpStringIteratorPrototype/next/name.js: Added.
556         * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-iteration-global.js: Added.
557         * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-iteration.js: Added.
558         * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-missing-internal-slots.js: Added.
559         * test262/test/built-ins/RegExpStringIteratorPrototype/next/prop-desc.js: Added.
560         * test262/test/built-ins/RegExpStringIteratorPrototype/next/regexp-tolength-lastindex-throws.js: Added.
561         (RegExp.prototype.exec):
562         * test262/test/built-ins/RegExpStringIteratorPrototype/next/this-is-not-object-throws.js: Added.
563         (callNext):
564         * test262/test/built-ins/String/prototype/matchAll/length.js: Added.
565         * test262/test/built-ins/String/prototype/matchAll/name.js: Added.
566         * test262/test/built-ins/String/prototype/matchAll/prop-desc.js: Added.
567         * test262/test/built-ins/String/prototype/matchAll/regexp-get-matchAll-throws.js: Added.
568         * test262/test/built-ins/String/prototype/matchAll/regexp-is-null.js: Added.
569         * test262/test/built-ins/String/prototype/matchAll/regexp-is-undefined.js: Added.
570         * test262/test/built-ins/String/prototype/matchAll/regexp-matchAll-invocation.js: Added.
571         (obj.Symbol.matchAll):
572         * test262/test/built-ins/String/prototype/matchAll/regexp-matchAll-throws.js: Added.
573         (regexp.Symbol.matchAll):
574         * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-get-matchAll-throws.js: Added.
575         * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-has-no-matchAll.js: Added.
576         * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-matchAll-invocation.js: Added.
577         (RegExp.prototype.Symbol.matchAll):
578         * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-matchAll-throws.js: Added.
579         (RegExp.prototype.Symbol.matchAll):
580         * test262/test/built-ins/String/prototype/matchAll/this-val-non-obj-coercible.js: Added.
581         * test262/test/built-ins/Symbol/matchAll/cross-realm.js: Added.
582         * test262/test/built-ins/Symbol/matchAll/prop-desc.js: Added.
583         * test262/test/harness/testTypedArray.js:
584         * test262/test/intl402/Array/prototype/toLocaleString/calls-toLocaleString-number-elements.js: Added.
585         * test262/test/intl402/Intl/getCanonicalLocales/invalid-tags.js:
586         * test262/test/intl402/Locale/constructor-newtarget-undefined.js: Added.
587         * test262/test/intl402/Locale/constructor-options-calendar-invalid.js: Added.
588         (const.invalidCalendarOption.of.invalidCalendarOptions.new.Intl.Locale):
589         * test262/test/intl402/Locale/constructor-options-calendar-valid.js: Added.
590         * test262/test/intl402/Locale/constructor-options-language-invalid.js: Added.
591         (const.invalidLanguageOption.of.invalidLanguageOptions.new.Intl.Locale):
592         * test262/test/intl402/Locale/constructor-options-language-valid.js: Added.
593         (toString):
594         * test262/test/intl402/Locale/constructor-options-region-invalid.js: Added.
595         (const.invalidRegionOption.of.invalidRegionOptions.new.Intl.Locale):
596         * test262/test/intl402/Locale/constructor-options-region-valid.js: Added.
597         * test262/test/intl402/Locale/constructor-options-script-invalid.js: Added.
598         (const.invalidScriptOption.of.invalidScriptOptions.new.Intl.Locale):
599         * test262/test/intl402/Locale/constructor-options-script-valid.js: Added.
600         (toString):
601         * test262/test/intl402/Locale/function-prototype.js: Added.
602         * test262/test/intl402/Locale/instance-extensibility.js: Added.
603         * test262/test/intl402/Locale/instance.js: Added.
604         * test262/test/intl402/Locale/invalid-tag-throws-boolean.js: Added.
605         * test262/test/intl402/Locale/invalid-tag-throws-null.js: Added.
606         * test262/test/intl402/Locale/invalid-tag-throws-number.js: Added.
607         * test262/test/intl402/Locale/invalid-tag-throws-symbol.js: Added.
608         * test262/test/intl402/Locale/invalid-tag-throws-undefined.js: Added.
609         * test262/test/intl402/Locale/invalid-tag-throws.js: Added.
610         (const.invalidTag.of.getInvalidLanguageTags):
611         * test262/test/intl402/Locale/length.js: Added.
612         * test262/test/intl402/Locale/name.js: Added.
613         * test262/test/intl402/Locale/prop-desc.js: Added.
614         * test262/test/intl402/Locale/prototype/constructor.js: Added.
615         * test262/test/intl402/Locale/prototype/maximize/length.js: Added.
616         * test262/test/intl402/Locale/prototype/maximize/name.js: Added.
617         * test262/test/intl402/Locale/prototype/maximize/prop-desc.js: Added.
618         * test262/test/intl402/Locale/prototype/prop-desc.js: Added.
619         * test262/test/intl402/Locale/prototype/toStringTag.js: Added.
620         * test262/test/intl402/TypedArray/prototype/toLocaleString/calls-toLocaleString-number-elements.js: Added.
621         (testWithTypedArrayConstructors):
622         * test262/test/language/asi/S7.9_A11_T8.js:
623         (else.x.1): Deleted.
624         * test262/test/language/asi/S7.9_A4.js:
625         (catch):
626         * test262/test/language/asi/S7.9_A5.1_T1.js:
627         * test262/test/language/asi/S7.9_A5.3_T1.js:
628         * test262/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js: Added.
629         (g.f):
630         (g):
631         * test262/test/language/destructuring/binding/initialization-requires-object-coercible-null.js:
632         * test262/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js:
633         * test262/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js:
634         * test262/test/language/destructuring/binding/syntax/array-elements-with-initializer.js:
635         * test262/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js:
636         * test262/test/language/destructuring/binding/syntax/array-elements-without-initializer.js:
637         * test262/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js:
638         * test262/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js:
639         * test262/test/language/destructuring/binding/syntax/array-rest-elements.js:
640         * test262/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js:
641         * test262/test/language/destructuring/binding/syntax/property-list-bindings-elements.js:
642         * test262/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js:
643         * test262/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js:
644         * test262/test/language/destructuring/binding/syntax/property-list-with-property-list.js:
645         * test262/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js:
646         * test262/test/language/eval-code/direct/block-decl-eval-source-is-strict-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/block-decl-strict-source.js.
647         * test262/test/language/eval-code/direct/block-decl-eval-source-is-strict-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/block-decl-strict-source.js.
648         (catch):
649         * test262/test/language/eval-code/direct/block-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/block-decl-strict-caller.js.
650         * test262/test/language/eval-code/direct/switch-case-decl-eval-source-is-strict-nostrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-source.js.
651         * test262/test/language/eval-code/direct/switch-case-decl-eval-source-is-strict-onlystrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js.
652         (catch):
653         * test262/test/language/eval-code/direct/switch-case-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js.
654         * test262/test/language/eval-code/direct/switch-dflt-decl-eval-source-is-strict-nostrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-source.js.
655         * test262/test/language/eval-code/direct/switch-dflt-decl-eval-source-is-strict-onlystrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js.
656         (catch):
657         * test262/test/language/eval-code/direct/switch-dflt-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js.
658         * test262/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js: Added.
659         (async):
660         * test262/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js: Added.
661         (async):
662         * test262/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js: Added.
663         (async.a):
664         * test262/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js: Added.
665         (async.a):
666         * test262/test/language/expressions/async-arrow-function/escaped-async-line-terminator.js: Added.
667         * test262/test/language/expressions/async-generator/generator-created-after-decl-inst.js: Added.
668         (g.async.a):
669         * test262/test/language/expressions/class/class-name-ident-await-escaped-module.js: Added.
670         (C):
671         * test262/test/language/expressions/class/class-name-ident-await-escaped.js: Added.
672         (C):
673         * test262/test/language/expressions/class/class-name-ident-await-module.js: Added.
674         (C):
675         * test262/test/language/expressions/class/class-name-ident-await.js: Added.
676         (C):
677         * test262/test/language/expressions/class/class-name-ident-let-escaped.js: Added.
678         (C):
679         * test262/test/language/expressions/class/class-name-ident-let.js: Added.
680         (C):
681         * test262/test/language/expressions/class/class-name-ident-static-escaped.js: Added.
682         (C):
683         * test262/test/language/expressions/class/class-name-ident-static.js: Added.
684         * test262/test/language/expressions/class/class-name-ident-yield-escaped.js: Added.
685         (C):
686         * test262/test/language/expressions/class/class-name-ident-yield.js: Added.
687         (C):
688         * test262/test/language/expressions/class/constructor-this-tdz-during-initializers.js: Added.
689         (Base):
690         (C):
691         * test262/test/language/expressions/class/fields-run-once-on-double-super.js: Added.
692         (Base):
693         (C):
694         * test262/test/language/expressions/generators/generator-created-after-decl-inst.js: Added.
695         (g):
696         * test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js: Added.
697         * test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js: Added.
698         * test262/test/language/expressions/greater-than/bigint-and-boolean.js: Added.
699         * test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js: Added.
700         * test262/test/language/expressions/greater-than/bigint-and-string.js: Added.
701         * test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js: Added.
702         * test262/test/language/expressions/less-than-or-equal/bigint-and-string.js: Added.
703         * test262/test/language/expressions/less-than/bigint-and-boolean.js: Added.
704         * test262/test/language/expressions/less-than/bigint-and-incomparable-string.js: Added.
705         * test262/test/language/expressions/less-than/bigint-and-string.js: Added.
706         * test262/test/language/expressions/object/method-definition/generator-super-prop-param.js:
707         * test262/test/language/function-code/block-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/block-decl-strict.js.
708         * test262/test/language/function-code/switch-case-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/switch-case-decl-strict.js.
709         * test262/test/language/function-code/switch-dflt-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/switch-dflt-decl-strict.js.
710         * test262/test/language/line-terminators/S7.3_A2.3.js: Removed.
711         * test262/test/language/line-terminators/S7.3_A2.4.js: Removed.
712         * test262/test/language/literals/regexp/invalid-optional-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
713         * test262/test/language/literals/regexp/invalid-optional-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
714         * test262/test/language/literals/regexp/invalid-range-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
715         * test262/test/language/literals/regexp/invalid-range-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
716         * test262/test/language/literals/regexp/u-invalid-optional-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
717         * test262/test/language/literals/regexp/u-invalid-optional-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
718         * test262/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
719         * test262/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
720         * test262/test/language/literals/regexp/u-invalid-range-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
721         * test262/test/language/literals/regexp/u-invalid-range-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
722         * test262/test/language/literals/regexp/u-invalid-range-negative-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
723         * test262/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js: Renamed from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js.
724         * test262/test/language/literals/string/line-separator-eval.js: Added.
725         * test262/test/language/literals/string/line-separator.js: Added.
726         * test262/test/language/literals/string/paragraph-separator-eval.js: Added.
727         * test262/test/language/literals/string/paragraph-separator.js: Added.
728         * test262/test/language/module-code/early-strict-mode.js:
729         * test262/test/language/statements/async-generator/generator-created-after-decl-inst.js: Added.
730         (async.g):
731         * test262/test/language/statements/break/S12.8_A8_T1.js:
732         (catch):
733         * test262/test/language/statements/break/S12.8_A8_T2.js:
734         (catch):
735         * test262/test/language/statements/class/class-name-ident-await-escaped-module.js: Added.
736         (aw):
737         * test262/test/language/statements/class/class-name-ident-await-escaped.js: Added.
738         (aw):
739         * test262/test/language/statements/class/class-name-ident-await-module.js: Added.
740         (await):
741         * test262/test/language/statements/class/class-name-ident-await.js: Added.
742         (await):
743         * test262/test/language/statements/class/class-name-ident-let-escaped.js: Added.
744         (l):
745         * test262/test/language/statements/class/class-name-ident-let.js: Added.
746         (let):
747         * test262/test/language/statements/class/class-name-ident-static-escaped.js: Added.
748         (st):
749         * test262/test/language/statements/class/class-name-ident-static.js: Added.
750         * test262/test/language/statements/class/class-name-ident-yield-escaped.js: Added.
751         (yi):
752         * test262/test/language/statements/class/class-name-ident-yield.js: Added.
753         (yield):
754         * test262/test/language/statements/continue/S12.7_A8_T1.js:
755         (catch):
756         * test262/test/language/statements/continue/S12.7_A8_T2.js:
757         (catch):
758         * test262/test/language/statements/generators/generator-created-after-decl-inst.js: Added.
759         (g):
760         * test262/test/language/statements/try/early-catch-duplicates.js:
761         * test262/test/language/statements/try/early-catch-function.js: Added.
762         (f.catch.e):
763         (f):
764         * test262/test/language/statements/try/early-catch-lex.js:
765         * test262/test/language/statements/try/early-catch-var.js:
766         * test262/test262-Revision.txt:
767
768 2018-05-09  Caio Lima  <ticaiolima@gmail.com>
769
770         [ESNext][BigInt] Implement support for "==" operation
771         https://bugs.webkit.org/show_bug.cgi?id=184474
772
773         Reviewed by Yusuke Suzuki.
774
775         * stress/big-int-equals-basic.js: Added.
776         * stress/big-int-equals-to-primitive-precedence.js: Added.
777         * stress/big-int-equals-wrapped-value.js: Added.
778
779 2018-05-08  Valerie R Young  <valerie@bocoup.com>
780
781         test262/Runner.pm: move input files to JSTests/test262
782         https://bugs.webkit.org/show_bug.cgi?id=185389
783
784         Reviewed by Michael Saboff.
785
786         * test262/config.yaml: Renamed from Tools/Scripts/test262/config.yaml.
787         * test262/expectations.yaml: Renamed from Tools/Scripts/test262/expectations.yaml.
788
789 2018-05-05  Filip Pizlo  <fpizlo@apple.com>
790
791         DFG AI should have O(1) clobbering
792         https://bugs.webkit.org/show_bug.cgi?id=185287
793
794         Reviewed by Saam Barati.
795
796         * stress/simple-ai-effect.js: Added.
797         (bar):
798         (foo):
799
800 2018-05-04  Keith Miller  <keith_miller@apple.com>
801
802         isCacheableArrayLength should return true for undecided arrays
803         https://bugs.webkit.org/show_bug.cgi?id=185309
804
805         Reviewed by Michael Saboff.
806
807         * stress/get-array-length-undecided.js: Added.
808         (test):
809
810 2018-05-04  Dominik Infuehr  <dinfuehr@igalia.com>
811
812         Disable tests on systems with limited memory
813         https://bugs.webkit.org/show_bug.cgi?id=185296
814
815         Reviewed by Saam Barati.
816
817         Test doesn't work with a limited amount of memory. I tried to reduce memory usage
818         but then it was hard to reproduce the failure the test was originally made to test.
819
820         * stress/array-reverse-doesnt-clobber.js:
821
822 2018-05-03  Saam Barati  <sbarati@apple.com>
823
824         Don't prevent CreateThis being folded to NewObject when the structure is poly proto
825         https://bugs.webkit.org/show_bug.cgi?id=185177
826
827         Reviewed by Filip Pizlo.
828
829         * microbenchmarks/construct-poly-proto-object.js: Added.
830         (foo.A):
831         (foo):
832         * stress/allocation-sinking-new-object-with-poly-proto.js: Added.
833         (foo.A):
834         (foo):
835         (makePolyProto):
836         (bar):
837         (baz):
838
839 2018-05-03  Michael Saboff  <msaboff@apple.com>
840
841         OSR entry pruning of Program Bytecodes doesn't take into account try/catch
842         https://bugs.webkit.org/show_bug.cgi?id=185281
843
844         Reviewed by Saam Barati.
845
846         New regression test.
847
848         * stress/baseline-osrentry-catch-is-reachable.js: Added.
849         (i.j.catch):
850
851 2018-05-03  Ryan Haddad  <ryanhaddad@apple.com>
852
853         Unreviewed, rolling out r231197.
854
855         The test added with this change crashes on the 32-bit JSC bot.
856
857         Reverted changeset:
858
859         "Correctly detect string overflow when using the 'Function'
860         constructor"
861         https://bugs.webkit.org/show_bug.cgi?id=184883
862         https://trac.webkit.org/changeset/231197
863
864 2018-05-02  Filip Pizlo  <fpizlo@apple.com>
865
866         JSC should know how to cache custom getter accesses on the prototype chain
867         https://bugs.webkit.org/show_bug.cgi?id=185213
868
869         Reviewed by Keith Miller.
870
871         * microbenchmarks/get-custom-getter.js: Added.
872         (test):
873
874 2018-05-02  Robin Morisset  <rmorisset@apple.com>
875
876         emitCodeToGetArgumentsArrayLength should not crash on PhantomNewArrayWithSpread
877         https://bugs.webkit.org/show_bug.cgi?id=183172
878
879         Reviewed by Filip Pizlo.
880
881         * stress/length-of-new-array-with-spread.js: Added.
882         (foo):
883         (bar):
884         (baz):
885
886 2018-05-01  Yusuke Suzuki  <utatane.tea@gmail.com>
887
888         [JSC] Add SameValue DFG node
889         https://bugs.webkit.org/show_bug.cgi?id=185065
890
891         Reviewed by Saam Barati.
892
893         * microbenchmarks/object-is.js: Added.
894         (incognito):
895         (sameValue):
896         (test1):
897         (test2):
898         (test3):
899         (test4):
900         (test5):
901         (test6):
902         * stress/object-is.js: Added.
903         (shouldBe):
904         (is1):
905         (is2):
906         (is3):
907         (is4):
908         (is5):
909         (is6):
910         (is7):
911         (is8):
912         (is9):
913         (is10):
914         (is11):
915         (is12):
916         (is13):
917         (is14):
918         (is15):
919
920 2018-05-01  Robin Morisset  <rmorisset@apple.com>
921
922         Correctly detect string overflow when using the 'Function' constructor
923         https://bugs.webkit.org/show_bug.cgi?id=184883
924         <rdar://problem/36320331>
925
926         Reviewed by Filip Pizlo.
927
928         I put this regression test in the 'slowMicrobenchmarks' directory because it takes nearly 30s to run, and I am not sure where else to put it.
929
930         * slowMicrobenchmarks/function-constructor-with-huge-strings.js: Added.
931         (catch):
932
933 2018-05-01  Robin Morisset  <rmorisset@apple.com>
934
935         IntlObject.cpp::removeUnicodeLocaleExtension() should not touch locales that end in '-u'
936         https://bugs.webkit.org/show_bug.cgi?id=185162
937
938         Reviewed by Filip Pizlo.
939
940         * stress/incomplete-unicode-locale.js: Added.
941         (catch):
942
943 2018-05-01  Dominik Infuehr  <dinfuehr@igalia.com>
944
945         Add SetCallee as DFG-Operation
946         https://bugs.webkit.org/show_bug.cgi?id=184582
947
948         Reviewed by Filip Pizlo.
949
950         Added test that runs into infinite loop without updating the callee and
951         therefore emitting SetCallee in DFG for recursive tail calls.
952
953         * stress/closure-recursive-tail-call-infinite-loop.js: Added.
954         (Foo):
955         (second):
956         (first):
957         (return.closure):
958         (createClosure):
959
960 2018-04-30  Saam Barati  <sbarati@apple.com>
961
962         ToString constant folds without preserving checks, causing us to break assumptions that the code would OSR exit
963         https://bugs.webkit.org/show_bug.cgi?id=185149
964         <rdar://problem/39455917>
965
966         Reviewed by Filip Pizlo.
967
968         * stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js: Added.
969
970 2018-04-29  Filip Pizlo  <fpizlo@apple.com>
971
972         LICM shouldn't hoist nodes if hoisted nodes exited in that code block
973         https://bugs.webkit.org/show_bug.cgi?id=185126
974
975         Reviewed by Saam Barati.
976         
977         I found this bug by accident when I was writing this test for something else.
978         
979         This change also speeds up other benchmarks of this case that we already had. They are all called
980         the licm-dragons tests.
981
982         * microbenchmarks/licm-dragons-two-structures.js: Added.
983         (foo):
984
985 2018-04-29  Commit Queue  <commit-queue@webkit.org>
986
987         Unreviewed, rolling out r231137.
988         https://bugs.webkit.org/show_bug.cgi?id=185118
989
990         It is breaking Test262 language/expressions/multiplication
991         /order-of-evaluation.js (Requested by caiolima on #webkit).
992
993         Reverted changeset:
994
995         "[ESNext][BigInt] Implement support for "*" operation"
996         https://bugs.webkit.org/show_bug.cgi?id=183721
997         https://trac.webkit.org/changeset/231137
998
999 2018-04-28  Saam Barati  <sbarati@apple.com>
1000
1001         We don't model regexp effects properly
1002         https://bugs.webkit.org/show_bug.cgi?id=185059
1003         <rdar://problem/39736150>
1004
1005         Reviewed by Filip Pizlo.
1006
1007         * stress/regexp-exec-test-effectful-last-index.js: Added.
1008         (assert):
1009         (foo):
1010         (i.regexLastIndex.toString):
1011         (bar):
1012
1013 2018-04-28  Rick Waldron  <waldron.rick@gmail.com>
1014
1015         Token misspelled "tocken" in error message string
1016         https://bugs.webkit.org/show_bug.cgi?id=185030
1017
1018         Reviewed by Saam Barati.
1019
1020         * ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc: Fix typo "tocken" => "token"
1021         * stress/destructuring-assignment-syntax.js: Fix typo "tocken" => "token"
1022         * stress/error-messages-for-in-operator-should-not-crash.js: Fix typo "tocken" => "token"
1023         * stress/reserved-word-with-escape.js: Fix typo "tocken" => "token"
1024         (testSyntaxError.String.raw.v):
1025         (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
1026         (testSyntaxError.String.raw.a):
1027
1028 2018-04-28  Caio Lima  <ticaiolima@gmail.com>
1029
1030         [ESNext][BigInt] Implement support for "*" operation
1031         https://bugs.webkit.org/show_bug.cgi?id=183721
1032
1033         Reviewed by Saam Barati.
1034
1035         * bigIntTests.yaml:
1036         * stress/big-int-mul-jit.js: Added.
1037         * stress/big-int-mul-to-primitive-precedence.js: Added.
1038         * stress/big-int-mul-to-primitive.js: Added.
1039         * stress/big-int-mul-type-error.js: Added.
1040         * stress/big-int-mul-wrapped-value.js: Added.
1041         * stress/big-int-multiplication.js: Added.
1042         * stress/big-int-multiply-memory-stress.js: Added.
1043
1044 2018-04-28  Commit Queue  <commit-queue@webkit.org>
1045
1046         Unreviewed, rolling out r231131.
1047         https://bugs.webkit.org/show_bug.cgi?id=185112
1048
1049         It is breaking Debug build due to unchecked exception
1050         (Requested by caiolima on #webkit).
1051
1052         Reverted changeset:
1053
1054         "[ESNext][BigInt] Implement support for "*" operation"
1055         https://bugs.webkit.org/show_bug.cgi?id=183721
1056         https://trac.webkit.org/changeset/231131
1057
1058 2018-04-27  Caio Lima  <ticaiolima@gmail.com>
1059
1060         [ESNext][BigInt] Implement support for "*" operation
1061         https://bugs.webkit.org/show_bug.cgi?id=183721
1062
1063         Reviewed by Saam Barati.
1064
1065         * bigIntTests.yaml:
1066         * stress/big-int-mul-jit.js: Added.
1067         * stress/big-int-mul-to-primitive-precedence.js: Added.
1068         * stress/big-int-mul-to-primitive.js: Added.
1069         * stress/big-int-mul-type-error.js: Added.
1070         * stress/big-int-mul-wrapped-value.js: Added.
1071         * stress/big-int-multiplication.js: Added.
1072         * stress/big-int-multiply-memory-stress.js: Added.
1073
1074 2018-04-27  Ryan Haddad  <ryanhaddad@apple.com>
1075
1076         Unreviewed, rolling out r231086.
1077
1078         Caused JSC test failures due to an unchecked exception.
1079
1080         Reverted changeset:
1081
1082         "[ESNext][BigInt] Implement support for "*" operation"
1083         https://bugs.webkit.org/show_bug.cgi?id=183721
1084         https://trac.webkit.org/changeset/231086
1085
1086 2018-04-27  Ryan Haddad  <ryanhaddad@apple.com>
1087
1088         Unreviewed test gardening, update expectations for test262/intl402/PluralRules tests after r231047.
1089
1090         * test262.yaml: Mark tests as passing.
1091
1092 2018-04-26  Caio Lima  <ticaiolima@gmail.com>
1093
1094         [ESNext][BigInt] Implement support for "*" operation
1095         https://bugs.webkit.org/show_bug.cgi?id=183721
1096
1097         Reviewed by Saam Barati.
1098
1099         * bigIntTests.yaml:
1100         * stress/big-int-mul-jit.js: Added.
1101         * stress/big-int-mul-to-primitive-precedence.js: Added.
1102         * stress/big-int-mul-to-primitive.js: Added.
1103         * stress/big-int-mul-type-error.js: Added.
1104         * stress/big-int-mul-wrapped-value.js: Added.
1105         * stress/big-int-multiplication.js: Added.
1106         * stress/big-int-multiply-memory-stress.js: Added.
1107
1108 2018-04-25  Robin Morisset  <rmorisset@apple.com>
1109
1110         In FTLLowerDFGToB3.cpp::compileCreateRest, always use a contiguous array as the indexing type when under isWatchingHavingABadTimeWatchpoint
1111         https://bugs.webkit.org/show_bug.cgi?id=184773
1112         <rdar://problem/37773612>
1113
1114         Reviewed by Filip Pizlo.
1115
1116         This bug requires a race between the thread doing FTL compilation and the main thread, but it triggers in 100% of cases (before the fix) on my machine
1117         so I decided to add it to the stress tests nonetheless.
1118
1119         * stress/create-rest-while-having-a-bad-time.js: Added.
1120         (f):
1121         (g):
1122         (h):
1123
1124 2018-04-25  Keith Miller  <keith_miller@apple.com>
1125
1126         Add missing scope release to functionProtoFuncToString
1127         https://bugs.webkit.org/show_bug.cgi?id=184995
1128
1129         Reviewed by Saam Barati.
1130
1131         * stress/function-toString-arrow.js: Added.
1132         (async):
1133
1134 2018-04-24  Keith Miller  <keith_miller@apple.com>
1135
1136         fromCharCode is missing some exception checks
1137         https://bugs.webkit.org/show_bug.cgi?id=184952
1138
1139         Reviewed by Saam Barati.
1140
1141         * stress/fromCharCode-exception-check.js: Added.
1142         (get catch):
1143
1144 2018-04-24  Mark Lam  <mark.lam@apple.com>
1145
1146         Gardening: test fix after r230863.
1147         https://bugs.webkit.org/show_bug.cgi?id=184846
1148         <rdar://problem/39390672>
1149
1150         Not reviewed.
1151
1152         * stress/json-stringified-overflow-2.js:
1153         (catch):
1154         * stress/json-stringified-overflow.js:
1155         (catch):
1156
1157 2018-04-20  JF Bastien  <jfbastien@apple.com>
1158
1159         Handle more JSON stringify OOM
1160         https://bugs.webkit.org/show_bug.cgi?id=184846
1161         <rdar://problem/39390672>
1162
1163         Reviewed by Mark Lam.
1164
1165         * stress/json-stringified-overflow-2.js: Added. Same as the one
1166         below, but with a bigger input which will trigger a different code
1167         path.
1168         (catch):
1169         * stress/json-stringified-overflow.js: Modify the test to only
1170         catch OOM on stringification. not on string creation.
1171
1172 2018-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1173
1174         [WebAssembly][Modules] Import tables in wasm modules
1175         https://bugs.webkit.org/show_bug.cgi?id=184738
1176
1177         Reviewed by JF Bastien.
1178
1179         * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js:
1180         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm:
1181         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat:
1182         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js:
1183         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm:
1184         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat:
1185         * wasm/modules/wasm-imports-wasm-exports.js:
1186         * wasm/modules/wasm-imports-wasm-exports/imports.wasm:
1187         * wasm/modules/wasm-imports-wasm-exports/imports.wat:
1188         * wasm/modules/wasm-imports-wasm-exports/sum.wasm:
1189         * wasm/modules/wasm-imports-wasm-exports/sum.wat:
1190
1191 2018-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1192
1193         [WebAssembly][Modules] Import globals from wasm modules
1194         https://bugs.webkit.org/show_bug.cgi?id=184736
1195
1196         Reviewed by JF Bastien.
1197
1198         * wasm.yaml:
1199         * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js:
1200         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm:
1201         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat:
1202         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js:
1203         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm:
1204         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat:
1205         * wasm/modules/wasm-imports-wasm-exports.js:
1206         * wasm/modules/wasm-imports-wasm-exports/imports.wasm:
1207         * wasm/modules/wasm-imports-wasm-exports/imports.wat:
1208         * wasm/modules/wasm-imports-wasm-exports/sum.wasm:
1209         * wasm/modules/wasm-imports-wasm-exports/sum.wat:
1210
1211 2018-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1212
1213         Unreviewed, reland r230697, r230720, and r230724.
1214         https://bugs.webkit.org/show_bug.cgi?id=184600
1215
1216         * wasm.yaml:
1217         * wasm/modules/constant.wasm: Added.
1218         * wasm/modules/constant.wat: Added.
1219         * wasm/modules/default-import-star-error.js: Added.
1220         (then):
1221         * wasm/modules/default-import-star-error/entry.wasm: Added.
1222         * wasm/modules/default-import-star-error/entry.wat: Added.
1223         * wasm/modules/default-import-star-error/t0.js: Added.
1224         * wasm/modules/default-import-star-error/t1.js: Added.
1225         * wasm/modules/default-import-star-error/t2.js: Added.
1226         (export.default.Cocoa):
1227         * wasm/modules/js-wasm-cycle.js: Added.
1228         * wasm/modules/js-wasm-cycle/entry.js: Added.
1229         (from.string_appeared_here.export.return42):
1230         * wasm/modules/js-wasm-cycle/sum.wasm: Added.
1231         * wasm/modules/js-wasm-cycle/sum.wat: Added.
1232         * wasm/modules/js-wasm-function-namespace.js: Added.
1233         (assert.throws):
1234         * wasm/modules/js-wasm-function.js: Added.
1235         (assert.throws):
1236         * wasm/modules/js-wasm-global-namespace.js: Added.
1237         (assert.throws):
1238         * wasm/modules/js-wasm-global.js: Added.
1239         (assert.throws):
1240         * wasm/modules/js-wasm-memory-namespace.js: Added.
1241         (assert.throws):
1242         * wasm/modules/js-wasm-memory.js: Added.
1243         (assert.throws):
1244         * wasm/modules/js-wasm-start.js: Added.
1245         (then):
1246         * wasm/modules/js-wasm-table-namespace.js: Added.
1247         (assert.throws):
1248         * wasm/modules/js-wasm-table.js: Added.
1249         (assert.throws):
1250         * wasm/modules/memory.wasm: Added.
1251         * wasm/modules/memory.wat: Added.
1252         * wasm/modules/run-from-wasm.wasm: Added.
1253         * wasm/modules/run-from-wasm.wat: Added.
1254         * wasm/modules/run-from-wasm/check.js: Added.
1255         (export.check):
1256         * wasm/modules/start.wasm: Added.
1257         * wasm/modules/start.wat: Added.
1258         * wasm/modules/sum.wasm: Added.
1259         * wasm/modules/sum.wat: Added.
1260         * wasm/modules/table.wasm: Added.
1261         * wasm/modules/table.wat: Added.
1262         * wasm/modules/wasm-imports-js-exports.js: Added.
1263         * wasm/modules/wasm-imports-js-exports/imports.wasm: Added.
1264         * wasm/modules/wasm-imports-js-exports/imports.wat: Added.
1265         * wasm/modules/wasm-imports-js-exports/sum.js: Added.
1266         (export.sum):
1267         * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: Added.
1268         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: Added.
1269         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: Added.
1270         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: Added.
1271         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: Added.
1272         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: Added.
1273         * wasm/modules/wasm-imports-wasm-exports.js: Added.
1274         * wasm/modules/wasm-imports-wasm-exports/imports.wasm: Added.
1275         * wasm/modules/wasm-imports-wasm-exports/imports.wat: Added.
1276         * wasm/modules/wasm-imports-wasm-exports/sum.wasm: Added.
1277         * wasm/modules/wasm-imports-wasm-exports/sum.wat: Added.
1278         * wasm/modules/wasm-js-cycle.js: Added.
1279         * wasm/modules/wasm-js-cycle/entry.wasm: Added.
1280         * wasm/modules/wasm-js-cycle/entry.wat: Added.
1281         * wasm/modules/wasm-js-cycle/sum.js: Added.
1282         (from.string_appeared_here.export.sum):
1283         * wasm/modules/wasm-wasm-cycle.js: Added.
1284         * wasm/modules/wasm-wasm-cycle/entry.wasm: Added.
1285         * wasm/modules/wasm-wasm-cycle/entry.wat: Added.
1286         * wasm/modules/wasm-wasm-cycle/sum.wasm: Added.
1287         * wasm/modules/wasm-wasm-cycle/sum.wat: Added.
1288
1289 2018-04-17  Commit Queue  <commit-queue@webkit.org>
1290
1291         Unreviewed, rolling out r230697, r230720, and r230724.
1292         https://bugs.webkit.org/show_bug.cgi?id=184717
1293
1294         These caused multiple failures on the Test262 testers.
1295         (Requested by mlewis13 on #webkit).
1296
1297         Reverted changesets:
1298
1299         "[WebAssembly][Modules] Prototype wasm import"
1300         https://bugs.webkit.org/show_bug.cgi?id=184600
1301         https://trac.webkit.org/changeset/230697
1302
1303         "[WebAssembly][Modules] Implement function import from wasm
1304         modules"
1305         https://bugs.webkit.org/show_bug.cgi?id=184689
1306         https://trac.webkit.org/changeset/230720
1307
1308         "[JSC] Rename runWebAssembly to runWebAssemblySuite"
1309         https://bugs.webkit.org/show_bug.cgi?id=184703
1310         https://trac.webkit.org/changeset/230724
1311
1312 2018-04-17  JF Bastien  <jfbastien@apple.com>
1313
1314         A put is not an ExistingProperty put when we transition a structure because of an attributes change
1315         https://bugs.webkit.org/show_bug.cgi?id=184706
1316         <rdar://problem/38871451>
1317
1318         Reviewed by Saam Barati.
1319
1320         * stress/put-by-id-direct-strict-transition.js: Added.
1321         (const.foo):
1322         (j.const.obj.set hello):
1323         * stress/put-by-id-direct-transition.js: Added.
1324         (const.foo):
1325         (j.const.obj.set hello):
1326         * stress/put-getter-setter-by-id-strict-transition.js: Added.
1327         (const.foo):
1328         (j.const.obj.set hello):
1329         * stress/put-getter-setter-by-id-transition.js: Added.
1330         (const.foo):
1331         (j.const.obj.set hello):
1332
1333 2018-04-16  Filip Pizlo  <fpizlo@apple.com>
1334
1335         PutStackSinkingPhase should know that KillStack means ConflictingFlush
1336         https://bugs.webkit.org/show_bug.cgi?id=184672
1337
1338         Reviewed by Michael Saboff.
1339
1340         * stress/sink-put-stack-over-kill-stack.js: Added.
1341         (avocado_1):
1342         (apricot_0):
1343         (__c_0):
1344         (banana_2):
1345
1346 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1347
1348         [JSC] Rename runWebAssembly to runWebAssemblySuite
1349         https://bugs.webkit.org/show_bug.cgi?id=184703
1350
1351         Reviewed by JF Bastien.
1352
1353         And add runWebAssembly as a command to simplely run wasm modules.
1354
1355         * wasm.yaml:
1356
1357 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1358
1359         [WebAssembly][Modules] Implement function import from wasm modules
1360         https://bugs.webkit.org/show_bug.cgi?id=184689
1361
1362         Reviewed by JF Bastien.
1363
1364         * wasm.yaml:
1365         * wasm/modules/js-wasm-cycle.js: Added.
1366         * wasm/modules/js-wasm-cycle/entry.js: Added.
1367         (from.string_appeared_here.export.return42):
1368         * wasm/modules/js-wasm-cycle/sum.wasm: Added.
1369         * wasm/modules/js-wasm-cycle/sum.wat: Added.
1370         * wasm/modules/run-from-wasm.wasm: Added.
1371         * wasm/modules/run-from-wasm.wat: Added.
1372         * wasm/modules/run-from-wasm/check.js: Added.
1373         (export.check):
1374         * wasm/modules/wasm-imports-js-exports.js: Added.
1375         * wasm/modules/wasm-imports-js-exports/imports.wasm: Added.
1376         * wasm/modules/wasm-imports-js-exports/imports.wat: Added.
1377         * wasm/modules/wasm-imports-js-exports/sum.js: Added.
1378         (export.sum):
1379         * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: Added.
1380         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: Added.
1381         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: Added.
1382         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: Added.
1383         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: Added.
1384         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: Added.
1385         * wasm/modules/wasm-imports-wasm-exports.js: Added.
1386         * wasm/modules/wasm-imports-wasm-exports/imports.wasm: Added.
1387         * wasm/modules/wasm-imports-wasm-exports/imports.wat: Added.
1388         * wasm/modules/wasm-imports-wasm-exports/sum.wasm: Added.
1389         * wasm/modules/wasm-imports-wasm-exports/sum.wat: Added.
1390         * wasm/modules/wasm-js-cycle.js: Added.
1391         * wasm/modules/wasm-js-cycle/entry.wasm: Added.
1392         * wasm/modules/wasm-js-cycle/entry.wat: Added.
1393         * wasm/modules/wasm-js-cycle/sum.js: Added.
1394         (from.string_appeared_here.export.sum):
1395         * wasm/modules/wasm-wasm-cycle.js: Added.
1396         * wasm/modules/wasm-wasm-cycle/entry.wasm: Added.
1397         * wasm/modules/wasm-wasm-cycle/entry.wat: Added.
1398         * wasm/modules/wasm-wasm-cycle/sum.wasm: Added.
1399         * wasm/modules/wasm-wasm-cycle/sum.wat: Added.
1400
1401 2018-04-16  Yusuke Suzuki  <utatane.tea@gmail.com>
1402
1403         [WebAssembly][Modules] Prototype wasm import
1404         https://bugs.webkit.org/show_bug.cgi?id=184600
1405
1406         Reviewed by JF Bastien.
1407
1408         Add wasm and wat files since module loader want to load wasm files from FS.
1409         Currently, importing the other modules from wasm is not supported.
1410
1411         * wasm.yaml:
1412         * wasm/modules/constant.wasm: Added.
1413         * wasm/modules/constant.wat: Added.
1414         * wasm/modules/js-wasm-function-namespace.js: Added.
1415         (assert.throws):
1416         * wasm/modules/js-wasm-function.js: Added.
1417         (assert.throws):
1418         * wasm/modules/js-wasm-global-namespace.js: Added.
1419         (assert.throws):
1420         * wasm/modules/js-wasm-global.js: Added.
1421         (assert.throws):
1422         * wasm/modules/js-wasm-memory-namespace.js: Added.
1423         (assert.throws):
1424         * wasm/modules/js-wasm-memory.js: Added.
1425         (assert.throws):
1426         * wasm/modules/js-wasm-start.js: Added.
1427         (then):
1428         * wasm/modules/js-wasm-table-namespace.js: Added.
1429         (assert.throws):
1430         * wasm/modules/js-wasm-table.js: Added.
1431         (assert.throws):
1432         * wasm/modules/memory.wasm: Added.
1433         * wasm/modules/memory.wat: Added.
1434         * wasm/modules/start.wasm: Added.
1435         * wasm/modules/start.wat: Added.
1436         * wasm/modules/sum.wasm: Added.
1437         * wasm/modules/sum.wat: Added.
1438         * wasm/modules/table.wasm: Added.
1439         * wasm/modules/table.wat: Added.
1440
1441 2018-04-14  Filip Pizlo  <fpizlo@apple.com>
1442
1443         Function.prototype.caller shouldn't return generator bodies
1444         https://bugs.webkit.org/show_bug.cgi?id=184630
1445
1446         Reviewed by Yusuke Suzuki.
1447
1448         * stress/function-caller-async-arrow-function-body.js: Added.
1449         * stress/function-caller-async-function-body.js: Added.
1450         * stress/function-caller-async-generator-body.js: Added.
1451         * stress/function-caller-generator-body.js: Added.
1452         * stress/function-caller-generator-method-body.js: Added.
1453
1454 2018-04-12  Tomas Popela  <tpopela@redhat.com>
1455
1456         Unreviewed, skip JIT tests if it isn't enabled
1457
1458         See https://bugs.webkit.org/show_bug.cgi?id=182730.
1459
1460         * stress/big-int-spec-to-primitive.js:
1461         * stress/big-int-spec-to-this.js:
1462
1463 2018-04-10  Caio Lima  <ticaiolima@gmail.com>
1464
1465         [ESNext][BigInt] Add support for BigInt in SpeculatedType
1466         https://bugs.webkit.org/show_bug.cgi?id=182470
1467
1468         Reviewed by Saam Barati.
1469
1470         * stress/big-int-spec-to-primitive.js: Added.
1471         * stress/big-int-spec-to-this.js: Added.
1472         * stress/big-int-strict-equals-jit.js: Added.
1473         * stress/big-int-strict-spec-to-this.js: Added.
1474         * stress/big-int-type-of-proven-type.js: Added.
1475
1476 2018-04-10  Filip Pizlo  <fpizlo@apple.com>
1477
1478         DFG AI and clobberize should agree with each other
1479         https://bugs.webkit.org/show_bug.cgi?id=184440
1480
1481         Reviewed by Saam Barati.
1482         
1483         Add tests for all of the bugs I fixed.
1484
1485         * stress/direct-arguments-out-of-bounds-change-structure.js: Added.
1486         (foo):
1487         * stress/new-typed-array-cse-effects.js: Added.
1488         (foo):
1489         * stress/scoped-arguments-out-of-bounds-change-structure.js: Added.
1490         (foo.theO):
1491         (foo):
1492         * stress/string-from-char-code-change-structure-not-dead.js: Added.
1493         (foo):
1494         (i.valueOf):
1495         (weirdValue.valueOf):
1496         * stress/string-from-char-code-change-structure.js: Added.
1497         (foo):
1498         (i.valueOf):
1499         (weirdValue.valueOf):
1500
1501 2018-04-09  Leo Balter  <leonardo.balter@gmail.com>
1502
1503         Fix errant Test262 files CRLF to LF for consistency with the original source
1504         https://bugs.webkit.org/show_bug.cgi?id=184425
1505
1506         Reviewed by Yusuke Suzuki.
1507
1508         * test262/test/built-ins/Math/acosh/nan-returns.js:
1509         * test262/test/built-ins/Math/asinh/asinh-specialVals.js:
1510         * test262/test/built-ins/Math/atanh/atanh-specialVals.js:
1511         * test262/test/built-ins/Math/cbrt/cbrt-specialValues.js:
1512         * test262/test/built-ins/Math/cbrt/prop-desc.js:
1513         * test262/test/built-ins/Math/cosh/cosh-specialVals.js:
1514         * test262/test/built-ins/Math/expm1/expm1-specialVals.js:
1515         * test262/test/built-ins/Math/log10/Log10-specialVals.js:
1516         * test262/test/built-ins/Math/log2/log2-basicTests.js:
1517         * test262/test/built-ins/Math/sign/sign-specialVals.js:
1518         * test262/test/built-ins/Math/sinh/sinh-specialVals.js:
1519         * test262/test/built-ins/Math/tanh/tanh-specialVals.js:
1520         * test262/test/built-ins/Math/trunc/trunc-sampleTests.js:
1521         * test262/test/built-ins/Math/trunc/trunc-specialVals.js:
1522
1523 2018-04-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1524
1525         Unreviewed, remove incorrect entry in test262.yaml
1526         https://bugs.webkit.org/show_bug.cgi?id=184266
1527
1528         * test262.yaml:
1529
1530 2018-04-08  Valerie Young  <valerie@bocoup.com>
1531
1532         [JSC] Update Test262 to April 6 version
1533         https://bugs.webkit.org/show_bug.cgi?id=184266
1534
1535         Rubber stamped by Yusuke Suzuki.
1536
1537 2018-04-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1538
1539         [JSC] Introduce op_get_by_id_direct
1540         https://bugs.webkit.org/show_bug.cgi?id=183970
1541
1542         Reviewed by Filip Pizlo.
1543
1544         * stress/generator-prototype-copy.js: Added.
1545         (gen):
1546         (catch):
1547         Adopted JF's tests.
1548
1549         * stress/generator-type-check.js: Added.
1550         (shouldThrow):
1551         (foo2):
1552         (i.shouldThrow):
1553         * stress/get-by-id-direct-getter.js: Added.
1554         (shouldBe):
1555         (shouldThrow):
1556         (obj.get hello):
1557         (builtin.createBuiltin):
1558         (obj2.get length):
1559         * stress/get-by-id-direct.js: Added.
1560         (shouldBe):
1561         (shouldThrow):
1562         (builtin.createBuiltin):
1563         * test262.yaml:
1564         We fixed long-standing spec compatibility issue.
1565         As a result, this patch makes several test262 tests passed!
1566
1567
1568 2018-04-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1569
1570         Unreviewed, annotate test with @skip if $memoryLimited
1571         https://bugs.webkit.org/show_bug.cgi?id=183894
1572
1573         * stress/json-stringified-overflow.js:
1574
1575 2018-04-06  Alexey Proskuryakov  <ap@apple.com>
1576
1577         Add svn:eol-style to line-terminator-normalisation-CR.js
1578         https://bugs.webkit.org/show_bug.cgi?id=184341
1579
1580         * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: Added property svn:eol-style.
1581
1582 2018-04-06  Ross Kirsling  <ross.kirsling@sony.com>
1583
1584         Unreviewed, remove errant LF from existing test262 test for CR line endings.
1585
1586         * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
1587
1588 2018-04-05  Ross Kirsling  <ross.kirsling@sony.com>
1589
1590         Unreviewed, rolling out r230320.
1591
1592         Revert fix, as the root cause lies elsewhere.
1593
1594         Reverted changeset:
1595
1596         "[test262] Mark line-terminator-normalisation-CR.js as a
1597         binary file."
1598         https://bugs.webkit.org/show_bug.cgi?id=184341
1599         https://trac.webkit.org/changeset/230320
1600
1601 2018-04-05  Ross Kirsling  <ross.kirsling@sony.com>
1602
1603         [test262] Mark line-terminator-normalisation-CR.js as a binary file.
1604         https://bugs.webkit.org/show_bug.cgi?id=184341
1605
1606         Reviewed by Yusuke Suzuki.
1607
1608         This test is all about CR line endings, but `svn-apply` can't deal with them.
1609         Treating the file as binary ensures that its contents never are never shown in a diff.
1610
1611         * .gitattributes: Added.
1612
1613 2018-04-05  Robin Morisset  <rmorisset@apple.com>
1614
1615         Fix testcase (missing try/catch).
1616         https://bugs.webkit.org/show_bug.cgi?id=183657
1617
1618         Unreviewed.
1619
1620         * stress/large-unshift-splice.js
1621
1622 2018-04-04  Filip Pizlo  <fpizlo@apple.com>
1623
1624         REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain
1625         https://bugs.webkit.org/show_bug.cgi?id=184319
1626
1627         Reviewed by Saam Barati.
1628
1629         * stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added.
1630         (foo):
1631         (bar):
1632         * stress/array-push-nan-to-double-array.js: Added.
1633         (foo):
1634         (bar):
1635
1636 2018-04-03  Mark Lam  <mark.lam@apple.com>
1637
1638         Test js-fixed-array-out-of-memory.js should be excluded for memory limited devices.
1639         https://bugs.webkit.org/show_bug.cgi?id=184284
1640
1641         Reviewed by Saam Barati.
1642
1643         * stress/js-fixed-array-out-of-memory.js:
1644
1645 2018-03-31  Filip Pizlo  <fpizlo@apple.com>
1646
1647         JSC crash in JIT code with for-of loop and Array/Set iterators
1648         https://bugs.webkit.org/show_bug.cgi?id=183174
1649
1650         Reviewed by Saam Barati.
1651
1652         * microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js: Added. This test shows that fixing the bug didn't break hoisting of GetByOffset with inferred types. I confirmed that if I did break it, this test slows down by >7x.
1653         (foo):
1654         * stress/hoist-get-by-offset-with-control-dependent-inferred-type.js: Added. This test shows that the bug is fixed.
1655         (f):
1656
1657 2018-03-30  JF Bastien  <jfbastien@apple.com>
1658
1659         WebAssembly: support DataView compilation
1660         https://bugs.webkit.org/show_bug.cgi?id=183342
1661
1662         Reviewed by Mark Lam.
1663
1664         Test WebAssembly compilation using a DataView with offset.
1665
1666         * wasm/regress/183342.js: Added.
1667         (attempt.catch):
1668
1669 2018-03-30  Filip Pizlo  <fpizlo@apple.com>
1670
1671         Bytecode generator should not get_from_scope something that may be a hole into a variable that is already live
1672         https://bugs.webkit.org/show_bug.cgi?id=184189
1673
1674         Reviewed by JF Bastien.
1675
1676         * stress/load-hole-from-scope-into-live-var.js: Added.
1677         (result.eval.try.switch):
1678         (catch):
1679
1680 2018-03-30  Ryan Haddad  <ryanhaddad@apple.com>
1681
1682         Unreviewed, rolling out r230102.
1683
1684         Caused assertion failures on JSC bots.
1685
1686         Reverted changeset:
1687
1688         "A stack overflow in the parsing of a builtin (called by
1689         createExecutable) cause a crash instead of a catchable js
1690         exception"
1691         https://bugs.webkit.org/show_bug.cgi?id=184074
1692         https://trac.webkit.org/changeset/230102
1693
1694 2018-03-30  Robin Morisset  <rmorisset@apple.com>
1695
1696         Inlining of a function that ends in op_unreachable in a non-tail position triggers an ASSERT
1697         https://bugs.webkit.org/show_bug.cgi?id=183812
1698
1699         Reviewed by Keith Miller.
1700
1701         * stress/inlining-unreachable-non-tail.js: Added.
1702         (foo.):
1703         (foo):
1704
1705 2018-03-30  Robin Morisset  <rmorisset@apple.com>
1706
1707         A stack overflow in the parsing of a builtin (called by createExecutable) cause a crash instead of a catchable js exception
1708         https://bugs.webkit.org/show_bug.cgi?id=184074
1709         <rdar://problem/37165897>
1710
1711         Reviewed by Keith Miller.
1712
1713         * stress/stack-overflow-while-parsing-builtin.js: Added.
1714         (f):
1715
1716 2018-03-30  Robin Morisset  <rmorisset@apple.com>
1717
1718         Out-of-bounds accesses due to a missing check for MAX_STORAGE_VECTOR_LENGTH in unshiftCountForAnyIndexingType
1719         https://bugs.webkit.org/show_bug.cgi?id=183657
1720
1721         Reviewed by Keith Miller.
1722
1723         * stress/large-unshift-splice.js: Added.
1724         (make_contig_arr):
1725
1726 2018-03-28  Robin Morisset  <rmorisset@apple.com>
1727
1728         appendQuotedJSONString stops on arithmetic overflow instead of propagating it upwards
1729         https://bugs.webkit.org/show_bug.cgi?id=183894
1730
1731         Reviewed by Saam Barati.
1732
1733         * stress/json-stringified-overflow.js: Added.
1734         (catch):
1735
1736 2018-03-26  Filip Pizlo  <fpizlo@apple.com>
1737
1738         DFG should know that CreateThis can be effectful
1739         https://bugs.webkit.org/show_bug.cgi?id=184013
1740
1741         Reviewed by Saam Barati.
1742
1743         * stress/create-this-property-change.js: Added.
1744         (Foo):
1745         (RealBar):
1746         (get if):
1747         * stress/create-this-structure-change-without-cse.js: Added.
1748         (Foo):
1749         (RealBar):
1750         (get if):
1751         * stress/create-this-structure-change.js: Added.
1752         (Foo):
1753         (RealBar):
1754         (get if):
1755
1756 2018-03-22  Yusuke Suzuki  <utatane.tea@gmail.com>
1757
1758         [DFG] Introduces fused compare and jump
1759         https://bugs.webkit.org/show_bug.cgi?id=177100
1760
1761         Reviewed by Mark Lam.
1762
1763         * stress/fused-jeq-slow.js: Added.
1764         (shouldBe):
1765         (testJEQ):
1766         (testJNEQB):
1767         (testJEQB):
1768         (testJNEQF):
1769         (testJEQF):
1770         * stress/fused-jeq.js: Added.
1771         (shouldBe):
1772         (testJEQ):
1773         (testJNEQB):
1774         (testJEQB):
1775         (testJNEQF):
1776         (testJEQF):
1777         * stress/fused-jstricteq-slow.js: Added.
1778         (shouldBe):
1779         (testJSTRICTEQ):
1780         (testJNSTRICTEQB):
1781         (testJSTRICTEQB):
1782         (testJNSTRICTEQF):
1783         (testJSTRICTEQF):
1784         * stress/fused-jstricteq.js: Added.
1785         (shouldBe):
1786         (testJSTRICTEQ):
1787         (testJNSTRICTEQB):
1788         (testJSTRICTEQB):
1789         (testJNSTRICTEQF):
1790         (testJSTRICTEQF):
1791
1792 2018-03-22  Yusuke Suzuki  <utatane.tea@gmail.com>
1793
1794         [JSC] Clear MustGenerate for ToString(Number) converted from NumberToStringWithRadix
1795         https://bugs.webkit.org/show_bug.cgi?id=183559
1796
1797         Reviewed by Mark Lam.
1798
1799         * stress/double-to-string-in-loop-removed.js: Added.
1800         (test):
1801         * stress/int32-to-string-in-loop-removed.js: Added.
1802         (test):
1803         * stress/int52-to-string-in-loop-removed.js: Added.
1804         (test):
1805
1806 2018-03-22  Michael Saboff  <msaboff@apple.com>
1807
1808         Race Condition in arrayProtoFuncReverse() causes wrong results or crash
1809         https://bugs.webkit.org/show_bug.cgi?id=183901
1810
1811         Reviewed by Keith Miller.
1812
1813         New test.
1814
1815         * stress/array-reverse-doesnt-clobber.js: Added.
1816         (testArrayReverse):
1817         (createArrayOfArrays):
1818         (createArrayStorage):
1819
1820 2018-03-21  Filip Pizlo  <fpizlo@apple.com>
1821
1822         ScopedArguments should do poisoning and index masking
1823         https://bugs.webkit.org/show_bug.cgi?id=183863
1824
1825         Reviewed by Mark Lam.
1826         
1827         Adds another stress test of scoped arguments.
1828
1829         * stress/scoped-arguments-test.js: Added.
1830         (foo):
1831
1832 2018-03-20  Saam Barati  <sbarati@apple.com>
1833
1834         We need to do proper bookkeeping of exitOK when inserting constants when sinking NewArrayBuffer
1835         https://bugs.webkit.org/show_bug.cgi?id=183795
1836         <rdar://problem/38298694>
1837
1838         Reviewed by JF Bastien.
1839
1840         * stress/sink-phantom-new-array-buffer-exit-ok.js: Added.
1841         (foo):
1842         (bar):
1843
1844 2018-03-16  Yusuke Suzuki  <utatane.tea@gmail.com>
1845
1846         [DFG][FTL] Add vectorLengthHint for NewArray
1847         https://bugs.webkit.org/show_bug.cgi?id=183694
1848
1849         Reviewed by Saam Barati.
1850
1851         * stress/vector-length-hint-array-constructor.js: Added.
1852         (shouldBe):
1853         (test):
1854         * stress/vector-length-hint-new-array.js: Added.
1855         (shouldBe):
1856         (test):
1857
1858 2018-03-13  Yusuke Suzuki  <utatane.tea@gmail.com>
1859
1860         [DFG][FTL] Make ArraySlice(0) code tight
1861         https://bugs.webkit.org/show_bug.cgi?id=183590
1862
1863         Reviewed by Saam Barati.
1864
1865         * stress/array-slice-with-zero.js: Added.
1866         (shouldBe):
1867         (test):
1868         (test2):
1869         * stress/array-slice-zero-args.js: Added.
1870         (shouldBe):
1871         (test):
1872
1873 2018-03-14  Caitlin Potter  <caitp@igalia.com>
1874
1875         [JSC] fix order of evaluation for ClassDefinitionEvaluation
1876         https://bugs.webkit.org/show_bug.cgi?id=183523
1877
1878         Reviewed by Keith Miller.
1879
1880         Computed property names need to be evaluated in source order during class
1881         definition evaluation, as it's observable (and specified to work this way).
1882
1883         This change improves compatibility with Chromium.
1884
1885         * stress/class_elements.js: Added.
1886         (test):
1887         (test.C.prototype.effect):
1888         (test.C.effect):
1889         (test.C.prototype.get effect):
1890         (test.C.prototype.set effect):
1891         (test.C):
1892
1893 2018-03-11  Yusuke Suzuki  <utatane.tea@gmail.com>
1894
1895         [DFG] AI should convert CreateThis to NewObject if the prototype object is proved
1896         https://bugs.webkit.org/show_bug.cgi?id=183310
1897
1898         Reviewed by Filip Pizlo.
1899
1900         * stress/ai-create-this-to-new-object-fire.js: Added.
1901         (assert):
1902         (test):
1903         (func):
1904         (check):
1905         (test.body.A):
1906         (test.body.B):
1907         (test.body):
1908         * stress/ai-create-this-to-new-object.js: Added.
1909         (assert):
1910         (test):
1911         (func):
1912         (check):
1913         (test.body.A):
1914         (test.body.B):
1915         (test.body):
1916
1917 2018-03-10  Yusuke Suzuki  <utatane.tea@gmail.com>
1918
1919         [FTL] Drop NewRegexp for String.prototype.match with RegExp + global flag
1920         https://bugs.webkit.org/show_bug.cgi?id=181848
1921
1922         Reviewed by Sam Weinig.
1923
1924         * microbenchmarks/regexp-u-global-es5.js: Added.
1925         (fn):
1926         * microbenchmarks/regexp-u-global-es6.js: Added.
1927         (fn):
1928         * stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js: Added.
1929         (shouldBe):
1930         (test):
1931         (i.switch):
1932         * stress/materialized-regexp-has-correct-last-index-set-by-match.js: Added.
1933         (shouldBe):
1934         (test):
1935
1936 2018-03-07  Dominik Infuehr  <dinfuehr@igalia.com>
1937
1938         Disable test stress/var-injection-cache-invalidation.js on systems with limited memory
1939         https://bugs.webkit.org/show_bug.cgi?id=183334
1940
1941         Reviewed by Žan Doberšek.
1942
1943         * stress/var-injection-cache-invalidation.js:
1944
1945 2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>
1946
1947         [ARM] Disable tests that run out of memory
1948         https://bugs.webkit.org/show_bug.cgi?id=182699
1949
1950         Reviewed by Žan Doberšek.
1951
1952         Skip tests that run of of memory. Do not run
1953         modules/module-jit-reachability.js without LLInt to prevent
1954         running out of executable memory.
1955
1956         * modules.yaml:
1957         * modules/module-jit-reachability.js:
1958         * stress/has-own-property-name-cache-string-keys.js:
1959         * stress/has-own-property-name-cache-symbol-keys.js:
1960
1961 2018-03-01  Yusuke Suzuki  <utatane.tea@gmail.com>
1962
1963         ASSERTION FAILED: matchContextualKeyword(m_vm->propertyNames->async)
1964         https://bugs.webkit.org/show_bug.cgi?id=183173
1965
1966         Reviewed by Saam Barati.
1967
1968         * stress/async-arrow-function-in-class-heritage.js: Added.
1969         (testSyntax):
1970         (testSyntaxError):
1971         (SyntaxError):
1972
1973 2018-03-01  Saam Barati  <sbarati@apple.com>
1974
1975         We need to clear cached structures when having a bad time
1976         https://bugs.webkit.org/show_bug.cgi?id=183256
1977         <rdar://problem/36245022>
1978
1979         Reviewed by Mark Lam.
1980
1981         * stress/having-a-bad-time-with-derived-arrays.js: Added.
1982         (assert):
1983         (defineSetter):
1984         (iterate):
1985         (doSlice):
1986
1987 2018-02-28  Yusuke Suzuki  <utatane.tea@gmail.com>
1988
1989         JSC crash with `import("")`
1990         https://bugs.webkit.org/show_bug.cgi?id=183175
1991
1992         Reviewed by Saam Barati.
1993
1994         * stress/import-with-empty-string.js: Added.
1995
1996 2018-02-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1997
1998         Unreviewed, skip FTL tests if FTL is disabled
1999         https://bugs.webkit.org/show_bug.cgi?id=183071
2000
2001         * stress/has-indexed-property-array-storage-ftl.js:
2002         * stress/has-indexed-property-slow-put-array-storage-ftl.js:
2003
2004 2018-02-25  Yusuke Suzuki  <utatane.tea@gmail.com>
2005
2006         [FTL] Support PutByVal(ArrayStorage/SlowPutArrayStorage)
2007         https://bugs.webkit.org/show_bug.cgi?id=182965
2008
2009         Reviewed by Saam Barati.
2010
2011         * stress/put-by-val-array-storage.js: Added.
2012         (shouldBe):
2013         (testArrayStorageInBounds):
2014         * stress/put-by-val-direct-out-of-bounds-setter.js: Added.
2015         (shouldBe):
2016         (testInt32.createBuiltin):
2017         (set for):
2018         * stress/put-by-val-slow-put-array-storage.js: Added.
2019         (shouldBe):
2020         (testArrayStorageInBounds):
2021
2022 2018-02-26  Saam Barati  <sbarati@apple.com>
2023
2024         validateStackAccess should not validate if the offset is within the stack bounds
2025         https://bugs.webkit.org/show_bug.cgi?id=183067
2026         <rdar://problem/37749988>
2027
2028         Reviewed by Mark Lam.
2029
2030         * stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js: Added.
2031         (assert):
2032         (test.a):
2033         (test.b):
2034         (test):
2035
2036 2018-02-26  Yusuke Suzuki  <utatane.tea@gmail.com>
2037
2038         Unreviewed, skip FTL tests if FTL is disabled
2039         https://bugs.webkit.org/show_bug.cgi?id=183071
2040
2041         * stress/has-indexed-property-array-storage-ftl.js:
2042         * stress/has-indexed-property-slow-put-array-storage-ftl.js:
2043
2044 2018-02-23  Saam Barati  <sbarati@apple.com>
2045
2046         Make Number.isInteger an intrinsic
2047         https://bugs.webkit.org/show_bug.cgi?id=183088
2048
2049         Reviewed by JF Bastien.
2050
2051         * stress/number-is-integer-intrinsic.js: Added.
2052
2053 2018-02-23  Oleksandr Skachkov  <gskachkov@gmail.com>
2054
2055         WebAssembly: cache memory address / size on instance
2056         https://bugs.webkit.org/show_bug.cgi?id=177305
2057
2058         Reviewed by JF Bastien.
2059
2060         * wasm/function-tests/memory-reuse.js: Added.
2061         (createWasmInstance):
2062         (doCheckTrap):
2063         (doMemoryGrow):
2064         (doCheck):
2065         (checkWasmInstancesWithSharedMemory):
2066
2067 2018-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2068
2069         [JSC] Implement $vm.ftlTrue function for FTL testing
2070         https://bugs.webkit.org/show_bug.cgi?id=183071
2071
2072         Reviewed by Mark Lam.
2073
2074         * stress/dead-fiat-value-to-int52-then-exit-not-double.js:
2075         (foo):
2076         * stress/dead-fiat-value-to-int52-then-exit-not-int52.js:
2077         (foo):
2078         * stress/dead-fiat-value-to-int52.js:
2079         (foo):
2080         * stress/dead-osr-entry-value.js:
2081         (foo):
2082         * stress/fiat-value-to-int52-then-exit-not-double.js:
2083         (foo):
2084         * stress/fiat-value-to-int52-then-exit-not-int52.js:
2085         (foo):
2086         * stress/fiat-value-to-int52-then-fail-to-fold.js:
2087         (foo):
2088         * stress/fiat-value-to-int52-then-fold.js:
2089         (foo):
2090         * stress/fiat-value-to-int52.js:
2091         (foo):
2092         * stress/fold-based-on-int32-proof-mul-branch.js:
2093         (foo):
2094         * stress/fold-profiled-call-to-call.js:
2095         (foo):
2096         * stress/fold-to-double-constant-then-exit.js:
2097         (foo):
2098         * stress/fold-to-int52-constant-then-exit.js:
2099         (foo):
2100         * stress/fold-to-primitive-in-cfa.js:
2101         (foo):
2102         * stress/fold-to-primitive-to-identity-in-cfa.js:
2103         (foo):
2104         * stress/has-indexed-property-array-storage-ftl.js: Added.
2105         (shouldBe):
2106         (test1):
2107         (test2):
2108         * stress/has-indexed-property-slow-put-array-storage-ftl.js: Added.
2109         (shouldBe):
2110         (test1):
2111         (test2):
2112         * stress/int52-ai-add-then-filter-int32.js:
2113         (foo):
2114         * stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js:
2115         (foo):
2116         * stress/int52-ai-mul-then-filter-int32.js:
2117         (foo):
2118         * stress/int52-ai-neg-then-filter-int32.js:
2119         (foo):
2120         * stress/int52-ai-sub-then-filter-int32.js:
2121         (foo):
2122         * stress/licm-pre-header-cannot-exit-nested.js:
2123         (foo):
2124         * stress/licm-pre-header-cannot-exit.js:
2125         (foo):
2126         * stress/sparse-array-entry-update-144067.js:
2127         (useMemoryToTriggerGCs):
2128         * stress/test-spec-misc.js:
2129         (foo):
2130         * stress/tricky-array-bounds-checks.js:
2131         (foo):
2132
2133 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2134
2135         [FTL] Support HasIndexedProperty for ArrayStorage and SlowPutArrayStorage
2136         https://bugs.webkit.org/show_bug.cgi?id=182792
2137
2138         Reviewed by Mark Lam.
2139
2140         * stress/has-indexed-property-array-storage.js: Added.
2141         (shouldBe):
2142         (test1):
2143         (test2):
2144         * stress/has-indexed-property-slow-put-array-storage.js: Added.
2145         (shouldBe):
2146         (test1):
2147         (test2):
2148
2149 2018-02-20  Saam Barati  <sbarati@apple.com>
2150
2151         DFG::VarargsForwardingPhase should eliminate getting argument length
2152         https://bugs.webkit.org/show_bug.cgi?id=182959
2153
2154         Reviewed by Keith Miller.
2155
2156         * microbenchmarks/forward-arguments-dont-escape-on-arguments-length.js: Added.
2157
2158 2018-02-14  Yusuke Suzuki  <utatane.tea@gmail.com>
2159
2160         [FTL] Support ArrayPush for ArrayStorage
2161         https://bugs.webkit.org/show_bug.cgi?id=182782
2162
2163         Reviewed by Saam Barati.
2164
2165         Existing array-push-multiple-storage.js covers ArrayPush(ArrayStorage) multiple arguments case.
2166
2167         * stress/array-push-array-storage-beyond-int32.js: Added.
2168         (shouldBe):
2169         (test):
2170         * stress/array-push-array-storage.js: Added.
2171         (shouldBe):
2172         (test):
2173         * stress/array-push-multiple-array-storage-beyond-int32.js: Added.
2174         (shouldBe):
2175         (test):
2176         * stress/array-push-multiple-storage-continuous.js: Added.
2177         (shouldBe):
2178         (test):
2179
2180 2018-02-14  Yusuke Suzuki  <utatane.tea@gmail.com>
2181
2182         [FTL] Support ArrayPop for ArrayStorage
2183         https://bugs.webkit.org/show_bug.cgi?id=182783
2184
2185         Reviewed by Saam Barati.
2186
2187         * stress/array-pop-array-storage.js: Added.
2188         (shouldBe):
2189         (test):
2190
2191 2018-02-14  Yusuke Suzuki  <utatane.tea@gmail.com>
2192
2193         [FTL] Add Arrayify for ArrayStorage and SlowPutArrayStorage
2194         https://bugs.webkit.org/show_bug.cgi?id=182731
2195
2196         Reviewed by Saam Barati.
2197
2198         * stress/arrayify-array-storage-array.js: Added.
2199         (shouldBe):
2200         (testArrayStorage):
2201         * stress/arrayify-array-storage-non-array.js: Added.
2202         (shouldBe):
2203         (testArrayStorage):
2204         * stress/arrayify-array-storage.js: Added.
2205         (shouldBe):
2206         (testArrayStorage):
2207         * stress/arrayify-slow-put-array-storage-pass-array-storage.js: Added.
2208         (shouldBe):
2209         (testArrayStorage):
2210         * stress/arrayify-slow-put-array-storage.js: Added.
2211         (shouldBe):
2212         (testArrayStorage):
2213
2214 2018-02-19  Saam Barati  <sbarati@apple.com>
2215
2216         Don't use JSFunction's allocation profile when getting the prototype can be effectful
2217         https://bugs.webkit.org/show_bug.cgi?id=182942
2218         <rdar://problem/37584764>
2219
2220         Reviewed by Mark Lam.
2221
2222         * stress/get-prototype-create-this-effectful.js: Added.
2223
2224 2018-02-16  Saam Barati  <sbarati@apple.com>
2225
2226         Fix bugs from r228411
2227         https://bugs.webkit.org/show_bug.cgi?id=182851
2228         <rdar://problem/37577732>
2229
2230         Reviewed by JF Bastien.
2231
2232         * stress/constant-folding-phase-insert-check-handle-varargs.js: Added.
2233
2234 2018-02-15  Filip Pizlo  <fpizlo@apple.com>
2235
2236         Unreviewed, roll out r228366 since it did not progress anything.
2237
2238         * stress/gc-error-stack.js: Removed.
2239         * stress/no-gc-error-stack.js: Removed.
2240
2241 2018-02-15  Tomas Popela  <tpopela@redhat.com>
2242
2243         Many stress tests fail with JIT disabled
2244         https://bugs.webkit.org/show_bug.cgi?id=182730
2245
2246         Reviewed by Saam Barati.
2247
2248         These tests are broken by design if the JIT is disabled - they test
2249         the return value of numberOfDFGCompiles(), which is always set to
2250         1000000.0 in TestRunnerUtils.cpp and makes the tests to fail.
2251
2252         * stress/arith-abs-on-various-types.js:
2253         * stress/arith-abs-to-arith-negate-range-optimizaton.js:
2254         * stress/arith-acos-on-various-types.js:
2255         * stress/arith-acosh-on-various-types.js:
2256         * stress/arith-asin-on-various-types.js:
2257         * stress/arith-asinh-on-various-types.js:
2258         * stress/arith-atan-on-various-types.js:
2259         * stress/arith-atanh-on-various-types.js:
2260         * stress/arith-cbrt-on-various-types.js:
2261         * stress/arith-ceil-on-various-types.js:
2262         * stress/arith-clz32-on-various-types.js:
2263         * stress/arith-cos-on-various-types.js:
2264         * stress/arith-cosh-on-various-types.js:
2265         * stress/arith-expm1-on-various-types.js:
2266         * stress/arith-floor-on-various-types.js:
2267         * stress/arith-fround-on-various-types.js:
2268         * stress/arith-log-on-various-types.js:
2269         * stress/arith-log10-on-various-types.js:
2270         * stress/arith-log2-on-various-types.js:
2271         * stress/arith-negate-on-various-types.js:
2272         * stress/arith-round-on-various-types.js:
2273         * stress/arith-sin-on-various-types.js:
2274         * stress/arith-sinh-on-various-types.js:
2275         * stress/arith-sqrt-on-various-types.js:
2276         * stress/arith-tan-on-various-types.js:
2277         * stress/arith-tanh-on-various-types.js:
2278         * stress/arith-trunc-on-various-types.js:
2279         * stress/compare-strict-eq-on-various-types.js:
2280
2281 2018-02-14  Ryan Haddad  <ryanhaddad@apple.com>
2282
2283         Skip stress/new-largeish-contiguous-array-with-size.js on arm.
2284
2285         Unreviewed test gardening.
2286
2287         * stress/new-largeish-contiguous-array-with-size.js:
2288
2289 2018-02-14  Saam Barati  <sbarati@apple.com>
2290
2291         Setting a VMTrap shouldn't look at topCallFrame since that may imply we're in C code and holding the malloc lock
2292         https://bugs.webkit.org/show_bug.cgi?id=182801
2293
2294         Reviewed by Keith Miller.
2295
2296         * stress/watchdog-dont-malloc-when-in-c-code.js: Added.
2297
2298 2018-02-14  Ryan Haddad  <ryanhaddad@apple.com>
2299
2300         Skip JSC test stress/activation-sink-default-value-tdz-error.js on debug.
2301         https://bugs.webkit.org/show_bug.cgi?id=182526
2302
2303         Unreviewed test gardening.
2304
2305         * stress/activation-sink-default-value-tdz-error.js:
2306
2307 2018-02-13  Saam Barati  <sbarati@apple.com>
2308
2309         putDirectIndexSlowOrBeyondVectorLength needs to convert to dictionary indexing mode always if attributes are present
2310         https://bugs.webkit.org/show_bug.cgi?id=182755
2311         <rdar://problem/37080864>
2312
2313         Reviewed by Keith Miller.
2314
2315         * stress/always-enter-dictionary-indexing-mode-with-getter.js: Added.
2316         (test1.o.get 10005):
2317         (test1):
2318         (test2.o.get 1000):
2319         (test2):
2320
2321 2018-02-13  Caitlin Potter  <caitp@igalia.com>
2322
2323         [JSC] cache TaggedTemplate arrays by callsite rather than by contents
2324         https://bugs.webkit.org/show_bug.cgi?id=182717
2325
2326         Reviewed by Yusuke Suzuki.
2327
2328         https://github.com/tc39/ecma262/pull/890 imposes a change to template
2329         literals, to allow template callsite arrays to be collected when the
2330         code containing the tagged template call is collected. This spec change
2331         has received concensus and been ratified.
2332
2333         This change eliminates the eternal map associating template contents
2334         with arrays.
2335
2336         * stress/tagged-template-object-collect.js: Renamed from JSTests/stress/tagged-template-registry-key-collect.js.
2337         * stress/tagged-template-object.js: Renamed from JSTests/stress/tagged-template-registry-key.js.
2338         * stress/tagged-templates-identity.js:
2339         * stress/template-string-tags-eval.js:
2340         * test262.yaml:
2341
2342 2018-02-13  Yusuke Suzuki  <utatane.tea@gmail.com>
2343
2344         Support GetArrayLength on ArrayStorage in the FTL
2345         https://bugs.webkit.org/show_bug.cgi?id=182625
2346
2347         Reviewed by Saam Barati.
2348
2349         * stress/array-storage-length.js: Added.
2350         (shouldBe):
2351         (testInBound):
2352         (testUncountable):
2353         (testSlowPutInBound):
2354         (testSlowPutUncountable):
2355         * stress/undecided-length.js: Added.
2356         (shouldBe):
2357         (test2):
2358
2359 2018-02-12  Saam Barati  <sbarati@apple.com>
2360
2361         DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
2362         https://bugs.webkit.org/show_bug.cgi?id=182706
2363         <rdar://problem/36833681>
2364
2365         Reviewed by Filip Pizlo.
2366
2367         * stress/get-array-length-phantom-new-array-buffer.js: Added.
2368         (effects):
2369         (foo):
2370
2371 2018-02-09  Filip Pizlo  <fpizlo@apple.com>
2372
2373         Don't waste memory for error.stack
2374         https://bugs.webkit.org/show_bug.cgi?id=182656
2375
2376         Reviewed by Saam Barati.
2377         
2378         Tests the policy.
2379
2380         * stress/gc-error-stack.js: Added. Shows that the GC forgets frames now.
2381         * stress/no-gc-error-stack.js: Added. Shows that the GC won't forget things if you ask for the stack.
2382
2383 2018-02-08  Yusuke Suzuki  <utatane.tea@gmail.com>
2384
2385         [JSC] Update Test262 to Feb 9 version
2386         https://bugs.webkit.org/show_bug.cgi?id=182468
2387
2388         Reviewed by Saam Barati.
2389
2390 2018-02-08  Yusuke Suzuki  <utatane.tea@gmail.com>
2391
2392         Unreviewed, fix invalid line terminator in old test262 file part 2
2393         https://bugs.webkit.org/show_bug.cgi?id=182468
2394
2395         * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
2396
2397 2018-02-08  Yusuke Suzuki  <utatane.tea@gmail.com>
2398
2399         Unreviewed, fix invalid line terminator in old test262 file
2400         https://bugs.webkit.org/show_bug.cgi?id=182468
2401
2402         * test262/test/language/literals/regexp/7.8.5-1.js:
2403
2404 2018-02-06  Yusuke Suzuki  <utatane.tea@gmail.com>
2405
2406         [JSC] Implement Array.prototype.flatMap and Array.prototype.flatten
2407         https://bugs.webkit.org/show_bug.cgi?id=182440
2408
2409         Reviewed by Darin Adler.
2410
2411         * stress/array-flatmap.js: Added.
2412         (shouldBe):
2413         (shouldBeArray):
2414         (shouldThrow):
2415         (var):
2416         * stress/array-flatten.js: Added.
2417         (shouldBe):
2418         (shouldBeArray):
2419         * test262.yaml:
2420         * test262/test/built-ins/Array/prototype/flatMap/depth-always-one.js:
2421         (3.flatMap):
2422         Pick test262 82c6148980332febe92a544a1fb653718e9fdb57 change.
2423
2424 2018-02-06  Keith Miller  <keith_miller@apple.com>
2425
2426         put_to_scope/get_from_scope should not cache lexical scopes when expecting a global object
2427         https://bugs.webkit.org/show_bug.cgi?id=182549
2428         <rdar://problem/36189995>
2429
2430         Reviewed by Saam Barati.
2431
2432         * stress/var-injection-cache-invalidation.js: Added.
2433         (allocateLotsOfThings):
2434         (test):
2435
2436 2018-02-03  Yusuke Suzuki  <utatane.tea@gmail.com>
2437
2438         Unreviewed, follow up for test262 update
2439         https://bugs.webkit.org/show_bug.cgi?id=182288
2440
2441         * test262.yaml:
2442
2443 2018-02-02  Ryan Haddad  <ryanhaddad@apple.com>
2444
2445         Update test262 to Jan 30 version
2446         https://bugs.webkit.org/show_bug.cgi?id=182288
2447
2448         Unreviewed test gardening.
2449
2450         * test262.yaml: Remove entry for missing test language/expressions/assignment/white-space.js
2451
2452 2018-02-02  Saam Barati  <sbarati@apple.com>
2453
2454         When BytecodeParser inserts Unreachable after ForceOSRExit it needs to update ArgumentPositions for Flushes it inserts
2455         https://bugs.webkit.org/show_bug.cgi?id=182368
2456         <rdar://problem/36932466>
2457
2458         Reviewed by Mark Lam.
2459
2460         * stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js: Added.
2461         (runNearStackLimit.t):
2462         (runNearStackLimit):
2463         (try.runNearStackLimit):
2464         (catch):
2465
2466 2018-02-02  Yusuke Suzuki  <utatane.tea@gmail.com>
2467
2468         Update test262 to Jan 30 version
2469         https://bugs.webkit.org/show_bug.cgi?id=182288
2470
2471         Rubber stamped by Saam Barati.
2472
2473         This patch updates test262 to the latest one, Jan 30 version.
2474         Since added and changed files are too many, we cannot create ChangeLog.
2475         The following files are changed.
2476
2477         Several files are intentionally omitted due to merge failures. We should investigate how to merge files
2478         including some special line terminators (like u2028, u2029).
2479
2480         * test262.yaml:
2481         * test262/test262-Revision.txt:
2482         * test262/*:
2483
2484 2018-02-02  Guillaume Emont  <guijemont@igalia.com>
2485
2486         JSTests: Skip mozilla/js1_5/Array/regress-157652.js on all memory limited platforms
2487         https://bugs.webkit.org/show_bug.cgi?id=182411
2488
2489         Reviewed by Carlos Alberto Lopez Perez.
2490
2491         This is skipped only on arm memory limited platforms. Until recently
2492         it was not a problem on MIPS as the butterfly was not initialized. But
2493         since r227435, the butterfly is initialized in that test and therefore
2494         memory is allocated, and the test typically takes around 512M, which
2495         means it generally gets OOM-killed on the MIPS buildbot.
2496
2497         * mozilla/mozilla-tests.yaml:
2498
2499 2018-02-01  Mark Lam  <mark.lam@apple.com>
2500
2501         Fix broken bounds check in FTL's compileGetMyArgumentByVal().
2502         https://bugs.webkit.org/show_bug.cgi?id=182419
2503         <rdar://problem/37044945>
2504
2505         Reviewed by Saam Barati.
2506
2507         * stress/regress-182419.js: Added.
2508
2509 2018-02-01  Keith Miller  <keith_miller@apple.com>
2510
2511         Fix crashes due to mishandling custom sections.
2512         https://bugs.webkit.org/show_bug.cgi?id=182404
2513         <rdar://problem/36935863>
2514
2515         Reviewed by Saam Barati.
2516
2517         * wasm/Builder.js:
2518         (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
2519         * wasm/js-api/validate.js:
2520         (assert.truthy):
2521
2522 2018-01-31  Saam Barati  <sbarati@apple.com>
2523
2524         JSC incorrectly interpreting script, sets Global Property instead of Global Lexical variable (LiteralParser / JSONP path)
2525         https://bugs.webkit.org/show_bug.cgi?id=182074
2526         <rdar://problem/36846261>
2527
2528         Reviewed by Mark Lam.
2529
2530         * stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js: Added.
2531         (assert):
2532         (let.func):
2533         (let.o.foo):
2534         (varFunc):
2535
2536 2018-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
2537
2538         Unreviewed, update test262 expects
2539         https://bugs.webkit.org/show_bug.cgi?id=182232
2540
2541         * test262.yaml:
2542
2543 2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>
2544
2545         [JSC] Implement trimStart and trimEnd
2546         https://bugs.webkit.org/show_bug.cgi?id=182233
2547
2548         Reviewed by Mark Lam.
2549
2550         * stress/trim.js: Added.
2551         (shouldBe):
2552         (startTest):
2553         (endTest):
2554         (trimTest):
2555
2556 2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>
2557
2558         [JSC] Relax line terminators in String to make JSON subset of JS
2559         https://bugs.webkit.org/show_bug.cgi?id=182232
2560
2561         Reviewed by Keith Miller.
2562
2563         * ChakraCore/test/es5/Lex_u3.baseline-jsc:
2564         * stress/relaxed-line-terminators-in-string.js: Added.
2565         (shouldBe):
2566
2567 2018-01-29  Michael Saboff  <msaboff@apple.com>
2568
2569         REGRESSION (r227341): DFG_ASSERT failure at JSC::DFG::AtTailAbstractState::forNode()
2570         https://bugs.webkit.org/show_bug.cgi?id=182249
2571
2572         Reviewed by Keith Miller.
2573
2574         New regression test.
2575
2576         * stress/compare-clobber-untypeduse.js: Added.
2577
2578 2018-01-29  Matt Lewis  <jlewis3@apple.com>
2579
2580         Unreviewed, rolling out r227725.
2581
2582         This caused internal failures.
2583
2584         Reverted changeset:
2585
2586         "JSC Sampling Profiler: Detect tester and testee when sampling
2587         in RegExp JIT"
2588         https://bugs.webkit.org/show_bug.cgi?id=152729
2589         https://trac.webkit.org/changeset/227725
2590
2591 2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>
2592
2593         JSC Sampling Profiler: Detect tester and testee when sampling in RegExp JIT
2594         https://bugs.webkit.org/show_bug.cgi?id=152729
2595
2596         Reviewed by Saam Barati.
2597
2598         * stress/sampling-profiler-regexp.js: Added.
2599         (platformSupportsSamplingProfiler.test):
2600         (platformSupportsSamplingProfiler.baz):
2601         (platformSupportsSamplingProfiler):
2602
2603 2018-01-29  Yusuke Suzuki  <utatane.tea@gmail.com>
2604
2605         [DFG][FTL] WeakMap#set should have DFG node
2606         https://bugs.webkit.org/show_bug.cgi?id=180015
2607
2608         Reviewed by Saam Barati.
2609
2610         * stress/weakmap-set-change-get.js: Added.
2611         (shouldBe):
2612         (test):
2613         * stress/weakmap-set-cse.js: Added.
2614         (shouldBe):
2615         (test):
2616         * stress/weakset-add-change-get.js: Added.
2617         (shouldBe):
2618         * stress/weakset-add-cse.js: Added.
2619         (shouldBe):
2620
2621 2018-01-27  Yusuke Suzuki  <utatane.tea@gmail.com>
2622
2623         DFG strength reduction fails to convert NumberToStringWithValidRadixConstant for 0 to constant '0'
2624         https://bugs.webkit.org/show_bug.cgi?id=182213
2625
2626         Reviewed by Mark Lam.
2627
2628         * stress/int32-min-to-string.js: Added.
2629         (shouldBe):
2630         (test2):
2631         (test4):
2632         (test8):
2633         (test16):
2634         (test32):
2635         * stress/zero-to-string.js: Added.
2636         (shouldBe):
2637         (test2):
2638         (test4):
2639         (test8):
2640         (test16):
2641         (test32):
2642
2643 2018-01-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2644
2645         Add more module scope related tests with code evaluation by string
2646         https://bugs.webkit.org/show_bug.cgi?id=181983
2647
2648         Reviewed by Sam Weinig.
2649
2650         Add more module scope related tests. When the original tests are landed,
2651         we do not have browser integration. This patch adds more module scope tests
2652         with dynamically created script evaluation. We add tests with Function
2653         constructor, direct eval, indirect eval, setTimeout, setInterval, and event handlers.
2654
2655         * modules/scopes-eval.js: Added.
2656         (shouldBe):
2657         * modules/scopes.js:
2658         (shouldBe):
2659
2660 2018-01-23  Filip Pizlo  <fpizlo@apple.com>
2661
2662         Unreviewed, retire some microbenchmarks that are proportionately very slow. Benchmark running time should be proportional to their value. Microbenchmarks have little value, so they should be very fast.
2663
2664         * microbenchmarks/array-push-3.js: Removed.
2665         * microbenchmarks/bigswitch-indirect-symbol-or-undefined.js: Removed.
2666         * microbenchmarks/double-to-int32.js: Removed.
2667         * microbenchmarks/fake-iterators-that-throw-when-finished.js: Removed.
2668         * microbenchmarks/ftl-polymorphic-bitand.js: Removed.
2669         * microbenchmarks/ftl-polymorphic-bitor.js: Removed.
2670         * microbenchmarks/ftl-polymorphic-bitxor.js: Removed.
2671         * microbenchmarks/ftl-polymorphic-lshift.js: Removed.
2672         * microbenchmarks/ftl-polymorphic-rshift.js: Removed.
2673         * microbenchmarks/ftl-polymorphic-sub.js: Removed.
2674         * microbenchmarks/ftl-polymorphic-urshift.js: Removed.
2675         * microbenchmarks/map-constant-key.js: Removed.
2676         * microbenchmarks/nested-function-parsing.js: Removed.
2677         * microbenchmarks/rest-parameter-allocation-elimination.js: Removed.
2678         * microbenchmarks/spread-large-array.js: Removed.
2679         * microbenchmarks/string-add-constant-folding.js: Removed.
2680         * microbenchmarks/to-lower-case.js: Removed.
2681         * microbenchmarks/undefined-property-access.js: Removed.
2682         * slowMicrobenchmarks/array-push-3.js: Copied from JSTests/microbenchmarks/array-push-3.js.
2683         * slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js: Copied from JSTests/microbenchmarks/bigswitch-indirect-symbol-or-undefined.js.
2684         * slowMicrobenchmarks/double-to-int32.js: Copied from JSTests/microbenchmarks/double-to-int32.js.
2685         * slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js: Copied from JSTests/microbenchmarks/fake-iterators-that-throw-when-finished.js.
2686         * slowMicrobenchmarks/ftl-polymorphic-bitand.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitand.js.
2687         * slowMicrobenchmarks/ftl-polymorphic-bitor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitor.js.
2688         * slowMicrobenchmarks/ftl-polymorphic-bitxor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitxor.js.
2689         * slowMicrobenchmarks/ftl-polymorphic-lshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-lshift.js.
2690         * slowMicrobenchmarks/ftl-polymorphic-rshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-rshift.js.
2691         * slowMicrobenchmarks/ftl-polymorphic-sub.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-sub.js.
2692         * slowMicrobenchmarks/ftl-polymorphic-urshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-urshift.js.
2693         * slowMicrobenchmarks/map-constant-key.js: Copied from JSTests/microbenchmarks/map-constant-key.js.
2694         * slowMicrobenchmarks/nested-function-parsing.js: Copied from JSTests/microbenchmarks/nested-function-parsing.js.
2695         * slowMicrobenchmarks/rest-parameter-allocation-elimination.js: Copied from JSTests/microbenchmarks/rest-parameter-allocation-elimination.js.
2696         * slowMicrobenchmarks/spread-large-array.js: Copied from JSTests/microbenchmarks/spread-large-array.js.
2697         * slowMicrobenchmarks/string-add-constant-folding.js: Copied from JSTests/microbenchmarks/string-add-constant-folding.js.
2698         * slowMicrobenchmarks/to-lower-case.js: Copied from JSTests/microbenchmarks/to-lower-case.js.
2699         * slowMicrobenchmarks/undefined-property-access.js: Copied from JSTests/microbenchmarks/undefined-property-access.js.
2700
2701 2018-01-23  Robin Morisset  <rmorisset@apple.com>
2702
2703         Update the argument count in DFGByteCodeParser::handleRecursiveCall
2704         https://bugs.webkit.org/show_bug.cgi?id=181739
2705         <rdar://problem/36627662>
2706
2707         Reviewed by Saam Barati.
2708
2709         * stress/recursive-tail-call-with-different-argument-count.js: Added.
2710         (foo):
2711         (bar):
2712
2713 2018-01-22  Michael Saboff  <msaboff@apple.com>
2714
2715         DFG abstract interpreter needs to properly model effects of some Math ops
2716         https://bugs.webkit.org/show_bug.cgi?id=181886
2717
2718         Reviewed by Saam Barati.
2719
2720         New regression test.
2721
2722         * stress/arith-nodes-abstract-interpreter-untypeduse.js: Added.
2723         (test):
2724
2725 2018-01-20  Caio Lima  <ticaiolima@gmail.com>
2726
2727         [JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t
2728         https://bugs.webkit.org/show_bug.cgi?id=181182
2729
2730         Reviewed by Darin Adler.
2731
2732         * stress/big-int-prototype-to-string-cast-overflow.js: Added.
2733         * stress/big-int-prototype-to-string-exception.js: Added.
2734         * stress/big-int-prototype-to-string-wrong-values.js: Added.
2735         * stress/number-prototype-to-string-cast-overflow.js: Added.
2736         * stress/number-prototype-to-string-exception.js: Added.
2737         * stress/number-prototype-to-string-wrong-values.js: Added.
2738
2739 2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>
2740
2741         Disable Atomics when SharedArrayBuffer isn’t enabled
2742         https://bugs.webkit.org/show_bug.cgi?id=181572
2743
2744         Unreviewed test gardening.
2745
2746         * test262.yaml: Skip tests that fail after this change.
2747
2748 2018-01-19  Saam Barati  <sbarati@apple.com>
2749
2750         Kill ArithNegate's ArithProfile assert inside BytecodeParser
2751         https://bugs.webkit.org/show_bug.cgi?id=181877
2752         <rdar://problem/36630552>
2753
2754         Reviewed by Mark Lam.
2755
2756         * stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js: Added.
2757         (runNearStackLimit):
2758         (f1):
2759         (f2):
2760         (f3):
2761         (i.catch):
2762         (i.try.runNearStackLimit):
2763         (catch):
2764
2765 2018-01-19  Saam Barati  <sbarati@apple.com>
2766
2767         Spread's effects are modeled incorrectly both in AI and in Clobberize
2768         https://bugs.webkit.org/show_bug.cgi?id=181867
2769         <rdar://problem/36290415>
2770
2771         Reviewed by Michael Saboff.
2772
2773         * stress/ai-needs-to-model-spreads-effects.js: Added.
2774         (try.p.Symbol.iterator):
2775         (try.go):
2776         (catch):
2777         * stress/clobberize-needs-to-model-spread-effects.js: Added.
2778         (assert):
2779         (foo):
2780         (a.Symbol.iterator):
2781
2782 2018-01-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2783
2784         Unreviewed, reduce count of iteration to fix timing out debug JSC test
2785         https://bugs.webkit.org/show_bug.cgi?id=181535
2786
2787         * stress/inserted-recovery-with-set-last-index.js:
2788
2789 2018-01-17  Yusuke Suzuki  <utatane.tea@gmail.com>
2790
2791         [DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky
2792         https://bugs.webkit.org/show_bug.cgi?id=181535
2793
2794         Reviewed by Saam Barati.
2795
2796         * stress/inserted-recovery-with-set-last-index.js: Added.
2797         (shouldBe):
2798         (foo):
2799         * stress/materialize-regexp-at-osr-exit.js: Added.
2800         (shouldBe):
2801         (test):
2802         * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added.
2803         (shouldBe):
2804         (test):
2805         * stress/materialize-regexp-cyclic-regexp.js: Added.
2806         (shouldBe):
2807         (test):
2808         (i.switch):
2809         * stress/materialize-regexp-cyclic.js: Added.
2810         (shouldBe):
2811         (test):
2812         (i.switch):
2813         * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added.
2814         (bar):
2815         (foo):
2816         (test):
2817         * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added.
2818         (bar):
2819         (foo):
2820         (test):
2821         * stress/materialize-regexp.js: Added.
2822         (shouldBe):
2823         (test):
2824         * stress/phantom-regexp-regexp-exec.js: Added.
2825         (shouldBe):
2826         (test):
2827         * stress/phantom-regexp-string-match.js: Added.
2828         (shouldBe):
2829         (test):
2830         * stress/regexp-last-index-sinking.js: Added.
2831         (shouldBe):
2832         (test):
2833
2834 2018-01-17  Saam Barati  <sbarati@apple.com>
2835
2836         Disable Atomics when SharedArrayBuffer isn’t enabled
2837         https://bugs.webkit.org/show_bug.cgi?id=181572
2838         <rdar://problem/36553206>
2839
2840         Reviewed by Michael Saboff.
2841
2842         * stress/isLockFree.js:
2843
2844 2018-01-17  Saam Barati  <sbarati@apple.com>
2845
2846         DFG::Node::convertToConstant needs to clear the varargs flags
2847         https://bugs.webkit.org/show_bug.cgi?id=181697
2848         <rdar://problem/36497332>
2849
2850         Reviewed by Yusuke Suzuki.
2851
2852         * stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js: Added.
2853         (doIndexOf):
2854         (bar):
2855         (i.bar):
2856
2857 2018-01-16  Ryan Haddad  <ryanhaddad@apple.com>
2858
2859         Unreviewed, rolling out r226937.
2860
2861         Tests added with this change are failing due to a missing
2862         exception check.
2863
2864         Reverted changeset:
2865
2866         "[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast
2867         double to int32_t"
2868         https://bugs.webkit.org/show_bug.cgi?id=181182
2869         https://trac.webkit.org/changeset/226937
2870
2871 2018-01-13  Caio Lima  <ticaiolima@gmail.com>
2872
2873         [JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t
2874         https://bugs.webkit.org/show_bug.cgi?id=181182
2875
2876         Reviewed by Darin Adler.
2877
2878         * bigIntTests.yaml:
2879         * stress/big-int-constructor.js:
2880         * stress/big-int-prototype-to-string-cast-overflow.js: Added.
2881         (assert):
2882         (assertThrowRangeError):
2883         * stress/number-prototype-to-string-cast-overflow.js: Added.
2884         (assert):
2885         (assertThrowRangeError):
2886
2887 2018-01-12  Saam Barati  <sbarati@apple.com>
2888
2889         CheckStructure can be incorrectly subsumed by CheckStructureOrEmpty
2890         https://bugs.webkit.org/show_bug.cgi?id=181177
2891         <rdar://problem/36205704>
2892
2893         Reviewed by Yusuke Suzuki.
2894
2895         * stress/check-structure-ir-ensures-empty-does-not-flow-through.js: Added.
2896         (runNearStackLimit.t):
2897         (runNearStackLimit):
2898         (test.f):
2899         (test):
2900
2901 2018-01-12  Saam Barati  <sbarati@apple.com>
2902
2903         Each variant of a polymorphic inlined call should be exitOK at the top of the block
2904         https://bugs.webkit.org/show_bug.cgi?id=181562
2905         <rdar://problem/36445624>
2906
2907         Reviewed by Yusuke Suzuki.
2908
2909         * stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js: Added.
2910         (f):
2911         (foo):
2912
2913 2018-01-11  Saam Barati  <sbarati@apple.com>
2914
2915         When inserting Unreachable in byte code parser we need to flush all the right things
2916         https://bugs.webkit.org/show_bug.cgi?id=181509
2917         <rdar://problem/36423110>
2918
2919         Reviewed by Mark Lam.
2920
2921         * stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js: Added.
2922
2923 2018-01-11  Saam Barati  <sbarati@apple.com>
2924
2925         JITMathIC code in the FTL is wrong when code gets duplicated
2926         https://bugs.webkit.org/show_bug.cgi?id=181525
2927         <rdar://problem/36351993>
2928
2929         Reviewed by Michael Saboff and Keith Miller.
2930
2931         * stress/allow-math-ic-b3-code-duplication.js: Added.
2932
2933 2018-01-11  Saam Barati  <sbarati@apple.com>
2934
2935         Our for-in caching is wrong when we add indexed properties on things in the prototype chain
2936         https://bugs.webkit.org/show_bug.cgi?id=181508
2937
2938         Reviewed by Yusuke Suzuki.
2939
2940         * stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js: Added.
2941         (assert):
2942         (test1.foo):
2943         (test1):
2944         (test2.foo):
2945         (test2):
2946
2947 2018-01-09  Mark Lam  <mark.lam@apple.com>
2948
2949         ASSERTION FAILED: pair.second->m_type & PropertyNode::Getter
2950         https://bugs.webkit.org/show_bug.cgi?id=181388
2951         <rdar://problem/36349351>
2952
2953         Reviewed by Saam Barati.
2954
2955         * stress/regress-181388.js: Added.
2956
2957 2018-01-08  JF Bastien  <jfbastien@apple.com>
2958
2959         WebAssembly: mask indexed accesses to Table
2960         https://bugs.webkit.org/show_bug.cgi?id=181412
2961         <rdar://problem/36363236>
2962
2963         Reviewed by Saam Barati.
2964
2965         Update error messages.
2966
2967         * wasm/js-api/table.js:
2968         (assert.throws.WebAssembly.Table.prototype.grow):
2969
2970 2018-01-08  Ryan Haddad  <ryanhaddad@apple.com>
2971
2972         Disable SharedArrayBuffer tests missed in r226386.
2973         https://bugs.webkit.org/show_bug.cgi?id=181266
2974
2975         Unreviewed test gardening.
2976
2977         * test262.yaml:
2978
2979 2018-01-06  Yusuke Suzuki  <utatane.tea@gmail.com>
2980
2981         Object.getOwnPropertyNames includes "arguments" and "caller" for bound functions
2982         https://bugs.webkit.org/show_bug.cgi?id=181321
2983
2984         Reviewed by Saam Barati.
2985
2986         * stress/bound-function-does-not-have-caller-and-arguments.js: Added.
2987         (shouldBe):
2988         (testFunction):
2989         * test262.yaml:
2990
2991 2018-01-05  Ryan Haddad  <ryanhaddad@apple.com>
2992
2993         Unreviewed, attempt to fix test262 after r226386.
2994
2995         * test262.yaml:
2996
2997 2018-01-04  Yusuke Suzuki  <utatane.tea@gmail.com>
2998
2999         [DFG] Define defs for MapSet/SetAdd to participate in CSE
3000         https://bugs.webkit.org/show_bug.cgi?id=179911
3001
3002         Reviewed by Saam Barati.
3003
3004         In addition to these tests, map-set-cse.js and set-add-cse.js work.
3005
3006         * stress/map-set-change-get.js: Added.
3007         (shouldBe):
3008         (test):
3009         * stress/map-set-create-bucket.js: Added.
3010         (shouldBe):
3011         (test):
3012         * stress/set-add-create-bucket.js: Added.
3013         (shouldBe):
3014
3015 2018-01-03  Michael Saboff  <msaboff@apple.com>
3016
3017         Disable SharedArrayBuffers from Web API
3018         https://bugs.webkit.org/show_bug.cgi?id=181266
3019
3020         Reviewed by Saam Barati.
3021
3022         Disabled SharedArrayBuffer tests.
3023
3024         * stress/SharedArrayBuffer-opt.js:
3025         * stress/SharedArrayBuffer.js:
3026         * stress/array-buffer-byte-length.js:
3027         * stress/atomics-add-uint32.js:
3028         * stress/atomics-known-int-use.js:
3029         * stress/atomics-neg-zero.js:
3030         * stress/atomics-store-return.js:
3031         * stress/lars-sab-workers.js:
3032         * stress/regress-159779-1.js:
3033         * stress/regress-159779-2.js:
3034         * stress/regress-170473.js:
3035         * test262.yaml:
3036
3037 2018-01-03  Caio Lima  <ticaiolima@gmail.com>
3038
3039         [ESNext][BigInt] Failing test stress/big-int-constructor-oom.js into MIPS
3040         https://bugs.webkit.org/show_bug.cgi?id=181258
3041
3042         Reviewed by Antonio Gomes.
3043
3044         * stress/big-int-constructor-gc.js:
3045         * stress/big-int-constructor-oom.js:
3046
3047 2018-01-03  Robin Morisset  <rmorisset@apple.com>
3048
3049         Inlining of a function that ends in op_unreachable crashes
3050         https://bugs.webkit.org/show_bug.cgi?id=181027
3051
3052         Reviewed by Filip Pizlo.
3053
3054         * stress/inlining-unreachable.js: Added.
3055         (bar):
3056         (baz):
3057         (i.catch):
3058
3059 2018-01-02  Saam Barati  <sbarati@apple.com>
3060
3061         Incorrect assertion inside AccessCase
3062         https://bugs.webkit.org/show_bug.cgi?id=181200
3063         <rdar://problem/35494754>
3064
3065         Reviewed by Yusuke Suzuki.
3066
3067         * stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js: Added.
3068         (ctor):
3069         (theFunc):
3070         (run):
3071
3072 2018-01-02  Caio Lima  <ticaiolima@gmail.com>
3073
3074         [ESNext][BigInt] Implement BigIntConstructor and BigIntPrototype
3075         https://bugs.webkit.org/show_bug.cgi?id=175359
3076
3077         Reviewed by Yusuke Suzuki.
3078
3079         * bigIntTests.yaml:
3080         * stress/big-int-as-key.js: Added.
3081         * stress/big-int-constructor-gc.js: Added.
3082         * stress/big-int-constructor-oom.js: Added.
3083         * stress/big-int-constructor-properties.js: Added.
3084         * stress/big-int-constructor-prototype-prop-descriptor.js: Added.
3085         * stress/big-int-constructor-prototype.js: Added.
3086         * stress/big-int-constructor.js: Added.
3087         * stress/big-int-function-apply.js:
3088         * stress/big-int-length.js: Added.
3089         * stress/big-int-prop-descriptor.js: Added.
3090         * stress/big-int-proto-constructor.js: Added.
3091         * stress/big-int-proto-name.js: Added.
3092         * stress/big-int-prototype-properties.js: Added.
3093         * stress/big-int-prototype-proto.js: Added.
3094         * stress/big-int-prototype-value-of.js: Added.
3095         * stress/big-int-prototype-symbol-to-string-tag.js: Added.
3096         * stress/big-int-prototype-to-string-apply.js: Added.
3097         * stress/big-int-to-object.js: Added.
3098         * stress/big-int-to-string.js: Added.
3099
3100 2017-12-28  Saam Barati  <sbarati@apple.com>
3101
3102         Assertion used to determine if something is an async generator is wrong
3103         https://bugs.webkit.org/show_bug.cgi?id=181168
3104         <rdar://problem/35640560>
3105
3106         Reviewed by Yusuke Suzuki.
3107
3108         * stress/async-generator-assertion.js: Added.
3109
3110 2017-12-21  Guillaume Emont  <guijemont@igalia.com>
3111
3112         Skip stress/splay-flash-access tests on memory limited platforms
3113         https://bugs.webkit.org/show_bug.cgi?id=181086
3114
3115         Reviewed by Carlos Alberto Lopez Perez.
3116
3117         These tests use about 185M of memory, and occasionally get OOM-killed
3118         on memory limited platforms.
3119
3120         * stress/splay-flash-access-1ms.js:
3121         * stress/splay-flash-access.js:
3122
3123 2017-12-21  Guillaume Emont  <guijemont@igalia.com>
3124
3125         Skip slow jsc tests on embedded platforms
3126         https://bugs.webkit.org/show_bug.cgi?id=180937
3127
3128         Reviewed by Carlos Alberto Lopez Perez.
3129
3130         The tests typeProfiler/deltablue-for-of.js and
3131         typeProfiler/getter-richards.js take a very long time in the
3132         ftl-no-cjit-type-profiler-force-poly-proto on embedded platform, and
3133         thus always timeout. They should be skipped on these platforms.
3134
3135         * typeProfiler/deltablue-for-of.js: Skip on arm*/mips.
3136         * typeProfiler/getter-richards.js: Skip on arm*/mips.
3137
3138 2017-12-19  Yusuke Suzuki  <utatane.tea@gmail.com>
3139
3140         [JSC] Do not check isValid() in op_new_regexp
3141         https://bugs.webkit.org/show_bug.cgi?id=180970
3142
3143         Reviewed by Saam Barati.
3144
3145         * stress/regexp-syntax-error-invalid-flags.js: Added.
3146         (shouldThrow):
3147
3148 2017-12-18  Guillaume Emont  <guijemont@igalia.com>
3149
3150         Skip stress/call-apply-exponential-bytecode-size.js unless x86-64 or arm64
3151         https://bugs.webkit.org/show_bug.cgi?id=180712
3152
3153         Reviewed by Michael Catanzaro.
3154
3155         stress/call-apply-exponential-bytecode-size.js crashes if the
3156         ExecutableAllocator's fixedExecutableMemoryPoolSize is less than 64
3157         MB. Currently it is 64 MB or more only on x86-64 and arm64, so we
3158         should skip the test on other platforms.
3159
3160         * stress/call-apply-exponential-bytecode-size.js:
3161
3162 2017-12-17  Yusuke Suzuki  <utatane.tea@gmail.com>
3163
3164         [FTL] NewArrayBuffer should be sinked if it is only used for spreading
3165         https://bugs.webkit.org/show_bug.cgi?id=179762
3166
3167         Reviewed by Saam Barati.
3168
3169         * stress/call-varargs-double-new-array-buffer.js: Added.
3170         (assert):
3171         (bar):
3172         (foo):
3173         * stress/call-varargs-spread-new-array-buffer.js: Added.
3174         (assert):
3175         (bar):
3176         (foo):
3177         * stress/call-varargs-spread-new-array-buffer2.js: Added.
3178         (assert):
3179         (bar):
3180         (foo):
3181         * stress/forward-varargs-double-new-array-buffer.js: Added.
3182         (assert):
3183         (test.baz):
3184         (test.bar):
3185         (test.foo):
3186         (test):
3187         * stress/new-array-buffer-sinking-osrexit.js: Added.
3188         (target):
3189         (test):
3190         * stress/new-array-with-spread-double-new-array-buffer.js: Added.
3191         (shouldBe):
3192         (test):
3193         * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added.
3194         (shouldBe):
3195         (target):
3196         (test):
3197         * stress/phantom-new-array-buffer-forward-varargs.js: Added.
3198         (assert):
3199         (test1.bar):
3200         (test1.foo):
3201         (test1):
3202         (test2.bar):
3203         (test2.foo):
3204         (test3.baz):
3205         (test3.bar):
3206         (test3.foo):
3207         (test4.baz):
3208         (test4.bar):
3209         (test4.foo):
3210         * stress/phantom-new-array-buffer-forward-varargs2.js: Added.
3211         (assert):
3212         (test.baz):
3213         (test.bar):
3214         (test.foo):
3215         (test):
3216         * stress/phantom-new-array-buffer-osr-exit.js: Added.
3217         (assert):
3218         (baz):
3219         (bar):
3220         (effects):
3221         (foo):
3222
3223 2017-12-14  Saam Barati  <sbarati@apple.com>
3224
3225         The CleanUp after LICM is erroneously removing a Check
3226         https://bugs.webkit.org/show_bug.cgi?id=180852
3227         <rdar://problem/36063494>
3228
3229         Reviewed by Filip Pizlo.
3230
3231         * stress/dont-run-cleanup-after-licm.js: Added.
3232
3233 2017-12-14  Michael Saboff  <msaboff@apple.com>
3234
3235         REGRESSION (r225695): Repro crash on yahoo login page
3236         https://bugs.webkit.org/show_bug.cgi?id=180761
3237
3238         Reviewed by JF Bastien.
3239
3240         New regression test.
3241
3242         * stress/regress-180761.js: Added.
3243
3244 2017-12-13  Keith Miller  <keith_miller@apple.com>
3245
3246         JSObjects should have a mask for loading indexed properties
3247         https://bugs.webkit.org/show_bug.cgi?id=180768
3248
3249         Reviewed by Mark Lam.
3250
3251         * stress/int16-put-by-val-in-and-out-of-bounds.js:
3252         (test):
3253
3254 2017-12-13  Saam Barati  <sbarati@apple.com>
3255
3256         Arrow functions need their own structure because they have different properties than sloppy functions
3257         https://bugs.webkit.org/show_bug.cgi?id=180779
3258         <rdar://problem/35814591>
3259
3260         Reviewed by Mark Lam.
3261
3262         * stress/arrow-function-needs-its-own-structure.js: Added.
3263         (assert):
3264         (readPrototype):
3265         (noInline.let.f1):
3266         (noInline):
3267
3268 2017-12-13  Saam Barati  <sbarati@apple.com>
3269
3270         Fix how JSFunction handles "caller" and "arguments" for functions that don't have those properties
3271         https://bugs.webkit.org/show_bug.cgi?id=163579
3272         <rdar://problem/35455798>
3273
3274         Reviewed by Mark Lam.
3275
3276         * stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Added.
3277         (assert):
3278         (test1):
3279         (i.test1):
3280         (i.test1.C):
3281         (i.test1.async.foo):
3282         (i.test1.foo):
3283         (test2):
3284
3285 2017-12-13  Saam Barati  <sbarati@apple.com>
3286
3287         TypeCheckHoistingPhase needs to emit a CheckStructureOrEmpty if it's doing it for |this|
3288         https://bugs.webkit.org/show_bug.cgi?id=180734
3289         <rdar://problem/35640547>
3290
3291         Reviewed by Yusuke Suzuki.
3292
3293         * stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js: Added.
3294         (__isPropertyOfType):
3295         (__getProperties):
3296         (__getObjects):
3297         (__getRandomObject):
3298         (theClass.):
3299         (theClass):
3300         (childClass):
3301         (counter.catch):
3302
3303 2017-12-12  Saam Barati  <sbarati@apple.com>
3304
3305         We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize
3306         https://bugs.webkit.org/show_bug.cgi?id=180725
3307         <rdar://problem/35970511>
3308
3309         Reviewed by Michael Saboff.
3310
3311         * stress/model-effects-properly-of-spread-over-phantom-create-rest.js: Added.
3312         (f1):
3313         (f2):
3314         (let.o2.valueOf):
3315
3316 2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
3317
3318         [JSC] Implement optimized WeakMap and WeakSet
3319         https://bugs.webkit.org/show_bug.cgi?id=179929
3320
3321         Reviewed by Saam Barati.
3322
3323         * microbenchmarks/weak-map-key.js:
3324         * microbenchmarks/weak-set-key.js: Copied from JSTests/microbenchmarks/weak-map-key.js.
3325         (assert):
3326         (objectKey):
3327         (let.start.Date.now):
3328         * stress/basic-weakmap.js: Added.
3329         (shouldBe):
3330         (test):
3331         * stress/basic-weakset.js: Added.
3332         (shouldBe):
3333         (test.set new):
3334         * stress/weakmap-cse-set-break.js: Added.
3335         (shouldBe):
3336         (test):
3337         * stress/weakmap-cse.js: Added.
3338         (shouldBe):
3339         (test):
3340         * stress/weakmap-gc.js: Added.
3341         (test):
3342         * stress/weakset-cse-add-break.js: Added.
3343         (shouldBe):
3344         (test.set new):
3345         * stress/weakset-cse.js: Added.
3346         (shouldBe):
3347         (test.set new):
3348         * stress/weakset-gc.js: Added.
3349         (test.set add):
3350         (test.set new):
3351         (test):
3352
3353 2017-12-12  Saam Barati  <sbarati@apple.com>
3354
3355         ConstantFoldingPhase rule for GetMyArgumentByVal must check for negative indices
3356         https://bugs.webkit.org/show_bug.cgi?id=180723
3357         <rdar://problem/35859726>
3358
3359         Reviewed by JF Bastien.
3360
3361         * stress/get-my-argument-by-val-constant-folding.js: Added.
3362         (test):
3363         (catch):
3364
3365 2017-12-12  Caio Lima  <ticaiolima@gmail.com>
3366
3367         [ESNext][BigInt] Implement BigInt literals and JSBigInt
3368         https://bugs.webkit.org/show_bug.cgi?id=179000
3369
3370         Reviewed by Darin Adler and Yusuke Suzuki.
3371
3372         * bigIntTests.yaml: Added.
3373         * stress/big-int-literal-line-terminator.js: Added.
3374         * stress/big-int-literals.js: Added.
3375         * stress/big-int-operations-error.js: Added.
3376         * stress/big-int-type-of.js: Added.
3377         * stress/big-int-white-space-trailing-leading.js: Added.
3378         * stress/big-int-function-apply.js: Added.
3379
3380 2017-12-11  Saam Barati  <sbarati@apple.com>
3381
3382         We need to disableCaching() in ErrorInstance when we materialize properties
3383         https://bugs.webkit.org/show_bug.cgi?id=180343
3384         <rdar://problem/35833002>
3385
3386         Reviewed by Mark Lam.
3387
3388         * stress/disable-caching-when-lazy-materializing-error-property-on-put.js: Added.
3389         (assert):
3390         (makeError):
3391         (storeToStack):
3392         (storeToStackAlreadyMaterialized):
3393
3394 2017-12-05  JF Bastien  <jfbastien@apple.com>
3395
3396         WebAssembly: don't eagerly checksum
3397         https://bugs.webkit.org/show_bug.cgi?id=180441
3398         <rdar://problem/35156628>
3399
3400         Reviewed by Saam Barati.
3401
3402         Checksum is now disabled, so tests only have <?> as the module
3403         name.
3404
3405         * wasm/function-tests/nameSection.js:
3406         * wasm/function-tests/stack-overflow.js:
3407         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
3408         (assertOverflows.assertThrows):
3409         (assertOverflows):
3410         * wasm/function-tests/stack-trace.js:
3411
3412 2017-12-04  JF Bastien  <jfbastien@apple.com>
3413
3414         Proxy all functions, except the $ objects
3415         https://bugs.webkit.org/show_bug.cgi?id=180375
3416
3417         Reviewed by Saam Barati.
3418
3419         It looks like this test may have broken some executions because I
3420         call some internal objects. Explicitly ignore objects whose name
3421         starts with "$" because it's a bad idea anyways.
3422
3423         * stress/proxy-all-the-parameters.js:
3424         (generateObjects):
3425         (get throw):
3426
3427 2017-12-04  Saam Barati  <sbarati@apple.com>
3428
3429         We need to leave room on the top of the stack for the FTL TailCall slow path so it doesn't overwrite things we want to retrieve when doing a stack walk when throwing an exception
3430         https://bugs.webkit.org/show_bug.cgi?id=180366
3431         <rdar://problem/35685877>
3432
3433         Reviewed by Michael Saboff.
3434
3435         * stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js: Added.
3436         (theParent):
3437         (test1.base.getParentStaticValue):
3438         (test1.base):
3439         (test1.__v_24888.prototype.set prop):
3440         (test1.__v_24888):
3441         (test2.base.getParentStaticValue):
3442         (test2.base):
3443         (test2.__v_24888.prototype.set prop):
3444         (test2.__v_24888):
3445         (test2):
3446
3447 2017-12-01  JF Bastien  <jfbastien@apple.com>
3448
3449         Try proxying all function arguments
3450         https://bugs.webkit.org/show_bug.cgi?id=180306
3451
3452         Reviewed by Saam Barati.
3453
3454         * stress/proxy-all-the-parameters.js: Added.
3455         (isPropertyOfType):
3456         (getProperties):
3457         (generateObjects):
3458         (getObjects):
3459         (getFunctions):
3460         (get throw):
3461         (let.o.of.getObjects.let.f.of.getFunctions.catch):
3462
3463 2017-12-01  JF Bastien  <jfbastien@apple.com>
3464
3465         JavaScriptCore: missing exception checks in Math functions that take more than one argument
3466         https://bugs.webkit.org/show_bug.cgi?id=180297
3467         <rdar://problem/35745556>
3468
3469         Reviewed by Mark Lam.
3470
3471         * stress/math-exceptions.js: Added.
3472         (get try):
3473         (catch):
3474
3475 2017-12-01  JF Bastien  <jfbastien@apple.com>
3476
3477         JavaScriptCore: add test for weird class static getters
3478         https://bugs.webkit.org/show_bug.cgi?id=180281
3479         <rdar://problem/35592139>
3480
3481         Reviewed by Mark Lam.
3482
3483         I fixed a bug for it in r224927 and didn't add a test. Do so.
3484
3485         * stress/class-static-get-weird.js: Added.
3486         (c.prototype.get name):
3487         (c):
3488         (c.prototype.get arguments):
3489         (c.prototype.get caller):
3490         (c.prototype.get length):
3491
3492 2017-12-01  Saam Barati  <sbarati@apple.com>
3493
3494         Having a bad time needs to handle ArrayClass indexing type as well
3495         https://bugs.webkit.org/show_bug.cgi?id=180274
3496         <rdar://problem/35667869>
3497
3498         Reviewed by Keith Miller and Mark Lam.
3499
3500         * stress/array-prototype-slow-put-having-a-bad-time-2.js: Added.
3501         (assert):
3502         * stress/array-prototype-slow-put-having-a-bad-time.js: Added.
3503         (assert):
3504
3505 2017-12-01  JF Bastien  <jfbastien@apple.com>
3506
3507         WebAssembly: restore cached stack limit after out-call
3508         https://bugs.webkit.org/show_bug.cgi?id=179106
3509         <rdar://problem/35337525>
3510
3511         Reviewed by Saam Barati.
3512
3513         * wasm/function-tests/double-instance.js: Added.
3514         (const.imp.boom):
3515         (const.imp.get callAnother):
3516
3517 2017-11-30  JF Bastien  <jfbastien@apple.com>
3518
3519         WebAssembly: improve stack trace
3520         https://bugs.webkit.org/show_bug.cgi?id=179343
3521
3522         Reviewed by Saam Barati.
3523
3524         Update the tests to follow the new format. Notably, SHA1 module
3525         hash is now included in traces, and stubs are properly identified.
3526
3527         * wasm/assert.js: Add an assertion which matches regular expressions.
3528         * wasm/function-tests/nameSection.js:
3529         * wasm/function-tests/stack-overflow.js:
3530         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
3531         (assertOverflows.assertThrows.wasm.1):
3532         (assertOverflows.assertThrows.wasm.0):
3533         (assertOverflows.assertThrows):
3534         (assertOverflows):
3535         * wasm/function-tests/stack-trace.js:
3536         (import.Builder.from.string_appeared_here.assert): Deleted.
3537         * wasm/function-tests/trap-after-cross-instance-call.js:
3538         (wasmFrameCountFromError):
3539         * wasm/function-tests/trap-load-2.js:
3540         (wasmFrameCountFromError):
3541         * wasm/function-tests/trap-load.js:
3542         (wasmFrameCountFromError):
3543
3544 2017-11-30  Mark Lam  <mark.lam@apple.com>
3545
3546         jsc shell's flashHeapAccess() should not do JS work after releasing access to the heap.
3547         https://bugs.webkit.org/show_bug.cgi?id=180219
3548         <rdar://problem/35696536>
3549
3550         Reviewed by Filip Pizlo.
3551
3552         * stress/regress-180219.js: Added.
3553
3554 2017-11-30  Yusuke Suzuki  <utatane.tea@gmail.com>
3555
3556         [DFG][FTL] operationHasIndexedProperty does not consider negative int32_t
3557         https://bugs.webkit.org/show_bug.cgi?id=180190
3558
3559         Reviewed by Mark Lam.
3560
3561         * stress/operation-in-may-have-negative-int32-array-storage.js: Added.
3562         (shouldBe):
3563         (test1):
3564         * stress/operation-in-may-have-negative-int32-contiguous-array.js: Added.
3565         (shouldBe):
3566         (test1):
3567         * stress/operation-in-may-have-negative-int32-double-array.js: Added.
3568         (shouldBe):
3569         (test1):
3570         * stress/operation-in-may-have-negative-int32-generic-array.js: Added.
3571         (shouldBe):
3572         (test1):
3573         * stress/operation-in-may-have-negative-int32-int32-array.js: Added.
3574         (shouldBe):
3575         (test1):
3576         * stress/operation-in-may-have-negative-int32.js: Added.
3577         (shouldBe):
3578         (test2):
3579         * stress/operation-in-negative-int32-cast.js: Added.
3580         (shouldBe):
3581         (test1):
3582
3583 2017-11-28  JF Bastien  <jfbastien@apple.com>
3584
3585         Strict and sloppy functions shouldn't share structure
3586         https://bugs.webkit.org/show_bug.cgi?id=180103
3587         <rdar://problem/35667847>
3588
3589         Reviewed by Saam Barati.
3590
3591         * stress/get-by-id-strict-arguments.js: Added. Used to not throw
3592         because the IC was wrong.
3593         (foo):
3594         (bar):
3595         (baz):
3596         (catch):
3597         * stress/get-by-id-strict-callee.js: Added. Not strictly necessary
3598         in this patch, but may as well test odd strict mode corner cases.
3599         (bar):
3600         (baz):
3601         (catch):
3602         * stress/get-by-id-strict-caller.js: Added. Also IC'd wrong.
3603         (foo):
3604         (bar):
3605         (baz):
3606         (catch):
3607         * stress/get-by-id-strict-nested-arguments-2.js: Added. Same as
3608         next file, but with invalidation of the FunctionExecutable's
3609         singletonFunction() to hit SpeculativeJIT::compileNewFunction's
3610         slower path.
3611         (foo):
3612         (bar.const.x):
3613         (bar.const.y):
3614         (bar):
3615         (catch):
3616         * stress/get-by-id-strict-nested-arguments.js: Added. Make sure
3617         strict nesting works correctly.
3618         (foo):
3619         (bar.baz):
3620         (bar):
3621         * stress/strict-function-structure.js: Added. The test used to
3622         assert in objectProtoFuncHasOwnProperty.
3623         (foo):
3624         (bar):
3625         (baz):
3626         * stress/strict-nested-function-structure.js: Added. Nesting.
3627         (foo):
3628         (bar):
3629         (baz.boo):
3630         (baz):
3631
3632 2017-11-29  Robin Morisset  <rmorisset@apple.com>
3633
3634         The recursive tail call optimisation is wrong on closures
3635         https://bugs.webkit.org/show_bug.cgi?id=179835
3636
3637         Reviewed by Saam Barati.
3638
3639         * stress/closure-recursive-tail-call.js: Added.
3640         (makeClosure):
3641
3642 2017-11-27  JF Bastien  <jfbastien@apple.com>
3643
3644         JavaScript rest function parameter with negative index leads to bad DFG abstract interpretation
3645         https://bugs.webkit.org/show_bug.cgi?id=180051
3646         <rdar://problem/35614371>
3647
3648         Reviewed by Saam Barati.
3649
3650         * stress/rest-parameter-negative.js: Added.
3651         (__f_5484):
3652         (catch):
3653         (__f_5485):
3654         (__v_22598.catch):
3655
3656 2017-11-27  Saam Barati  <sbarati@apple.com>
3657
3658         Spread can escape when CreateRest does not
3659         https://bugs.webkit.org/show_bug.cgi?id=180057
3660         <rdar://problem/35676119>
3661
3662         Reviewed by JF Bastien.
3663
3664         * stress/spread-escapes-but-create-rest-does-not.js: Added.
3665         (assert):
3666         (getProperties):
3667         (theFunc):
3668         (let.obj.valueOf):
3669
3670 2017-11-21  Yusuke Suzuki  <utatane.tea@gmail.com>
3671
3672         [DFG] Add NormalizeMapKey DFG IR
3673         https://bugs.webkit.org/show_bug.cgi?id=179912
3674
3675         Reviewed by Saam Barati.
3676
3677         * stress/map-untyped-normalize-cse.js: Added.
3678         (shouldBe):
3679         (test):
3680         * stress/map-untyped-normalize.js: Added.
3681         (shouldBe):
3682         (test):
3683         * stress/set-untyped-normalize-cse.js: Added.
3684         (shouldBe):
3685         (set return.set has.set has):
3686         * stress/set-untyped-normalize.js: Added.
3687         (shouldBe):
3688         (set return.set has):
3689
3690 2017-11-26  Yusuke Suzuki  <utatane.tea@gmail.com>
3691
3692         [FTL] Support DeleteById and DeleteByVal
3693         https://bugs.webkit.org/show_bug.cgi?id=180022
3694
3695         Reviewed by Saam Barati.
3696
3697         * stress/delete-by-id.js: Added.
3698         (shouldBe):
3699         (test1):
3700         (test2):
3701         * stress/delete-by-val-ftl.js: Added.
3702         (shouldBe):
3703         (test1):
3704         (test2):
3705
3706 2017-11-26  Yusuke Suzuki  <utatane.tea@gmail.com>
3707
3708         [DFG] Introduce {Set,Map,WeakMap}Fields
3709         https://bugs.webkit.org/show_bug.cgi?id=179925
3710
3711         Reviewed by Saam Barati.
3712
3713         * stress/map-set-clobber-map-get.js: Added.
3714         (shouldBe):
3715         (test):
3716         * stress/map-set-does-not-clobber-set-has.js: Added.
3717         (shouldBe):
3718         * stress/map-set-does-not-clobber-weak-map-get.js: Added.
3719         (shouldBe):
3720         (test):
3721         * stress/set-add-clobber-set-has.js: Added.
3722         (shouldBe):
3723         * stress/set-add-does-not-clobber-map-get.js: Added.
3724         (shouldBe):
3725
3726 2017-11-24  Mark Lam  <mark.lam@apple.com>
3727
3728         Move unsafe jsc shell test functions to the $vm object.
3729         https://bugs.webkit.org/show_bug.cgi?id=179980
3730
3731         Reviewed by Yusuke Suzuki.
3732
3733         * controlFlowProfiler/driver/driver.js:
3734         * controlFlowProfiler/execution-count.js:
3735         * controlFlowProfiler/if-statement.js:
3736         * controlFlowProfiler/loop-statements.js:
3737         * controlFlowProfiler/switch-statements.js:
3738         * controlFlowProfiler/test-jit.js:
3739         * exceptionFuzz/3d-cube.js:
3740         * exceptionFuzz/date-format-xparb.js:
3741         * exceptionFuzz/earley-boyer.js:
3742         * heapProfiler/basic-edges.js:
3743         * heapProfiler/property-edge-types.js:
3744         * microbenchmarks/try-get-by-id-basic.js:
3745         * microbenchmarks/try-get-by-id-polymorphic.js:
3746         * modules/namespace-object-try-get.js:
3747         * stress/argument-count-bytecode.js:
3748         * stress/argument-intrinsic-basic.js:
3749         * stress/argument-intrinsic-inlining-use-caller-arg.js:
3750         * stress/argument-intrinsic-inlining-with-result-escape.js:
3751         * stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js:
3752         * stress/argument-intrinsic-inlining-with-vararg.js:
3753         * stress/argument-intrinsic-nested-inlining.js:
3754         * stress/argument-intrinsic-not-convert-to-get-argument.js:
3755         * stress/argument-intrinsic-with-stack-write.js:
3756         * stress/arity-mismatch-get-argument.js:
3757         * stress/array-message-passing.js:
3758         * stress/array-push-with-force-exit.js:
3759         * stress/check-dom-with-signature.js:
3760         * stress/check-sub-class.js:
3761         * stress/compare-eq-incomplete-profile.js:
3762         * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js:
3763         * stress/do-eval-virtual-call-correctly.js:
3764         * stress/dom-jit-with-poly-proto.js:
3765         * stress/domjit-exception-ic.js:
3766         * stress/domjit-exception.js:
3767         * stress/domjit-getter-complex-with-incorrect-object.js:
3768         * stress/domjit-getter-complex.js:
3769         * stress/domjit-getter-poly.js:
3770         * stress/domjit-getter-proto.js:
3771         * stress/domjit-getter-super-poly.js:
3772         * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js:
3773         * stress/domjit-getter-type-check.js:
3774         * stress/domjit-getter.js:
3775         * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js:
3776         * stress/for-in-proxy-target-changed-structure.js:
3777         * stress/for-in-proxy.js:
3778         * stress/generational-opaque-roots.js:
3779         * stress/global-const-redeclaration-setting-2.js:
3780         * stress/global-const-redeclaration-setting-3.js:
3781         * stress/global-const-redeclaration-setting-4.js:
3782         * stress/global-const-redeclaration-setting-5.js:
3783         * stress/global-const-redeclaration-setting.js:
3784         * stress/import-basic.js:
3785         * stress/import-from-eval.js:
3786         * stress/import-reject-with-exception.js:
3787         * stress/import-syntax.js:
3788         * stress/impure-get-own-property-slot-inline-cache.js:
3789         * stress/is-constructor.js:
3790         * stress/istypedarrayview-intrinsic.js:
3791         * stress/jsc-setImpureGetterDelegate-on-bad-type.js:
3792         * stress/jsc-test-functions-should-be-more-robust.js:
3793         * stress/object-toString-with-proxy.js:
3794         * stress/poly-proto-custom-value-and-accessor.js:
3795         * stress/proxy-inline-cache.js:
3796         * stress/re-execute-error-module.js:
3797         * stress/regress-150532.js:
3798         * stress/regress-156992.js:
3799         * stress/regress-179619.js:
3800         * stress/resources/shadow-chicken-support.js:
3801         * stress/runtime-array.js:
3802         * stress/sampling-profiler-microtasks.js:
3803         * stress/shadow-chicken-enabled.js:
3804         * stress/spread-correct-global-object-on-exception.js:
3805         * stress/super-get-by-id.js:
3806         * stress/tailCallForwardArguments.js:
3807         * stress/to-object-intrinsic-boolean-edge.js:
3808         * stress/to-object-intrinsic-null-or-undefined-edge.js:
3809         * stress/to-object-intrinsic-number-edge.js:
3810         * stress/to-object-intrinsic-object-edge.js:
3811         * stress/to-object-intrinsic-string-edge.js:
3812         * stress/to-object-intrinsic-symbol-edge.js:
3813         * stress/to-object-intrinsic.js:
3814         * stress/try-catch-custom-getter-as-get-by-id.js:
3815         * stress/try-get-by-id-poly-proto.js:
3816         * stress/try-get-by-id-should-spill-registers-dfg.js:
3817         * stress/try-get-by-id.js:
3818         * typeProfiler/arrow-functions.js:
3819         * typeProfiler/basic.js:
3820         * typeProfiler/captured.js:
3821         * typeProfiler/classes.js:
3822         * typeProfiler/dfg-jit-optimizations.js:
3823         * typeProfiler/dictionary-mode.js:
3824         * typeProfiler/es6-block-scoping.js:
3825         * typeProfiler/es6-classes.js:
3826         * typeProfiler/inheritance.js:
3827         * typeProfiler/int52-dfg.js:
3828         * typeProfiler/loop.js:
3829         * typeProfiler/optional-fields.js:
3830         * typeProfiler/overflow.js:
3831         * typeProfiler/return.js:
3832         * typeProfiler/symbol.js:
3833         * typeProfiler/weird-prototype-chain.js:
3834
3835 2017-11-21  Yusuke Suzuki  <utatane.tea@gmail.com>
3836
3837         [DFG][FTL] Support MapSet / SetAdd intrinsics
3838         https://bugs.webkit.org/show_bug.cgi?id=179858
3839
3840         Reviewed by Saam Barati.
3841
3842         * microbenchmarks/map-has-and-set.js: Added.
3843         (test):
3844         * stress/map-set-check-failure.js: Added.
3845         (shouldBe):
3846         (shouldThrow):
3847         (target):
3848         * stress/map-set-cse.js: Added.
3849         (shouldBe):
3850         (test):
3851         * stress/set-add-check-failure.js: Added.
3852         (shouldBe):
3853         (shouldThrow):
3854         (set shouldThrow):
3855         * stress/set-add-cse.js: Added.
3856         (shouldBe):
3857
3858 2017-11-21  Yusuke Suzuki  <utatane.tea@gmail.com>
3859
3860         [JSC] Allow poly proto for intrinsic getters
3861         https://bugs.webkit.org/show_bug.cgi?id=179550
3862
3863         Reviewed by Saam Barati.
3864
3865         This change is also tested by existing tests.
3866
3867             1. stress/intrinsic-getter-with-poly-proto.js
3868             2. stress/poly-proto-intrinsic-getter-correctness.js
3869
3870         * stress/intrinsic-getter-with-poly-proto-getter-change.js: Added.
3871         (shouldBe):
3872         (makePolyProtoObject.foo.C):
3873         (makePolyProtoObject.foo):
3874         (makePolyProtoObject):
3875         (target):
3876         * stress/intrinsic-getter-with-poly-proto-proto-change.js: Added.
3877         (shouldBe):
3878         (makePolyProtoObject.foo.C):
3879         (makePolyProtoObject.foo):
3880         (makePolyProtoObject):
3881         (target):
3882
3883 2017-11-20  Guillaume Emont  <guijemont@igalia.com>
3884
3885         Skip stress/unshiftCountSlowCase-correct-postCapacity.js on embedded Linux
3886         https://bugs.webkit.org/show_bug.cgi?id=179744
3887
3888         Reviewed by Michael Catanzaro.
3889
3890         This test uses too much memory for our buildbots on these platforms
3891         and gets OOM-killed.
3892
3893         * stress/unshiftCountSlowCase-correct-postCapacity.js:
3894         Skip if $memoryLimited and linux.
3895
3896 2017-11-17  JF Bastien  <jfbastien@apple.com>
3897
3898         WebAssembly JS API: throw when a promise can't be created
3899         https://bugs.webkit.org/show_bug.cgi?id=179826
3900         <rdar://problem/35455813>
3901
3902         Reviewed by Mark Lam.
3903
3904         Test WebAssembly.{compile,instantiate} where promise creation
3905         fails because of a stack overflow.
3906
3907         * wasm/js-api/promise-stack-overflow.js: Added.
3908         (const.runNearStackLimit.f.const.t):
3909         (async.testCompile):
3910         (async.testInstantiate):
3911
3912 2017-11-16  Yusuke Suzuki  <utatane.tea@gmail.com>
3913
3914         Unreviewed, mark regress-178385.js as memory exhausting
3915
3916         * stress/regress-178385.js:
3917
3918 2017-11-16  Ryan Haddad  <ryanhaddad@apple.com>
3919
3920         Mark test262/test/language/statements/class/definition/fn-name-static-precedence.js as passing after r224927.
3921
3922         Unreviewed test gardening.
3923
3924         * test262.yaml:
3925
3926 2017-11-16  Robin Morisset  <rmorisset@apple.com>
3927
3928         REGRESSION (r224592): oss-fuzz: jsc: Null-dereference READ in JSC::JSCell::isObject (4216)
3929         https://bugs.webkit.org/show_bug.cgi?id=179763
3930         <rdar://problem/35550513>
3931
3932         Reviewed by Keith Miller.
3933
3934         Just adding a slightly cleaned-up version of the original fuzzer-found test.
3935
3936         * stress/tdz-this-in-try-catch.js: Added.
3937         (__v_6388):
3938         (__v_6392):
3939
3940 2017-11-14  Yusuke Suzuki  <utatane.tea@gmail.com>
3941
3942         [DFG][FTL] Support Array::DirectArguments with OutOfBounds
3943         https://bugs.webkit.org/show_bug.cgi?id=179594
3944
3945         Reviewed by Saam Barati.
3946
3947         * stress/direct-arguments-in-bounds-to-out-of-bounds.js: Added.
3948         (shouldBe):
3949         (args):
3950         * stress/direct-arguments-out-of-bounds-watchpoint.js: Added.
3951         (shouldBe):
3952         (args):
3953
3954 2017-11-14  Saam Barati  <sbarati@apple.com>
3955
3956         We need to set topCallFrame when calling Wasm::Memory::grow from the JIT
3957         https://bugs.webkit.org/show_bug.cgi?id=179639
3958         <rdar://problem/35513018>
3959
3960         Reviewed by JF Bastien.
3961
3962         * wasm/function-tests/grow-memory-cause-gc.js: Added.
3963         (escape):
3964         (i.func):
3965
3966 2017-11-13  Mark Lam  <mark.lam@apple.com>
3967
3968         Add more overflow check book-keeping for MarkedArgumentBuffer.
3969         https://bugs.webkit.org/show_bug.cgi?id=179634
3970         <rdar://problem/35492517>
3971
3972         Reviewed by Saam Barati.
3973
3974         * stress/regress-179634.js: Added.
3975
3976 2017-11-13  Mark Lam  <mark.lam@apple.com>
3977
3978         Make the jsc shell loadGetterFromGetterSetter() function more robust.
3979         https://bugs.webkit.org/show_bug.cgi?id=179619
3980         <rdar://problem/35492518>
3981
3982         Reviewed by Saam Barati.
3983
3984         * stress/regress-179619.js: Added.
3985
3986 2017-11-12  Mark Lam  <mark.lam@apple.com>
3987
3988         We should ensure that operationStrCat2 and operationStrCat3 are never passed Symbols as arguments.
3989         https://bugs.webkit.org/show_bug.cgi?id=179562
3990         <rdar://problem/35467022>
3991
3992         Reviewed by Saam Barati.
3993
3994         * regress-179562.js: Added.
3995
3996 2017-11-08  Saam Barati  <sbarati@apple.com>
3997
3998         A JSFunction's ObjectAllocationProfile should watch the poly prototype watchpoint so it can clear its object allocation profile
3999         https://bugs.webkit.org/show_bug.cgi?id=177792
4000
4001         Reviewed by Yusuke Suzuki.
4002
4003         * microbenchmarks/poly-proto-clear-js-function-allocation-profile.js: Added.
4004         (assert):
4005         (foo.Foo.prototype.ensureX):
4006         (foo.Foo):
4007         (foo):
4008         (access):
4009
4010 2017-11-08  Ryan Haddad  <ryanhaddad@apple.com>
4011
4012         Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
4013         https://bugs.webkit.org/show_bug.cgi?id=178592
4014
4015         Unreviewed test gardening.
4016
4017         * test262.yaml:
4018
4019 2017-11-08  Robin Morisset  <rmorisset@apple.com>
4020
4021         Turn recursive tail calls into loops
4022         https://bugs.webkit.org/show_bug.cgi?id=176601
4023
4024         Reviewed by Saam Barati.
4025
4026         Relanding after https://bugs.webkit.org/show_bug.cgi?id=178834.
4027
4028         Add some simple test that computes factorial in several ways, and other trivial computations.
4029         They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
4030         Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
4031         I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
4032         (which it doesn't if that tail call is transformed into a loop in the unsound cases).
4033
4034         * stress/inline-call-to-recursive-tail-call.js: Added.
4035         (factorial.aux):
4036         (factorial):
4037         (factorial2.aux2):
4038         (factorial2.id):
4039         (factorial2):
4040         (factorial3.aux3):
4041         (factorial3):
4042         (aux4):
4043         (factorial4):
4044         (foo):
4045         (auxBar):
4046         (bar):
4047         (test):
4048
4049 2017-11-07  Mark Lam  <mark.lam@apple.com>
4050
4051         AccessCase::generateImpl() should exclude the result register when restoring registers after a call.
4052         https://bugs.webkit.org/show_bug.cgi?id=179355
4053         <rdar://problem/35263053>
4054
4055         Reviewed by Saam Barati.
4056
4057         * stress/regress-179355.js: Added.
4058
4059 2017-11-05  Yusuke Suzuki  <utatane.tea@gmail.com>
4060
4061         JIT call inline caches should cache calls to objects with getCallData/getConstructData traps
4062         https://bugs.webkit.org/show_bug.cgi?id=144458
4063
4064         Reviewed by Saam Barati.
4065
4066         * microbenchmarks/dfg-internal-function-call.js: Added.
4067         (target):
4068         * microbenchmarks/dfg-internal-function-construct.js: Added.
4069         (target):
4070         * microbenchmarks/dfg-internal-function-not-handled-call.js: Added.
4071         (target):
4072         * microbenchmarks/dfg-internal-function-not-handled-construct.js: Added.
4073         (target):
4074         * stress/dfg-internal-function-call.js: Added.
4075         (shouldBe):
4076         (target):
4077         * stress/dfg-internal-function-construct.js: Added.
4078         (shouldBe):
4079         (target):
4080         * stress/internal-function-call.js: Added.
4081         (shouldBe):
4082         * stress/internal-function-construct.js: Added.
4083         (shouldBe):
4084
4085 2017-11-05  Per Arne Vollan  <pvollan@apple.com>
4086
4087         [Win] Skip stress/regress-178385.js.
4088         https://bugs.webkit.org/show_bug.cgi?id=179298
4089
4090         Unreviewed test gardening.
4091
4092         * stress/regress-178385.js:
4093
4094 2017-11-03  Keith Miller  <keith_miller@apple.com>
4095
4096         Add test for ic with side effects
4097         https://bugs.webkit.org/show_bug.cgi?id=179268
4098
4099         Reviewed by Saam Barati.
4100
4101         * stress/put-inline-cache-side-effects.js: Added.
4102         (let.i.of.objs.keys):
4103         (f):
4104
4105 2017-11-03  Mark Lam  <mark.lam@apple.com>
4106
4107         CachedCall (and its clients) needs overflow checks.
4108         https://bugs.webkit.org/show_bug.cgi?id=179185
4109
4110         Reviewed by JF Bastien.
4111
4112         * stress/regress-179185.js: Added.
4113
4114 2017-11-02  Michael Saboff  <msaboff@apple.com>
4115
4116         DFG needs to handle code motion of code in for..in loop bodies
4117         https://bugs.webkit.org/show_bug.cgi?id=179212
4118
4119         Reviewed by Keith Miller.
4120
4121         New regression test.
4122
4123         * stress/for-in-side-effects.js: Added.
4124         (getPrototypeOf):
4125         (reset):
4126         (testWithoutFTL.f):
4127         (testWithoutFTL):
4128         (testWithFTL.f):
4129         (testWithFTL):
4130
4131 2017-11-02  Filip Pizlo  <fpizlo@apple.com>
4132
4133         AI does not correctly model the clobber case of ArithClz32
4134         https://bugs.webkit.org/show_bug.cgi?id=179188
4135
4136         Reviewed by Michael Saboff.
4137
4138         * stress/arith-clz32-effects.js: Added.
4139         (foo):
4140         (valueOf):
4141
4142 2017-11-01  Michael Saboff  <msaboff@apple.com>
4143
4144         Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
4145         https://bugs.webkit.org/show_bug.cgi?id=179140
4146
4147         Reviewed by Saam Barati.
4148
4149         New regression test.
4150
4151         * stress/regress-179140.js: Added.
4152         (testWithoutFTL):
4153         (testWithFTL):
4154
4155 2017-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
4156
4157         [JSC] Introduce @toObject
4158         https://bugs.webkit.org/show_bug.cgi?id=178726
4159
4160         Reviewed by Saam Barati.
4161
4162         * stress/array-copywithin.js:
4163         (shouldThrow):
4164         * stress/object-constructor-boolean-edge.js: Added.
4165         (shouldBe):
4166         (test):
4167         * stress/object-constructor-global.js: Added.
4168         (shouldBe):
4169         * stress/object-constructor-null-edge.js: Added.
4170         (shouldBe):
4171         (test):
4172         * stress/object-constructor-number-edge.js: Added.
4173         (shouldBe):
4174         (test):
4175         * stress/object-constructor-object-edge.js: Added.
4176         (shouldBe):
4177         (test):
4178         (i.arg):
4179         * stress/object-constructor-string-edge.js: Added.
4180         (shouldBe):
4181         (test):
4182         * stress/object-constructor-symbol-edge.js: Added.
4183         (shouldBe):
4184         (test):
4185         * stress/object-constructor-undefined-edge.js: Added.
4186         (shouldBe):
4187         (test):
4188         * stress/symbol-array-from.js: Added.
4189         (shouldBe):
4190         * stress/to-object-intrinsic-boolean-edge.js: Added.
4191         (shouldBe):
4192         (builtin.createBuiltin):
4193         * stress/to-object-intrinsic-null-or-undefined-edge.js: Added.
4194         (shouldThrow):
4195         * stress/to-object-intrinsic-number-edge.js: Added.
4196         (shouldBe):
4197         (builtin.createBuiltin):
4198         * stress/to-object-intrinsic-object-edge.js: Added.
4199         (shouldBe):
4200         (builtin.createBuiltin):
4201         (i.arg):
4202         * stress/to-object-intrinsic-string-edge.js: Added.
4203         (shouldBe):
4204         (builtin.createBuiltin):
4205         * stress/to-object-intrinsic-symbol-edge.js: Added.
4206         (shouldBe):
4207         (builtin.createBuiltin):
4208         * stress/to-object-intrinsic.js: Added.
4209         (shouldBe):
4210         (shouldThrow):
4211         (builtin.createBuiltin):
4212
4213 2017-10-27  Yusuke Suzuki  <utatane.tea@gmail.com>
4214
4215         [DFG][FTL] Introduce StringSlice
4216         https://bugs.webkit.org/show_bug.cgi?id=178934
4217
4218         Reviewed by Saam Barati.
4219
4220         * microbenchmarks/string-slice-empty.js: Added.
4221         (slice):
4222         * microbenchmarks/string-slice-one-char.js: Added.
4223         (slice):
4224         * microbenchmarks/string-slice.js: Added.
4225         (slice):
4226
4227 2017-10-26  Michael Saboff  <msaboff@apple.com>
4228
4229         REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum
4230         https://bugs.webkit.org/show_bug.cgi?id=178890
4231
4232         Reviewed by Keith Miller.
4233
4234         New regression test.
4235
4236         * stress/regress-178890.js: Added.
4237
4238 2017-10-26  Mark Lam  <mark.lam@apple.com>
4239
4240         JSRopeString::RopeBuilder::append() should check for overflows.
4241         https://bugs.webkit.org/show_bug.cgi?id=178385
4242         <rdar://problem/35027468>
4243
4244         Reviewed by Saam Barati.
4245
4246         * stress/regress-178385.js: Added.
4247
4248 2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>
4249
4250         Unreviewed, rolling out r223961.
4251
4252         The change that required this has been rolled out.
4253
4254         Reverted changeset:
4255
4256         "Mark test262.yaml/test262/test/language/statements/try/tco-
4257         catch.js as passing."
4258         https://bugs.webkit.org/show_bug.cgi?id=178592
4259         https://trac.webkit.org/changeset/223961
4260
4261 2017-10-25  Commit Queue  <commit-queue@webkit.org>
4262
4263         Unreviewed, rolling out r223691 and r223729.
4264         https://bugs.webkit.org/show_bug.cgi?id=178834
4265
4266         Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
4267         by rniwa on #webkit).
4268
4269         Reverted changesets:
4270
4271         "Turn recursive tail calls into loops"
4272         https://bugs.webkit.org/show_bug.cgi?id=176601
4273         https://trac.webkit.org/changeset/223691
4274
4275         "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
4276         comparison is always false due to limited range of data type
4277         [-Wtype-limits]"
4278         https://bugs.webkit.org/show_bug.cgi?id=178543
4279         https://trac.webkit.org/changeset/223729
4280
4281 2017-10-25  Ryan Haddad  <ryanhaddad@apple.com>
4282
4283         Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
4284         https://bugs.webkit.org/show_bug.cgi?id=178592
4285
4286         Unreviewed test gardening.
4287
4288         * test262.yaml:
4289
4290 2017-10-24  Yusuke Suzuki  <utatane.tea@gmail.com>
4291
4292         [FTL] Support NewStringObject
4293         https://bugs.webkit.org/show_bug.cgi?id=178737
4294
4295         Reviewed by Saam Barati.
4296
4297         * stress/new-string-object.js: Added.
4298         (shouldBe):
4299         (test):
4300
4301 2017-10-15  Yusuke Suzuki  <utatane.tea@gmail.com>
4302
4303         [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
4304         https://bugs.webkit.org/show_bug.cgi?id=178308
4305
4306         Reviewed by Mark Lam.
4307
4308         * test262.yaml:
4309
4310 2017-10-23  Yusuke Suzuki  <utatane.tea@gmail.com>
4311
4312         [JSC] Use fastJoin in Array#toString
4313         https://bugs.webkit.org/show_bug.cgi?id=178062
4314
4315         Reviewed by Darin Adler.
4316
4317         * microbenchmarks/contiguous-array-t