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