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