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