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