TryGetById should have a ValueProfile so that it can predict its output type
[WebKit-https.git] / JSTests / ChangeLog
1 2016-08-25  JF Bastien  <jfbastien@apple.com>
2
3         TryGetById should have a ValueProfile so that it can predict its output type
4         https://bugs.webkit.org/show_bug.cgi?id=160921
5
6         Reviewed by Saam Barati.
7
8         * microbenchmarks/try-get-by-id-basic.js: Added.
9         (const.check):
10         (const.bench.f.const.fooPlusBar.createBuiltin):
11         * microbenchmarks/try-get-by-id-polymorphic.js: Added.
12         (const.check):
13         (fooPlusBar.createBuiltin):
14         (bench):
15
16 2016-08-25  Caio Lima  <ticaiolima@gmail.com>
17
18         NewRegexp should not prevent inlining
19         https://bugs.webkit.org/show_bug.cgi?id=154808
20
21         Reviewed by Geoffrey Garen.
22
23         Added test where functions with NewRegExp can be inlined right now.
24
25         * stress/new-regex-inline.js: Added.
26         (assert):
27         (testRegexpInline):
28         (toInlineGlobal):
29         (withRegexp):
30         (inlineRegexpNotGlobal):
31         (toInlineRecursive):
32         (regexpContainsRecursive):
33
34 2016-08-24  Benjamin Poulain  <benjamin@webkit.org>
35
36         [JSC] Make FRound work with any type
37         https://bugs.webkit.org/show_bug.cgi?id=161129
38
39         Reviewed by Geoffrey Garen.
40
41         * stress/arith-fround-on-various-types.js: Added.
42
43 2016-08-24  Filip Pizlo  <fpizlo@apple.com>
44
45         Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
46
47         * stress/array-storage-array-unshift.js: Removed.
48         * stress/contiguous-array-unshift.js: Removed.
49         * stress/double-array-unshift.js: Removed.
50         * stress/int32-array-unshift.js: Removed.
51
52 2016-08-24  Skachkov Oleksandr  <gskachkov@gmail.com>
53
54         [ES2016] Allow assignment in for-in head in not-strict mode
55         https://bugs.webkit.org/show_bug.cgi?id=160955
56
57         Reviewed by Saam Barati.
58
59         * stress/for-in-tests.js:
60         (foo):
61         (boo):
62         (catch):
63
64 2016-08-23  Benjamin Poulain  <benjamin@webkit.org>
65
66         [JSC] Make ArithLog works with any type
67         https://bugs.webkit.org/show_bug.cgi?id=161110
68
69         Reviewed by Geoffrey Garen.
70
71         * stress/arith-log-on-various-types.js: Added.
72
73 2016-08-23  Saam Barati  <sbarati@apple.com>
74
75         JSC should have a "microbenchmarks" directory instead of "regress" directory
76         https://bugs.webkit.org/show_bug.cgi?id=161096
77
78         Rubber stamped by Mark Lam.
79
80         * microbenchmarks: Copied from LayoutTests/js/regress/script-tests.
81
82 2016-08-23  Keith Miller  <keith_miller@apple.com>
83
84         %TypedArray%.prototype.slice needs to check that the source and destination have not been detached.
85         https://bugs.webkit.org/show_bug.cgi?id=161031
86         <rdar://problem/27937019>
87
88         Reviewed by Geoffrey Garen.
89
90         * stress/typedarray-slice.js:
91         (get let):
92         (get try):
93         (testSpeciesWithTransferring):
94
95 2016-08-22  Filip Pizlo  <fpizlo@apple.com>
96
97         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
98         https://bugs.webkit.org/show_bug.cgi?id=160125
99
100         Reviewed by Geoffrey Garen.
101         
102         Most of the things I did properly covered by existing tests, but I found some simple cases of
103         unshifting that had sketchy coverage.
104
105         * stress/array-storage-array-unshift.js: Added.
106         * stress/contiguous-array-unshift.js: Added.
107         * stress/double-array-unshift.js: Added.
108         * stress/int32-array-unshift.js: Added.
109
110 2016-08-23  Keith Miller  <keith_miller@apple.com>
111
112         Update/add new test262 tests
113         https://bugs.webkit.org/show_bug.cgi?id=161098
114
115         Reviewed by Saam Barati.
116
117         * test262.yaml:
118         * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
119         * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
120         * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
121         * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
122         (a):
123         * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
124         * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
125         * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
126         * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
127         (AsyncFunction.async.foo):
128         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
129         (AsyncFunction.async):
130         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
131         (async.foo):
132         * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
133         (AsyncFunction.async.foo):
134         * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
135         (AsyncFunction.async.foo):
136         * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
137         (AsyncFunction.async.foo):
138         * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
139         (AsyncFunction.async.foo):
140         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
141         (AsyncFunction.async.foo):
142         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
143         (AsyncFunction.async.foo):
144         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
145         (AsyncFunction.async.foo):
146         * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
147         (async.foo):
148         * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
149         (async.foo):
150         * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
151         (async.l0):
152         (async.l1):
153         (async.l2):
154         * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
155         (async.foo):
156         * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
157         * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
158         * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
159         * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
160         * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
161         * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
162         * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
163         * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
164         * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
165         * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
166         * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
167         * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
168         * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
169         * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
170         * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
171         * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
172         * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
173         * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
174         * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
175         * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
176         * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
177         * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
178         * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
179         * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
180         * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
181         * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
182         * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
183         * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
184         * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
185         * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
186         * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
187         * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
188         * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
189         * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
190         * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
191         * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
192         * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
193         * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
194         * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
195         * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
196         * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
197         * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
198         * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
199         * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
200         * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
201         * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
202         * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
203         * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
204         * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
205         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
206         (A):
207         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
208         (A):
209         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
210         (A):
211         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
212         (A):
213         * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
214         (async.f):
215         * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
216         (async.f):
217         * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
218         (let.f.async.f):
219         * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
220         (let.f.async.f):
221         (let.g.async.string_appeared_here):
222         * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
223         (defineProperty):
224         * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
225         (deleteProperty):
226         * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
227         (uncoercible.valueOf):
228         (get if):
229         * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
230         (get if):
231         * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
232         * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
233         (thrower):
234         * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
235         (defineProperty):
236         * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
237         (deleteProperty):
238         * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
239         (ownKeys):
240         * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
241         * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
242         * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
243         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
244         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
245         (fd1.valueOf):
246         (fd2.toString):
247         * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
248         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
249         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
250         * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
251         * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
252         * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
253         * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
254         * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
255         (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
256         (badProxyHandlers.allowProxyTraps.ownKeys):
257         * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
258         (setPrototypeOf): Deleted.
259         * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
260         (target.new.Proxy.Object.create.isExtensible):
261         (target.new.Proxy.Object.create.getPrototypeOf):
262         (target.new.Proxy.Object.create):
263         (setPrototypeOf):
264         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
265         (setPrototypeOf):
266         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
267         (setPrototypeOf):
268         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
269         (setPrototypeOf): Deleted.
270         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
271         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
272         (isExtensible):
273         (setPrototypeOf):
274         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
275         (getPrototypeOf):
276         (setPrototypeOf):
277         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
278         (setPrototypeOf):
279         * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
280         (setPrototypeOf): Deleted.
281         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
282         (isExtensible):
283         (setPrototypeOf):
284         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
285         (isExtensible):
286         (getPrototypeOf):
287         (setPrototypeOf):
288         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
289         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
290         (setPrototypeOf):
291         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
292         * test262/test/built-ins/RegExp/lastIndex.js: Added.
293         * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
294         * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
295         (get Object):
296         * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
297         (get Object):
298         * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
299         * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
300         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
301         (get Object):
302         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
303         (get Object):
304         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
305         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
306         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
307         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
308         (__re.hasOwnProperty): Deleted.
309         (__re.propertyIsEnumerable): Deleted.
310         (count.0): Deleted.
311         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
312         (__re.hasOwnProperty): Deleted.
313         (catch): Deleted.
314         * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
315         * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
316         (get Object):
317         * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
318         (get Object):
319         * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
320         * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
321         * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
322         * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
323         (get Object):
324         * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
325         (get Object):
326         * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
327         * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
328         * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
329         * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
330         * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
331         * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
332         * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
333         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
334         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
335         * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
336         * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
337         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
338         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
339         * test262/test/built-ins/String/numeric-properties.js: Added.
340         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
341         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
342         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
343         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
344         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
345         (reduce):
346         (compareFTPtoFormat):
347         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
348         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
349         (obj1.valueOf):
350         (obj2.toString):
351         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
352         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
353         * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
354         * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
355         * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
356         (reduce):
357         (compareFTPtoFormat):
358         * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
359         * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
360         (obj1.valueOf):
361         (obj2.toString):
362         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
363         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
364         * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
365         (foo): Deleted.
366         * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
367         (dflt):
368         * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
369         (dstr):
370         * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
371         (rest):
372         * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
373         (foo):
374         * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
375         (f): Deleted.
376         * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
377         (catch):
378         * test262/test/language/eval-code/direct/super-call-fn.js: Added.
379         (f):
380         * test262/test/language/eval-code/direct/super-call.js: Added.
381         (catch):
382         * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
383         (catch):
384         * test262/test/language/eval-code/direct/super-prop-method.js: Added.
385         (o.method):
386         * test262/test/language/eval-code/direct/super-prop.js: Added.
387         (catch):
388         * test262/test/language/eval-code/indirect/super-call.js: Added.
389         (catch):
390         (try.m):
391         * test262/test/language/eval-code/indirect/super-prop.js: Added.
392         (catch):
393         (try.m):
394         * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
395         (assert.sameValue):
396         * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
397         * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
398         (p.then):
399         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
400         (async):
401         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
402         (async):
403         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
404         (async):
405         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
406         (async):
407         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
408         (async):
409         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
410         (async):
411         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
412         (async):
413         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
414         (async):
415         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
416         (async):
417         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
418         (async.foo.super):
419         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
420         (async):
421         * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
422         (async):
423         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
424         (async.arguments):
425         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
426         (async.eval):
427         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
428         (async.foo):
429         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
430         (async.foo):
431         * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
432         (async.foo):
433         * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
434         (async.foo):
435         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
436         (async.foo):
437         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
438         (async.foo):
439         * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
440         (async.foo):
441         * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
442         (p.async):
443         * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
444         (async.foo):
445         * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
446         (async.await):
447         * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
448         (async.foo.await):
449         (async.foo):
450         * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
451         (async.foo):
452         * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
453         (thenable.then):
454         (async.foo):
455         * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
456         (thenable.then):
457         (async.foo):
458         * test262/test/language/expressions/await/await-in-function.js: Added.
459         (foo):
460         * test262/test/language/expressions/await/await-in-generator.js: Added.
461         (foo):
462         * test262/test/language/expressions/await/await-in-global.js: Added.
463         * test262/test/language/expressions/await/await-in-nested-function.js: Added.
464         (async.foo.bar):
465         (async.foo):
466         * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
467         (async.foo.bar):
468         (async.foo):
469         * test262/test/language/expressions/await/await-throws-rejections.js: Added.
470         (async.foo):
471         * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
472         (async.foo):
473         * test262/test/language/expressions/await/no-operand.js: Added.
474         (async.foo):
475         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
476         (async.foo):
477         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
478         (async.foo):
479         * test262/test/language/expressions/call/trailing-comma.js: Added.
480         (foo):
481         * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
482         (f):
483         * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
484         (f):
485         * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
486         (f1):
487         (f2):
488         * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
489         (assert.sameValue):
490         * test262/test/language/expressions/function/params-trailing-comma.js: Added.
491         * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
492         (g):
493         * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
494         (g):
495         * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
496         (f1):
497         (f2):
498         * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
499         (assert.sameValue):
500         * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
501         * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
502         * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
503         (sup.method):
504         (child.async.method):
505         * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
506         (sup.method):
507         (child.async.method.x.super.method):
508         * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
509         (foo):
510         * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
511         (async.foo):
512         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
513         (async.foo):
514         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
515         (async.foo):
516         * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
517         (async.foo):
518         * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
519         (async.foo):
520         * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
521         (async.foo):
522         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
523         (async.foo):
524         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
525         (async.foo.foo.super):
526         * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
527         (obj.async.method):
528         * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
529         (obj.f1):
530         (obj.f2):
531         * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
532         (obj.one):
533         (obj.two):
534         * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
535         (m):
536         * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
537         (one):
538         (two):
539         * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
540         (f):
541         * test262/test/language/global-code/decl-func.js: Added.
542         (brandNew):
543         * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
544         * test262/test/language/global-code/decl-lex-deletion.js: Added.
545         (test262class):
546         * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
547         * test262/test/language/global-code/decl-lex.js: Added.
548         (test262class):
549         * test262/test/language/global-code/decl-var.js: Added.
550         * test262/test/language/global-code/return.js: Added.
551         * test262/test/language/global-code/script-decl-func-dups.js: Added.
552         * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
553         * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
554         * test262/test/language/global-code/script-decl-func.js: Added.
555         * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
556         * test262/test/language/global-code/script-decl-lex-lex.js: Added.
557         (test262Class):
558         * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
559         * test262/test/language/global-code/script-decl-lex-var.js: Added.
560         (test262Fn):
561         * test262/test/language/global-code/script-decl-lex.js: Added.
562         * test262/test/language/global-code/script-decl-var-collision.js: Added.
563         (test262Class):
564         * test262/test/language/global-code/script-decl-var-err.js: Added.
565         * test262/test/language/global-code/script-decl-var.js: Added.
566         * test262/test/language/global-code/super-call-arrow.js: Added.
567         * test262/test/language/global-code/super-call.js: Added.
568         * test262/test/language/global-code/super-prop-arrow.js: Added.
569         * test262/test/language/global-code/super-prop.js: Added.
570         * test262/test/language/global-code/yield-non-strict.js: Added.
571         (catch):
572         * test262/test/language/global-code/yield-strict.js: Added.
573         * test262/test/language/literals/regexp/lastIndex.js: Added.
574         * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
575         * test262/test/language/literals/regexp/y-assertion-start.js: Added.
576         * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
577         * test262/test/language/module-code/instn-star-err-not-found.js:
578         * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
579         * test262/test/language/module-code/parse-err-return.js: Added.
580         * test262/test/language/module-code/parse-err-yield.js: Added.
581         * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
582         * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
583         (async.foo):
584         * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
585         (async.foo):
586         * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
587         (async.foo):
588         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
589         (async.foo):
590         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
591         (async.foo):
592         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
593         (async.arguments):
594         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
595         (async.eval):
596         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
597         (async.foo):
598         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
599         (async.foo):
600         * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
601         (async.foo):
602         * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
603         (async.foo):
604         * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
605         (async.foo):
606         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
607         (async.foo):
608         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
609         (async.foo):
610         * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
611         (async.foo):
612         * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
613         (async.foo):
614         (foo.then):
615         * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
616         (async.foo):
617         (foo.then):
618         * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
619         (async.foo):
620         (foo.then):
621         * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
622         (async.foo):
623         (foo.then):
624         * test262/test/language/statements/async-function/evaluation-body.js: Added.
625         (async.foo):
626         * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
627         (async.foo):
628         (foo.then):
629         * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
630         (async.foo):
631         * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
632         (async.foo):
633         * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
634         (async.foo):
635         * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
636         (async.foo):
637         * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
638         (async.foo):
639         * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
640         (async.foo):
641         * test262/test/language/statements/async-function/syntax-declaration.js: Added.
642         (async.foo):
643         (foo.then):
644         * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
645         (Foo.prototype.async.method):
646         (Foo):
647         * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
648         (Foo.prototype.async.bar):
649         (Foo):
650         * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
651         (Foo.prototype.async.foo):
652         (Foo):
653         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
654         (Foo.prototype.async.foo):
655         (Foo):
656         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
657         (Foo.prototype.async.foo):
658         (Foo):
659         * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
660         (Foo.prototype.async.foo):
661         (Foo):
662         * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
663         (Foo.prototype.async.foo):
664         (Foo):
665         * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
666         (Foo.prototype.async.foo):
667         (Foo):
668         * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
669         (Foo.async.foo):
670         (Foo):
671         * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
672         (Foo.prototype.async.foo):
673         (Foo):
674         * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
675         (A.prototype.async.method):
676         (A):
677         (B.prototype.async.method):
678         (B):
679         * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
680         (A.prototype.async.method):
681         (A):
682         (B.prototype.async.method):
683         (B):
684         * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
685         (C.prototype.f1):
686         (C.prototype.f2):
687         (C):
688         * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
689         (C.prototype.one):
690         (C.prototype.two):
691         (C):
692         * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
693         (C.prototype.m):
694         (C):
695         * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
696         (C.prototype.one):
697         (C.prototype.two):
698         (C):
699         * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
700         (f):
701         * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
702         (f):
703         * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
704         (f1):
705         (f2):
706         * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
707         (one):
708         (two):
709         * test262/test/language/statements/function/params-trailing-comma.js: Added.
710         (one):
711         (two):
712         * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
713         (g):
714         * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
715         (g):
716         * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
717         (one):
718         (two):
719         * test262/test/language/statements/generators/params-trailing-comma.js: Added.
720         (one):
721         (two):
722         * test262/test262-Revision.txt:
723
724 2016-08-23  Benjamin Poulain  <bpoulain@apple.com>
725
726         [JSC] Make Math.cos() and Math.sin() work with any argument type
727         https://bugs.webkit.org/show_bug.cgi?id=161069
728
729         Reviewed by Geoffrey Garen.
730
731         * stress/arith-cos-on-various-types.js: Added.
732         * stress/arith-sin-on-various-types.js: Added.
733
734 2016-08-23  Yusuke Suzuki  <utatane.tea@gmail.com>
735
736         [ES6] Module namespace object's Symbol.iterator method should only accept module namespace objects
737         https://bugs.webkit.org/show_bug.cgi?id=161097
738
739         Reviewed by Keith Miller.
740
741         * test262.yaml:
742
743 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
744
745         [ES6] Modules' `export default function/class` should be declaration
746         https://bugs.webkit.org/show_bug.cgi?id=160499
747
748         Reviewed by Saam Barati.
749
750         Add several module tests. And flip the failed tests flags in test262.
751
752         * modules/export-default-function-name-in-assignment-expression.js: Added.
753         (export.default):
754         * modules/export-default-function-name-in-class-declaration.js: Added.
755         * modules/export-default-function-name-in-function-declaration.js: Added.
756         (export.default):
757         * modules/export-default-function-name-in-generator-declaration.js: Added.
758         (export.default):
759         * stress/method-name.js: Added.
760         (testSyntax):
761         (testSyntaxError):
762         (testSyntaxError.Hello.prototype.hello.hello):
763         (testSyntaxError.Hello):
764         (SyntaxError.Unexpected.identifier.string_appeared_here.Expected.an.opening.string_appeared_here.before.a.method.testSyntaxError.let.obj.hello.hello):
765         (testSyntaxError.Hello.prototype.get hello):
766         (testSyntaxError.Hello.prototype.set hello):
767         * test262.yaml:
768
769 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
770
771         [ES6] Module should not allow HTML comments
772         https://bugs.webkit.org/show_bug.cgi?id=161041
773
774         Reviewed by Saam Barati.
775
776         * modules/html-comments.js: Added.
777         (shouldThrow):
778         * test262.yaml:
779
780 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
781
782         [DFG] Should not fixup AnyIntUse in 32_64
783         https://bugs.webkit.org/show_bug.cgi?id=161029
784
785         Reviewed by Saam Barati.
786
787         * typeProfiler/int52-dfg.js: Added.
788         (test):
789
790 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
791
792         Unreviewed, rolling out r204697
793         https://bugs.webkit.org/show_bug.cgi?id=161029
794
795         * typeProfiler/int52-dfg.js: Removed.
796         (test): Deleted.
797         * typeProfiler/number-filter-dfg.js: Removed.
798         (test): Deleted.
799
800 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
801
802         [DFG] Should not fixup AnyIntUse in 32_64
803         https://bugs.webkit.org/show_bug.cgi?id=161029
804
805         Reviewed by Saam Barati.
806
807         * typeProfiler/int52-dfg.js: Added.
808         (test):
809         * typeProfiler/number-filter-dfg.js: Added.
810         (test):
811
812 2016-08-19  Benjamin Poulain  <bpoulain@apple.com>
813
814         [JSC] ArithSqrt should work with any argument type
815         https://bugs.webkit.org/show_bug.cgi?id=160954
816
817         Reviewed by Saam Barati.
818
819         * stress/arith-sqrt-on-various-types.js: Added.
820         (let.validInputTypedTestCases.validInputTestCases.map):
821         (isIdentical):
822         (opaqueAllTypesSqrt):
823         (testAllTypesCall):
824         (testSingleTypeCall):
825         (opaqueSqrtForSideEffects):
826         (testSideEffect.let.testObject.valueOf):
827         (testSideEffect):
828         (opaqueSqrtForCSE):
829         (testCSE.let.testObject.valueOf):
830         (testCSE):
831         (testException.opaqueSqrtWithException):
832         (testException):
833
834 2016-08-19  Joseph Pecoraro  <pecoraro@apple.com>
835
836         Make custom Error properties (line, column, sourceURL) configurable and writable
837         https://bugs.webkit.org/show_bug.cgi?id=160984
838         <rdar://problem/27905979>
839
840         Reviewed by Saam Barati.
841
842         * stress/native-error-properties.js: Added.
843         (assert):
844         (shouldNotThrow):
845
846         (checkEmptyErrorPropertiesDescriptors):
847         (checkNonEmptyErrorPropertiesDescriptors):
848         The spec only describes the "message" property, so
849         ensure it has the right descriptor attributes.
850
851         (checkErrorPropertiesWritable):
852         Ensure common error property names are writable.
853         In strict mode this would have thrown an exception
854         if they were readonly.
855
856 2016-08-18  Mark Lam  <mark.lam@apple.com>
857
858         ScopedArguments is using the wrong owner object for a write barrier.
859         https://bugs.webkit.org/show_bug.cgi?id=160976
860         <rdar://problem/27328506>
861
862         Reviewed by Keith Miller.
863
864         * stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added.
865
866 2016-08-17  JF Bastien  <jfbastien@apple.com>
867
868         We allow assignments to const variables when in a for-in/for-of loop
869         https://bugs.webkit.org/show_bug.cgi?id=156673
870
871         Reviewed by Filip Pizlo.
872
873         * stress/for-in-of-const.js: Added.
874         (expect_nothrow):
875         (expect_throw):
876         (capture):
877
878 2016-08-17  Mark Lam  <mark.lam@apple.com>
879
880         Remove an invalid assertion in the DFG backend's GetById emitter.
881         https://bugs.webkit.org/show_bug.cgi?id=160925
882         <rdar://problem/27248961>
883
884         Reviewed by Filip Pizlo.
885
886         * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added.
887
888 2016-08-16  Ryan Haddad  <ryanhaddad@apple.com>
889
890         Unreviewed, rolling out r204464.
891
892         This is no longer needed after r204495.
893
894         Reverted changeset:
895
896         "Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js"
897         https://bugs.webkit.org/show_bug.cgi?id=160662
898         http://trac.webkit.org/changeset/204464
899
900 2016-08-15  Ryan Haddad  <ryanhaddad@apple.com>
901
902         Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js
903         https://bugs.webkit.org/show_bug.cgi?id=160662
904
905         Unreviewed test gardening.
906
907         * mozilla/ecma/LexicalConventions/7.7.3.js:
908
909 2016-08-14  Skachkov Oleksandr  <gskachkov@gmail.com>
910
911         [2016] Set correct status for test262 after implementation of Object.values&Object.entries
912         https://bugs.webkit.org/show_bug.cgi?id=160844
913
914         Reviewed by Saam Barati.
915
916         Patch contains fix statuses of specs in the test262 test collection after implementation of 
917         Object.values and Object.entries functions. Also patch contains small fixes in tests of the 
918         tests for Object.values/entries functions.
919
920         * stress/object-entries.js:
921         (Object.getOwnPropertyDescriptor):
922         * stress/object-values.js:
923         (Object.getOwnPropertyDescriptor):
924         * test262.yaml:
925
926 2016-08-12  Saam Barati  <sbarati@apple.com>
927
928         Inline store loop for CopyRest in DFG and FTL for certain array modes
929         https://bugs.webkit.org/show_bug.cgi?id=159612
930
931         Reviewed by Filip Pizlo.
932
933         * stress/rest-parameter-having-a-bad-time.js: Added.
934         * stress/rest-parameter-many-arguments.js: Added.
935         * stress/rest-parameter-various-types.js: Added.
936
937 2016-08-12  Skachkov Oleksandr  <gskachkov@gmail.com>
938
939         [ES2016] Implement Object.entries
940         https://bugs.webkit.org/show_bug.cgi?id=160412
941
942         Reviewed by Saam Barati.
943
944         Patch contains tests for Object.entries function and 
945         fix of wrong tests for Object.values function.
946
947         * stress/object-entries.js: 
948         (compare):
949         (string_appeared_here.forEach):
950         (const.getInvokedFunctions.):
951         (const.getInvokedFunctions):
952         (Array.prototype.push):
953         * stress/object-values.js:
954
955 2016-08-11  Mark Lam  <mark.lam@apple.com>
956
957         OverridesHasInstance should not branch across register allocations.
958         https://bugs.webkit.org/show_bug.cgi?id=160792
959         <rdar://problem/27361778>
960
961         Reviewed by Benjamin Poulain.
962
963         * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
964
965 2016-08-11  Mark Lam  <mark.lam@apple.com>
966
967         The jsc shell's Element host constructor should throw if it fails to construct an object.
968         https://bugs.webkit.org/show_bug.cgi?id=160773
969         <rdar://problem/27328608>
970
971         Reviewed by Saam Barati.
972
973         * stress/generational-opaque-roots.js:
974
975 2016-08-11  Mark Lam  <mark.lam@apple.com>
976
977         Disallow synchronous sweeping for eden GCs.
978         https://bugs.webkit.org/show_bug.cgi?id=160716
979
980         Reviewed by Geoffrey Garen.
981
982         * stress/eden-gc-with-retired-blocks.js: Added.
983         - This test is just in case we add back support for eden GCs with synchronous
984           sweeping in the future.
985
986 2016-08-10  Michael Saboff  <msaboff@apple.com>
987
988         Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions
989         https://bugs.webkit.org/show_bug.cgi?id=160749
990
991         Reviewed by Filip Pizlo.
992
993         New test that causes baseline GetByValWithCachedId and PutByValWithCachedId
994         stubs to be generated and then throws exceptions for those stub to handle
995         to verify that they are properly handled.
996
997         * stress/regress-160749.js: Added.
998         (testCachedGetByVal.):
999         (testCachedGetByVal.get for):
1000         (testCachedGetByVal):
1001         (testCachedPutByVal.):
1002         (testCachedPutByVal.set for):
1003         (testCachedPutByVal):
1004
1005 2016-08-10  Mark Lam  <mark.lam@apple.com>
1006
1007         DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals.
1008         https://bugs.webkit.org/show_bug.cgi?id=160755
1009         <rdar://problem/27488507>
1010
1011         Reviewed by Filip Pizlo.
1012
1013         * stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added.
1014
1015 2016-08-09  Skachkov Oleksandr  <gskachkov@gmail.com>
1016
1017         [ES2016] Implement Object.values
1018         https://bugs.webkit.org/show_bug.cgi?id=160410
1019
1020         Reviewed by Saam Barati, Yusuke Suzuki.
1021
1022         * stress/object-values.js: Added.
1023         (compare):
1024         (string_appeared_here.forEach):
1025         (const.getInvokedFunctions.):
1026         (const.getInvokedFunctions):
1027         (Array.prototype.push):
1028
1029 2016-08-09  Saam Barati  <sbarati@apple.com>
1030
1031         JSBoundFunction should lazily generate its name string
1032         https://bugs.webkit.org/show_bug.cgi?id=160678
1033         <rdar://problem/27043194>
1034
1035         Reviewed by Mark Lam.
1036
1037         * stress/bound-function-lazy-name-generation.js: Added.
1038         (assert):
1039         (test.let.f):
1040         (test.f):
1041         (test):
1042
1043 2016-08-08  Mark Lam  <mark.lam@apple.com>
1044
1045         ASSERTION FAILED: hasInlineStorage() in JSFinalObject::visitChildren().
1046         https://bugs.webkit.org/show_bug.cgi?id=160666
1047
1048         Reviewed by Keith Miller.
1049
1050         * stress/object-constructor-should-be-new-target-aware.js:
1051
1052 2016-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1053
1054         [ES6] Module namespace object should not allow unset IC
1055         https://bugs.webkit.org/show_bug.cgi?id=160553
1056
1057         Reviewed by Saam Barati.
1058
1059         * modules/namespace-object-get-property.js: Added.
1060         (import.as.ns.from.string_appeared_here.shouldThrow):
1061         * modules/namespace-object-has-property.js: Added.
1062         * modules/namespace-object-inline-caching.js: Added.
1063         (import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup):
1064         (shouldBe.lookup.lookup):
1065         (shouldBe.lookup):
1066         * modules/namespace-object-inline-caching/a.js: Added.
1067         * modules/namespace-object-inline-caching/b.js: Added.
1068         * modules/namespace-object-try-get.js: Added.
1069         (import.as.ns.from.string_appeared_here.tryGetByIdText):
1070         (tryGetByIdTextStrict):
1071         * modules/namespace-object-typed-array-fast-path.js: Added.
1072         * test262.yaml:
1073
1074 2016-08-05  Saam Barati  <sbarati@apple.com>
1075
1076         various math operations don't properly check for an exception after calling toNumber() on the lhs
1077         https://bugs.webkit.org/show_bug.cgi?id=160154
1078
1079         Reviewed by Mark Lam.
1080
1081         * stress/to-number-throws-correct-exception.js: Added.
1082         (test.let.test.runTest.):
1083         (test.let.test.runTest.get f):
1084         (test.let.test.runTest):
1085         (test.let.test):
1086         (test):
1087         (test2.runTest.):
1088         (test2.runTest.get f):
1089         (test2.runTest):
1090         (test2):
1091
1092 2016-08-05  Saam Barati  <sbarati@apple.com>
1093
1094         Assertion failure when accessing TDZ variable in catch through eval
1095         https://bugs.webkit.org/show_bug.cgi?id=160554
1096
1097         Reviewed by Mark Lam and Keith Miller.
1098
1099         * stress/catch-variables-under-tdz.js: Added.
1100         (test):
1101
1102 2016-08-04  Yusuke Suzuki  <utatane.tea@gmail.com>
1103
1104         [ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
1105         https://bugs.webkit.org/show_bug.cgi?id=160549
1106
1107         Reviewed by Saam Barati.
1108
1109         * modules/namespace-object-symbol-iterator-name.js: Added.
1110         * test262.yaml:
1111
1112 2016-08-04  Keith Miller  <keith_miller@apple.com>
1113
1114         ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
1115         https://bugs.webkit.org/show_bug.cgi?id=160562
1116
1117         Reviewed by Mark Lam.
1118
1119         * stress/instanceof-late-constant-folding.js: Added.
1120         (Constructor):
1121         (value):
1122         (body):
1123
1124 2016-08-04  Caitlin Potter  <caitp@igalia.com>
1125
1126         [JSC] fix generator-syntax.js JSTest again after yield grammar fix
1127         https://bugs.webkit.org/show_bug.cgi?id=160550
1128
1129         Reviewed by Yusuke Suzuki.
1130
1131         * stress/generator-syntax.js:
1132         (testYieldBindingIdentifier):
1133
1134 2016-08-03  Caitlin Potter  <caitp@igalia.com>
1135
1136         Clarify SyntaxErrors around yield and unskip tests
1137         https://bugs.webkit.org/show_bug.cgi?id=158460
1138
1139         Reviewed by Saam Barati.
1140
1141         Fix and unskip tests which erroneously asserted that `yield` is not a
1142         valid BindingIdentifier, and improve error message for YieldExpressions
1143         occuring in Arrow formal parameters.
1144
1145         * stress/generator-syntax.js:
1146         * stress/yield-out-of-generator.js:
1147
1148 2016-08-03  Filip Pizlo  <fpizlo@apple.com>
1149
1150         REGRESSION(r203368): broke some test262 tests
1151         https://bugs.webkit.org/show_bug.cgi?id=160479
1152
1153         Reviewed by Mark Lam.
1154         
1155         Added a stress test for this case, since we don't always run test262.
1156
1157         * stress/freeze-setter.js: Added.
1158         (let.o.set foo):
1159
1160 2016-08-03  Saam Barati  <sbarati@apple.com>
1161
1162         Implement nested rest destructuring w.r.t the ES7 spec
1163         https://bugs.webkit.org/show_bug.cgi?id=160423
1164
1165         Reviewed by Filip Pizlo.
1166
1167         * stress/destructuring-rest-element.js: Added.
1168         (assert):
1169         (test):
1170         (arr):
1171         (eq):
1172         (gen):
1173         (fakeGen.return.Symbol.iterator):
1174         (fakeGen):
1175         * stress/rest-elements.js:
1176         (testSyntaxError.String.raw):
1177         * stress/rest-parameter-is-destructuring.js: Added.
1178         (assert):
1179         (test):
1180         (foo):
1181         (bar):
1182         * test262.yaml:
1183
1184 2016-08-02  Saam Barati  <sbarati@apple.com>
1185
1186         Rename Changelog to ChangeLog
1187
1188         Rubber stamped by Keith Miller.
1189
1190         * Changelog: Removed.
1191
1192 2016-08-02  Saam Barati  <sbarati@apple.com>
1193
1194         update a class extending null w.r.t the ES7 spec
1195         https://bugs.webkit.org/show_bug.cgi?id=160417
1196
1197         Reviewed by Keith Miller.
1198
1199         * Changelog:
1200         * stress/class-derived-from-null.js: Added.
1201         (assert):
1202         (test):
1203         (test1.C):
1204         (test1):
1205         (jsNull):
1206         (test2.C):
1207         (test2):
1208         (test3.C):
1209         (test3.D):
1210         (test3.E):
1211         (test3):
1212         (test4.E):
1213         (test4):
1214         (test5.E):
1215         (test5):
1216         (test6.Base):
1217         (test6.D):
1218         (test6.E):
1219         (test6.F):
1220         (test6.G):
1221         (test6):
1222         * test262.yaml:
1223
1224 2016-08-01  Filip Pizlo  <fpizlo@apple.com>
1225
1226         Rationalize varargs stack overflow checks
1227         https://bugs.webkit.org/show_bug.cgi?id=160425
1228
1229         Reviewed by Michael Saboff.
1230
1231         * stress/arity-check-ftl-throw-more-args.js: Added.
1232         (catch):
1233
1234 2016-08-01  Keith Miller  <keith_miller@apple.com>
1235
1236         We should not keep the JavaScript tests inside the Source/JavaScriptCore/ directory.
1237         https://bugs.webkit.org/show_bug.cgi?id=160372
1238
1239         Rubber stamped by Geoffrey Garen.
1240
1241         This patch moves all the JavaScript tests from Source/JavaScriptCore/tests to
1242         a new top level directory, JSTests. Having the tests in the Source directory
1243         was both confusing an inconvenient for people that just want to checkout the
1244         source code of WebKit. Since there is no other obvious place to put all the
1245         JavaScript tests a new top level directory seemed the most sensible.
1246
1247         * tests/: Deleted.