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