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