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