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