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