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