Unreviewed, rolling out r205931.
[WebKit-https.git] / JSTests / ChangeLog
1 2016-09-15  Commit Queue  <commit-queue@webkit.org>
2
3         Unreviewed, rolling out r205931.
4         https://bugs.webkit.org/show_bug.cgi?id=162021
5
6         Tests for this change fail on 32-bit JSC bots (Requested by
7         ryanhaddad on #webkit).
8
9         Reverted changeset:
10
11         "[JSC] Make the rounding-related nodes support any type"
12         https://bugs.webkit.org/show_bug.cgi?id=161895
13         http://trac.webkit.org/changeset/205931
14
15 2016-09-15  Joseph Pecoraro  <pecoraro@apple.com>
16
17         test262: Should be a SyntaxError for duplicate parameter names in function with default parameters
18         https://bugs.webkit.org/show_bug.cgi?id=162013
19
20         Reviewed by Saam Barati.
21
22         * stress/es6-default-parameters.js:
23         * test262.yaml:
24
25 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
26
27         ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
28         https://bugs.webkit.org/show_bug.cgi?id=162003
29
30         Reviewed by Saam Barati.
31
32         * stress/spread-calling.js:
33         * test262.yaml:
34
35 2016-09-14  Michael Saboff  <msaboff@apple.com>
36
37         YARR doesn't check for invalid flags for literal regular expressions
38         https://bugs.webkit.org/show_bug.cgi?id=161995
39
40         Reviewed by Mark Lam.
41
42         New test.
43
44         * stress/regress-161995.js: Added.
45         (testStatic):
46         (catch):
47
48 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
49
50         test262: TypedArray constructors length should be 3 and configurable
51         https://bugs.webkit.org/show_bug.cgi?id=161955
52
53         Reviewed by Mark Lam.
54
55         * test262.yaml:
56
57 2016-09-14  Benjamin Poulain  <bpoulain@apple.com>
58
59         [JSC] Make the rounding-related nodes support any type
60         https://bugs.webkit.org/show_bug.cgi?id=161895
61
62         Reviewed by Geoffrey Garen.
63
64         * stress/arith-ceil-on-various-types.js: Added.
65         * stress/arith-floor-on-various-types.js: Added.
66         * stress/arith-round-on-various-types.js: Added.
67         * stress/arith-trunc-on-various-types.js: Added.
68
69 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
70
71         TaggedTemplateString function calls should emit tail position calls
72         https://bugs.webkit.org/show_bug.cgi?id=161948
73
74         Reviewed by Yusuke Suzuki.
75
76         * stress/tail-call-recognize.js:
77         (runTests):
78         Ensure a tagged template string function call is tail call.
79
80         * test262.yaml:
81         These now pass.
82
83 2016-09-14  Joseph Pecoraro  <pecoraro@apple.com>
84
85         test262: Array.prototype.slice should always set length
86         https://bugs.webkit.org/show_bug.cgi?id=161953
87
88         Reviewed by Mark Lam.
89
90         * test262.yaml:
91
92 2016-09-13  JF Bastien  <jfbastien@apple.com>
93
94         Support jsc shell builtin `read`
95         https://bugs.webkit.org/show_bug.cgi?id=161662
96
97         Reviewed by Keith Miller.
98
99         * stress/jsc-read.js: Added.
100         (test): test `read` and `readFile` shell builtins, in string and binary mode.
101
102 2016-09-12  Skachkov Oleksandr  <gskachkov@gmail.com>
103
104         ES6: Classes: Should be allowed to create a static method with name "arguments"
105         https://bugs.webkit.org/show_bug.cgi?id=152985
106
107         Reviewed by Keith Miller.
108
109         * test262.yaml:
110
111 2016-09-12  Saam Barati  <sbarati@apple.com>
112
113         Speed up Function.prototype.bind a bit by making it a builtin
114         https://bugs.webkit.org/show_bug.cgi?id=161879
115
116         Reviewed by Filip Pizlo.
117
118         * microbenchmarks/function-bind-inlining.js: Added.
119         (assert):
120         (test):
121         (test2):
122         (foo):
123         * microbenchmarks/function-bind-no-inlining.js: Added.
124         (assert):
125         (test):
126         (test2):
127         (foo):
128
129 2016-09-12  Saam Barati  <sbarati@apple.com>
130
131         HashMapImpl should take into account m_deleteCount in its load factor and it should be able to rehash the table to be smaller
132         https://bugs.webkit.org/show_bug.cgi?id=161640
133
134         Reviewed by Geoffrey Garen.
135
136         * microbenchmarks/map-rehash.js: Added.
137         * stress/map-delete.js: Added.
138         (assert):
139         * stress/map-rehash-2.js: Added.
140         (assert):
141         * stress/map-rehash.js: Added.
142         (assert):
143
144 2016-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
145
146         Unreviewed, fix tests for different libm environments
147         https://bugs.webkit.org/show_bug.cgi?id=161857
148
149         * stress/ftl-arithtan.js:
150
151 2016-09-12  Benjamin Poulain  <bpoulain@apple.com>
152
153         [JSC] Use GetArrayLength for JSArray.length even when the array type is undecided
154         https://bugs.webkit.org/show_bug.cgi?id=161671
155
156         Reviewed by Geoffrey Garen.
157
158         * stress/get-array-length-on-undecided.js: Added.
159
160 2016-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
161
162         [DFG][FTL] Add ArithTan
163         https://bugs.webkit.org/show_bug.cgi?id=161857
164
165         Reviewed by Filip Pizlo.
166
167         * microbenchmarks/tan.js: Added.
168         * stress/arith-tan-on-various-types.js: Added.
169         (let.validInputTypedTestCases.validInputTestCases.map):
170         (isIdentical):
171         (opaqueTanNoArgument):
172         (testNoArgument):
173         (opaqueAllTypesTan):
174         (testAllTypesCall):
175         (testTangleTypeCall):
176         (testConstant):
177         (opaqueTanForSideEffects):
178         (testSideEffect.let.testObject.valueOf):
179         (testSideEffect):
180         (opaqueTanForCSE):
181         (testCSE.let.testObject.valueOf):
182         (testCSE):
183         (opaqueTanForDCE):
184         (testDCE.let.testObject.valueOf):
185         (testDCE):
186         (testException.opaqueTanWithException):
187         (testException):
188         * stress/ftl-arithtan.js: Added.
189         (foo):
190
191 2016-09-12  Saam Barati  <sbarati@apple.com>
192
193         MapHash should do constant folding when it has a constant argument and its legal to hash that value
194         https://bugs.webkit.org/show_bug.cgi?id=161639
195
196         Reviewed by Filip Pizlo.
197
198         * microbenchmarks/map-constant-key.js: Added.
199         (assert):
200         (test):
201         (foo):
202
203 2016-09-12  Michael Saboff  <msaboff@apple.com>
204
205         JSC test timeout: ChakraCore.yaml/ChakraCore/test/Bugs/bug56026_trycatch.js.default
206         https://bugs.webkit.org/show_bug.cgi?id=161863
207
208         Reviewed by Saam Barati.
209
210         * ChakraCore.yaml:
211         Disabled Bugs/bug56026_trycatch.js.
212
213 2016-09-09  Michael Saboff  <msaboff@apple.com>
214
215         Unreviewed, rolling r205759 back in with a fix.
216
217         The expectation file, JSTests/ChakraCore/test/Lib/tostring.baseline-jsc,
218         should be named "toString.baseline-jsc".
219
220         * ChakraCore/test/Lib/toString.baseline-jsc: Copied from JSTests/ChakraCore/test/Lib/tostring.baseline-jsc.
221         * ChakraCore/test/Lib/tostring.baseline-jsc: Removed.
222
223 2016-09-09  Michael Saboff  <msaboff@apple.com>
224
225         Disable three flakey Chakra Tests
226         https://bugs.webkit.org/show_bug.cgi?id=161807
227
228         Reviewed by Saam Barati.
229
230         * ChakraCore.yaml: Disabled the flakey tests
231         ChakraCore/test/Array/protoLookup_native.js
232         ChakraCore/test/LetConst/delete.js
233         ChakraCore/test/fieldopts/fieldhoist_sideeffect.js
234
235 2016-09-08  Saam Barati  <sbarati@apple.com>
236
237         We should inline operationConvertJSValueToBoolean into JIT code
238         https://bugs.webkit.org/show_bug.cgi?id=161729
239
240         Reviewed by Filip Pizlo.
241
242         * stress/value-to-boolean.js: Added.
243         (assert):
244         (test1):
245         (test2):
246         (test3):
247
248 2016-09-08  Mark Lam  <mark.lam@apple.com>
249
250         REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit
251         https://bugs.webkit.org/show_bug.cgi?id=161756
252
253         Reviewed by Saam Barati.
254
255         It looks like the 32-bit JSC bot is just too slow at running this test with the
256         dfg-maximal-flush-validate-no-cjit configuration.  We'll try excluding that
257         configuration.
258
259         * stress/rest-parameter-many-arguments.js:
260
261 2016-09-08  JF Bastien  <jfbastien@apple.com>
262
263         Delete older WebAssembly tests
264         https://bugs.webkit.org/show_bug.cgi?id=161758
265
266         Reviewed by Filip Pizlo.
267
268         They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180
269
270         * stress/wasm-arithmetic-float32.js: Removed.
271         * stress/wasm-arithmetic-float64.js: Removed.
272         * stress/wasm-arithmetic-int32.js: Removed.
273         * stress/wasm-calls.js: Removed.
274         * stress/wasm-comma.js: Removed.
275         * stress/wasm-control-flow.js: Removed.
276         * stress/wasm-globals.js: Removed.
277         * stress/wasm-linear-memory.js: Removed.
278         * stress/wasm-locals.js: Removed.
279         * stress/wasm-relational.js: Removed.
280         * stress/wasm-type-conversion.js: Removed.
281         * stress/wasm/arithmetic-float32.wasm: Removed.
282         * stress/wasm/arithmetic-float64.wasm: Removed.
283         * stress/wasm/arithmetic-int32.wasm: Removed.
284         * stress/wasm/calls.wasm: Removed.
285         * stress/wasm/comma.wasm: Removed.
286         * stress/wasm/control-flow.wasm: Removed.
287         * stress/wasm/globals.wasm: Removed.
288         * stress/wasm/linear-memory.wasm: Removed.
289         * stress/wasm/locals.wasm: Removed.
290         * stress/wasm/relational.wasm: Removed.
291         * stress/wasm/type-conversion.wasm: Removed.
292
293 2016-09-08  Per Arne Vollan  <pvollan@apple.com>
294
295         [Win] Exception fuzz tests fail
296         https://bugs.webkit.org/show_bug.cgi?id=140928
297
298         Reviewed by Mark Lam.
299
300         Unskip tests.
301
302         * exceptionFuzz.yaml:
303
304 2016-09-06  Saam Barati  <sbarati@apple.com>
305
306         ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "__proto__"
307         https://bugs.webkit.org/show_bug.cgi?id=161558
308
309         Reviewed by Benjamin Poulain.
310
311         * stress/proxy-get-prototype-of.js:
312         * stress/proxy-set-prototype-of.js:
313         (let.handler.setPrototypeOf): Deleted.
314         * stress/proxy-underscore-proto.js: Added.
315         (assert):
316
317 2016-09-06  Saam Barati  <sbarati@apple.com>
318
319         Make JSMap and JSSet faster
320         https://bugs.webkit.org/show_bug.cgi?id=160989
321
322         Reviewed by Filip Pizlo.
323
324         * microbenchmarks/dense-set.js: Added.
325         (bench):
326         * microbenchmarks/large-map-iteration-with-additions.js: Added.
327         (bar):
328         (foo):
329         * microbenchmarks/large-map-iteration-with-mutation.js: Added.
330         (bar):
331         (foo):
332         * microbenchmarks/large-map-iteration.js: Added.
333         (bar):
334         (foo):
335         * microbenchmarks/map-get-get-cse.js: Added.
336         (bar):
337         (foo):
338         * microbenchmarks/map-has-get-cse-opportunity.js: Added.
339         (bar):
340         (foo):
341         * microbenchmarks/sparse-set.js: Added.
342         (bench):
343         * stress/map-cse-correctness.js: Added.
344         (assert):
345         (testHas):
346         (testGet):
347         (foo):
348         * stress/map-iteration.js: Added.
349         (assert):
350         (test1):
351         (test2):
352         (test3):
353         (test4):
354         (test5):
355         (test6):
356         (test7):
357         (test8):
358         (test9):
359         (test10):
360         (test11):
361         (test12):
362         (test13):
363         (test14):
364         (test15):
365         (test16):
366         (test17):
367         (test18):
368
369 2016-09-06  Benjamin Poulain  <bpoulain@apple.com>
370
371         [JSC] Make ArithClz32 work with Cell arguments
372         https://bugs.webkit.org/show_bug.cgi?id=161369
373
374         Reviewed by Geoffrey Garen.
375
376         * stress/arith-clz32-on-various-types.js: Added.
377
378 2016-09-06  Commit Queue  <commit-queue@webkit.org>
379
380         Unreviewed, rolling out r205504.
381         https://bugs.webkit.org/show_bug.cgi?id=161645
382
383         Broke the iOS device build (Requested by ryanhaddad on
384         #webkit).
385
386         Reverted changeset:
387
388         "Make JSMap and JSSet faster"
389         https://bugs.webkit.org/show_bug.cgi?id=160989
390         http://trac.webkit.org/changeset/205504
391
392 2016-09-06  Saam Barati  <sbarati@apple.com>
393
394         Make JSMap and JSSet faster
395         https://bugs.webkit.org/show_bug.cgi?id=160989
396
397         Reviewed by Filip Pizlo.
398
399         * microbenchmarks/dense-set.js: Added.
400         (bench):
401         * microbenchmarks/large-map-iteration-with-additions.js: Added.
402         (bar):
403         (foo):
404         * microbenchmarks/large-map-iteration-with-mutation.js: Added.
405         (bar):
406         (foo):
407         * microbenchmarks/large-map-iteration.js: Added.
408         (bar):
409         (foo):
410         * microbenchmarks/map-get-get-cse.js: Added.
411         (bar):
412         (foo):
413         * microbenchmarks/map-has-get-cse-opportunity.js: Added.
414         (bar):
415         (foo):
416         * microbenchmarks/sparse-set.js: Added.
417         (bench):
418         * stress/map-cse-correctness.js: Added.
419         (assert):
420         (testHas):
421         (testGet):
422         (foo):
423         * stress/map-iteration.js: Added.
424         (assert):
425         (test1):
426         (test2):
427         (test3):
428         (test4):
429         (test5):
430         (test6):
431         (test7):
432         (test8):
433         (test9):
434         (test10):
435         (test11):
436         (test12):
437         (test13):
438         (test14):
439         (test15):
440         (test16):
441         (test17):
442         (test18):
443
444 2016-08-31  Filip Pizlo  <fpizlo@apple.com>
445
446         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
447         https://bugs.webkit.org/show_bug.cgi?id=160125
448
449         Reviewed by Geoffrey Garen and Keith Miller.
450         
451         Most of the things I did properly covered by existing tests, but I found some simple cases of
452         unshifting that had sketchy coverage.
453
454         * stress/array-storage-array-unshift.js: Added.
455         * stress/contiguous-array-unshift.js: Added.
456         * stress/double-array-unshift.js: Added.
457         * stress/int32-array-unshift.js: Added.
458
459 2016-09-02  Michael Saboff  <msaboff@apple.com>
460
461         Unreviewed fix after importing Chakra test
462
463         * ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original
464         test contained tab characters.  I removed the tabs before landing.  This test depended
465         on the tab characters and now fails after they were removed.
466         test.
467
468 2016-09-01  Michael Saboff  <msaboff@apple.com>
469
470         Import Chakra tests to JSC
471         https://bugs.webkit.org/show_bug.cgi?id=154697
472
473         Reviewed by Saam Barati.
474
475         Added Chakra tests.  All these tests are under Chakra/test.  This is the same layout
476         for tests in the Chakra tree.
477
478         Created a ChakraCore.yaml file to be used with run-jsc-stress-tests.  This file contains
479         the tests that are run when the original Chakra runtests.py script is run.  That script
480         is the test driver for *nix platforms and does not attempt to run all tests or all
481         variations of tests.  The runtest.py driver consults rlexe.xml files in each test
482         subdirectory to determine the test to run, the options to pass to the test and how to
483         determine pass/fail of the test.  With runtests.py as the start, tests that didn't
484         pass directly where either skipped, with a message describing why or through 
485         adjustments to the test infrastructure, as described below, where made to pass.
486         
487         The only modification to the test infrastrucutre are:
488
489          1) Added simple mapping of Chakra expected exception text to JSC expected text in
490             test/UnitTestFramework/UnitTestFramework.js.  It would make sense to also
491             map some JSC specific exception text to more generic text for the cases where
492             that text contains indetifier names or other source specific strings and the
493             Chakra equivolent exception texts are generic.  
494  
495          2) Created JSC specific expected text files where it is clear that the text work
496             as expected on JSC but the test output is different.  Typically the differences
497             fall into three categories, different exception output, different output from
498             toString() of a function, slight numeric differences, and test that rely on
499             iteration order.
500
501          3) Stripped the CR's from the CR-LF line terminations of the files.  
502
503         No actual test .js files were modified.
504
505         * ChakraCore: Added.
506         * ChakraCore.yaml: Added.
507         * ChakraCore/CONTRIBUTING.md: Added.
508         * ChakraCore/LICENSE.txt: Added.
509         * ChakraCore/README.md: Added.
510         * ChakraCore/THIRD-PARTY-NOTICES.txt: Added.
511         * ChakraCore/test: Added this directory and the tests included therein.
512
513 2016-09-01  JF Bastien  <jfbastien@apple.com>
514
515         GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
516         https://bugs.webkit.org/show_bug.cgi?id=160922
517
518         Reviewed by Keith Miller.
519
520         Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
521         The value profile is used by the calc functions, which do some mild math with the result.
522         These benchmarks get ~4% faster with value profiling.
523
524         * microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
525         (A):
526         (A.prototype.set value):
527         (A.prototype.get value):
528         (B.prototype.set value):
529         (B.prototype.get value):
530         (B):
531         (const.bench):
532         * microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
533         (A):
534         (A.prototype.set value):
535         (A.prototype.get value):
536         (B.prototype.set value):
537         (B.prototype.get value):
538         (B):
539         (const.bench):
540         * microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
541         (value):
542         (A):
543         (A.prototype.set v):
544         (A.prototype.get v):
545         (B.prototype.set v):
546         (B.prototype.get v):
547         (B):
548         (const.bench):
549         * microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
550         (value):
551         (A):
552         (A.prototype.set v):
553         (A.prototype.get v):
554         (B.prototype.set v):
555         (B.prototype.get v):
556         (B):
557         (const.bench):
558
559 2016-09-01  Benjamin Poulain  <bpoulain@apple.com>
560
561         arith-abs-on-various-types.js is flaky
562
563         Unreviewed.
564
565         * stress/arith-abs-on-various-types.js:
566         Two compilation is too small for the worst case.
567         Math.abs() can be typed integer->number->untyped if we are very unlucky.
568
569 2016-09-01  Filip Pizlo  <fpizlo@apple.com>
570
571         ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
572         https://bugs.webkit.org/show_bug.cgi?id=161492
573
574         Reviewed by Mark Lam.
575         
576         This bug affected function->activation references but not object->object field references,
577         because object->object field references are !neededForMaterialization(). So, the object
578         test always passed but the activation/function test used to always fail. It passes now.
579
580         * stress/materialize-activation-referenced-from-phantom-function.js: Added.
581         (bar):
582         (inc):
583         (dec):
584         (foo):
585         (test):
586         * stress/materialize-object-referenced-from-phantom-object.js: Added.
587         (bar):
588         (foo):
589         (test):
590
591 2016-08-31  Yusuke Suzuki  <utatane.tea@gmail.com>
592
593         stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails
594         https://bugs.webkit.org/show_bug.cgi?id=161436
595
596         Reviewed by Filip Pizlo.
597
598         The test checks Math.random() correctly produces 53bit random values.
599         The test can fail by design, but this should be fairly rare.
600
601         However, when introducing, we wrap the `test()` with 1e4 to ensure the FTL compilation, and this
602         increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case.
603
604         And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information
605         and reproduce the situation easily.
606
607         * stress/random-53bit.js:
608         (test):
609
610 2016-08-29  Benjamin Poulain  <bpoulain@apple.com>
611
612         [JSC] Improve ArithAbs with polymorphic input
613         https://bugs.webkit.org/show_bug.cgi?id=161286
614
615         Reviewed by Saam Barati.
616
617         * stress/arith-abs-on-various-types.js: Added.
618         New tests.
619
620         * stress/arith-cos-on-various-types.js:
621         * stress/arith-fround-on-various-types.js:
622         * stress/arith-log-on-various-types.js:
623         * stress/arith-sin-on-various-types.js:
624         * stress/arith-sqrt-on-various-types.js:
625         Extend the existing tests to cover the DCE case.
626
627 2016-08-26  Benjamin Poulain  <benjamin@webkit.org>
628
629         [JSC] Implement CompareStrictEq(String, Untyped) in FTL
630         https://bugs.webkit.org/show_bug.cgi?id=161229
631
632         Reviewed by Geoffrey Garen.
633
634         * stress/compare-strict-eq-on-various-types.js: Added.
635
636 2016-08-26  Yusuke Suzuki  <utatane.tea@gmail.com>
637
638         [ES6] newPromiseCapabilities should check the given argument is constructor
639         https://bugs.webkit.org/show_bug.cgi?id=161226
640
641         Reviewed by Mark Lam.
642
643         The arrow function should not be a constructor. So the error should be raised.
644
645         * stress/new-promise-capabilities-requires-constructor.js: Added.
646         (shouldThrow):
647
648 2016-08-25  Benjamin Poulain  <bpoulain@apple.com>
649
650         [JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log
651         https://bugs.webkit.org/show_bug.cgi?id=161181
652
653         Reviewed by Geoffrey Garen.
654
655         Extend the tests to constants.
656         Add no-argument cases where needed.
657
658         * stress/arith-cos-on-various-types.js:
659         * stress/arith-fround-on-various-types.js:
660         * stress/arith-log-on-various-types.js:
661         * stress/arith-sin-on-various-types.js:
662         * stress/arith-sqrt-on-various-types.js:
663
664 2016-08-25  Yusuke Suzuki  <utatane.tea@gmail.com>
665
666         [DFG][FTL] Implement ES6 Generators in DFG / FTL
667         https://bugs.webkit.org/show_bug.cgi?id=152723
668
669         Reviewed by Filip Pizlo.
670
671         * stress/generator-fib-ftl-and-array.js: Added.
672         (fib):
673         * stress/generator-fib-ftl-and-object.js: Added.
674         (fib):
675         * stress/generator-fib-ftl-and-string.js: Added.
676         (fib):
677         * stress/generator-fib-ftl.js: Added.
678         (fib):
679         * stress/generator-frame-empty.js: Added.
680         (shouldThrow):
681         (shouldThrow.fib):
682         * stress/generator-reduced-save-point-put-to-scope.js: Added.
683         (shouldBe):
684         (gen):
685         * stress/generator-transfer-register-beyond-mutiple-yields.js: Added.
686         (shouldBe):
687         (gen):
688
689 2016-08-25  JF Bastien  <jfbastien@apple.com>
690
691         TryGetById should have a ValueProfile so that it can predict its output type
692         https://bugs.webkit.org/show_bug.cgi?id=160921
693
694         Reviewed by Saam Barati.
695
696         * microbenchmarks/try-get-by-id-basic.js: Added.
697         (const.check):
698         (const.bench.f.const.fooPlusBar.createBuiltin):
699         * microbenchmarks/try-get-by-id-polymorphic.js: Added.
700         (const.check):
701         (fooPlusBar.createBuiltin):
702         (bench):
703
704 2016-08-25  Caio Lima  <ticaiolima@gmail.com>
705
706         NewRegexp should not prevent inlining
707         https://bugs.webkit.org/show_bug.cgi?id=154808
708
709         Reviewed by Geoffrey Garen.
710
711         Added test where functions with NewRegExp can be inlined right now.
712
713         * stress/new-regex-inline.js: Added.
714         (assert):
715         (testRegexpInline):
716         (toInlineGlobal):
717         (withRegexp):
718         (inlineRegexpNotGlobal):
719         (toInlineRecursive):
720         (regexpContainsRecursive):
721
722 2016-08-24  Benjamin Poulain  <benjamin@webkit.org>
723
724         [JSC] Make FRound work with any type
725         https://bugs.webkit.org/show_bug.cgi?id=161129
726
727         Reviewed by Geoffrey Garen.
728
729         * stress/arith-fround-on-various-types.js: Added.
730
731 2016-08-24  Filip Pizlo  <fpizlo@apple.com>
732
733         Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
734
735         * stress/array-storage-array-unshift.js: Removed.
736         * stress/contiguous-array-unshift.js: Removed.
737         * stress/double-array-unshift.js: Removed.
738         * stress/int32-array-unshift.js: Removed.
739
740 2016-08-24  Skachkov Oleksandr  <gskachkov@gmail.com>
741
742         [ES2016] Allow assignment in for-in head in not-strict mode
743         https://bugs.webkit.org/show_bug.cgi?id=160955
744
745         Reviewed by Saam Barati.
746
747         * stress/for-in-tests.js:
748         (foo):
749         (boo):
750         (catch):
751
752 2016-08-23  Benjamin Poulain  <benjamin@webkit.org>
753
754         [JSC] Make ArithLog works with any type
755         https://bugs.webkit.org/show_bug.cgi?id=161110
756
757         Reviewed by Geoffrey Garen.
758
759         * stress/arith-log-on-various-types.js: Added.
760
761 2016-08-23  Saam Barati  <sbarati@apple.com>
762
763         JSC should have a "microbenchmarks" directory instead of "regress" directory
764         https://bugs.webkit.org/show_bug.cgi?id=161096
765
766         Rubber stamped by Mark Lam.
767
768         * microbenchmarks: Copied from LayoutTests/js/regress/script-tests.
769
770 2016-08-23  Keith Miller  <keith_miller@apple.com>
771
772         %TypedArray%.prototype.slice needs to check that the source and destination have not been detached.
773         https://bugs.webkit.org/show_bug.cgi?id=161031
774         <rdar://problem/27937019>
775
776         Reviewed by Geoffrey Garen.
777
778         * stress/typedarray-slice.js:
779         (get let):
780         (get try):
781         (testSpeciesWithTransferring):
782
783 2016-08-22  Filip Pizlo  <fpizlo@apple.com>
784
785         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
786         https://bugs.webkit.org/show_bug.cgi?id=160125
787
788         Reviewed by Geoffrey Garen.
789         
790         Most of the things I did properly covered by existing tests, but I found some simple cases of
791         unshifting that had sketchy coverage.
792
793         * stress/array-storage-array-unshift.js: Added.
794         * stress/contiguous-array-unshift.js: Added.
795         * stress/double-array-unshift.js: Added.
796         * stress/int32-array-unshift.js: Added.
797
798 2016-08-23  Keith Miller  <keith_miller@apple.com>
799
800         Update/add new test262 tests
801         https://bugs.webkit.org/show_bug.cgi?id=161098
802
803         Reviewed by Saam Barati.
804
805         * test262.yaml:
806         * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
807         * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
808         * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
809         * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
810         (a):
811         * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
812         * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
813         * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
814         * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
815         (AsyncFunction.async.foo):
816         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
817         (AsyncFunction.async):
818         * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
819         (async.foo):
820         * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
821         (AsyncFunction.async.foo):
822         * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
823         (AsyncFunction.async.foo):
824         * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
825         (AsyncFunction.async.foo):
826         * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
827         (AsyncFunction.async.foo):
828         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
829         (AsyncFunction.async.foo):
830         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
831         (AsyncFunction.async.foo):
832         * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
833         (AsyncFunction.async.foo):
834         * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
835         (async.foo):
836         * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
837         (async.foo):
838         * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
839         (async.l0):
840         (async.l1):
841         (async.l2):
842         * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
843         (async.foo):
844         * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
845         * 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.
846         * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
847         * 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.
848         * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
849         * 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.
850         * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
851         * 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.
852         * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
853         * 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.
854         * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
855         * 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.
856         * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
857         * 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.
858         * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
859         * 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.
860         * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
861         * 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.
862         * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
863         * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
864         * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
865         * 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.
866         * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
867         * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
868         * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
869         * 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.
870         * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
871         * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
872         * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
873         * 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.
874         * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
875         * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
876         * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
877         * 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.
878         * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
879         * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
880         * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
881         * 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.
882         * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
883         * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
884         * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
885         * 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.
886         * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
887         * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
888         * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
889         * 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.
890         * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
891         * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
892         * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
893         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
894         (A):
895         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
896         (A):
897         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
898         (A):
899         * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
900         (A):
901         * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
902         (async.f):
903         * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
904         (async.f):
905         * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
906         (let.f.async.f):
907         * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
908         (let.f.async.f):
909         (let.g.async.string_appeared_here):
910         * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
911         (defineProperty):
912         * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
913         (deleteProperty):
914         * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
915         (uncoercible.valueOf):
916         (get if):
917         * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
918         (get if):
919         * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
920         * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
921         (thrower):
922         * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
923         (defineProperty):
924         * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
925         (deleteProperty):
926         * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
927         (ownKeys):
928         * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
929         * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
930         * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
931         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
932         * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
933         (fd1.valueOf):
934         (fd2.toString):
935         * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
936         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
937         * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
938         * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
939         * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
940         * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
941         * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
942         * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
943         (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
944         (badProxyHandlers.allowProxyTraps.ownKeys):
945         * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
946         (setPrototypeOf): Deleted.
947         * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
948         (target.new.Proxy.Object.create.isExtensible):
949         (target.new.Proxy.Object.create.getPrototypeOf):
950         (target.new.Proxy.Object.create):
951         (setPrototypeOf):
952         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
953         (setPrototypeOf):
954         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
955         (setPrototypeOf):
956         * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
957         (setPrototypeOf): Deleted.
958         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
959         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
960         (isExtensible):
961         (setPrototypeOf):
962         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
963         (getPrototypeOf):
964         (setPrototypeOf):
965         * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
966         (setPrototypeOf):
967         * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
968         (setPrototypeOf): Deleted.
969         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
970         (isExtensible):
971         (setPrototypeOf):
972         * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
973         (isExtensible):
974         (getPrototypeOf):
975         (setPrototypeOf):
976         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
977         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
978         (setPrototypeOf):
979         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
980         * test262/test/built-ins/RegExp/lastIndex.js: Added.
981         * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
982         * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
983         (get Object):
984         * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
985         (get Object):
986         * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
987         * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
988         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
989         (get Object):
990         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
991         (get Object):
992         * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
993         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
994         * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
995         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
996         (__re.hasOwnProperty): Deleted.
997         (__re.propertyIsEnumerable): Deleted.
998         (count.0): Deleted.
999         * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
1000         (__re.hasOwnProperty): Deleted.
1001         (catch): Deleted.
1002         * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
1003         * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
1004         (get Object):
1005         * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
1006         (get Object):
1007         * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
1008         * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
1009         * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
1010         * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
1011         (get Object):
1012         * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
1013         (get Object):
1014         * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
1015         * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
1016         * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
1017         * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
1018         * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
1019         * 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.
1020         * 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.
1021         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
1022         * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
1023         * 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.
1024         * 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.
1025         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
1026         * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
1027         * test262/test/built-ins/String/numeric-properties.js: Added.
1028         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
1029         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
1030         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
1031         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
1032         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
1033         (reduce):
1034         (compareFTPtoFormat):
1035         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
1036         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
1037         (obj1.valueOf):
1038         (obj2.toString):
1039         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1040         * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1041         * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
1042         * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
1043         * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
1044         (reduce):
1045         (compareFTPtoFormat):
1046         * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
1047         * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
1048         (obj1.valueOf):
1049         (obj2.toString):
1050         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1051         * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1052         * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
1053         (foo): Deleted.
1054         * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
1055         (dflt):
1056         * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
1057         (dstr):
1058         * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
1059         (rest):
1060         * 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.
1061         (foo):
1062         * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
1063         (f): Deleted.
1064         * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
1065         (catch):
1066         * test262/test/language/eval-code/direct/super-call-fn.js: Added.
1067         (f):
1068         * test262/test/language/eval-code/direct/super-call.js: Added.
1069         (catch):
1070         * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
1071         (catch):
1072         * test262/test/language/eval-code/direct/super-prop-method.js: Added.
1073         (o.method):
1074         * test262/test/language/eval-code/direct/super-prop.js: Added.
1075         (catch):
1076         * test262/test/language/eval-code/indirect/super-call.js: Added.
1077         (catch):
1078         (try.m):
1079         * test262/test/language/eval-code/indirect/super-prop.js: Added.
1080         (catch):
1081         (try.m):
1082         * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
1083         (assert.sameValue):
1084         * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
1085         * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
1086         (p.then):
1087         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
1088         (async):
1089         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
1090         (async):
1091         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
1092         (async):
1093         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
1094         (async):
1095         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
1096         (async):
1097         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
1098         (async):
1099         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
1100         (async):
1101         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
1102         (async):
1103         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
1104         (async):
1105         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
1106         (async.foo.super):
1107         * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
1108         (async):
1109         * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
1110         (async):
1111         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
1112         (async.arguments):
1113         * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
1114         (async.eval):
1115         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
1116         (async.foo):
1117         * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
1118         (async.foo):
1119         * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
1120         (async.foo):
1121         * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
1122         (async.foo):
1123         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
1124         (async.foo):
1125         * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
1126         (async.foo):
1127         * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
1128         (async.foo):
1129         * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
1130         (p.async):
1131         * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
1132         (async.foo):
1133         * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
1134         (async.await):
1135         * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
1136         (async.foo.await):
1137         (async.foo):
1138         * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
1139         (async.foo):
1140         * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
1141         (thenable.then):
1142         (async.foo):
1143         * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
1144         (thenable.then):
1145         (async.foo):
1146         * test262/test/language/expressions/await/await-in-function.js: Added.
1147         (foo):
1148         * test262/test/language/expressions/await/await-in-generator.js: Added.
1149         (foo):
1150         * test262/test/language/expressions/await/await-in-global.js: Added.
1151         * test262/test/language/expressions/await/await-in-nested-function.js: Added.
1152         (async.foo.bar):
1153         (async.foo):
1154         * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
1155         (async.foo.bar):
1156         (async.foo):
1157         * test262/test/language/expressions/await/await-throws-rejections.js: Added.
1158         (async.foo):
1159         * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
1160         (async.foo):
1161         * test262/test/language/expressions/await/no-operand.js: Added.
1162         (async.foo):
1163         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
1164         (async.foo):
1165         * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
1166         (async.foo):
1167         * test262/test/language/expressions/call/trailing-comma.js: Added.
1168         (foo):
1169         * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
1170         (f):
1171         * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
1172         (f):
1173         * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
1174         (f1):
1175         (f2):
1176         * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
1177         (assert.sameValue):
1178         * test262/test/language/expressions/function/params-trailing-comma.js: Added.
1179         * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
1180         (g):
1181         * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
1182         (g):
1183         * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
1184         (f1):
1185         (f2):
1186         * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
1187         (assert.sameValue):
1188         * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
1189         * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
1190         * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
1191         (sup.method):
1192         (child.async.method):
1193         * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
1194         (sup.method):
1195         (child.async.method.x.super.method):
1196         * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
1197         (foo):
1198         * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
1199         (async.foo):
1200         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
1201         (async.foo):
1202         * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
1203         (async.foo):
1204         * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
1205         (async.foo):
1206         * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
1207         (async.foo):
1208         * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
1209         (async.foo):
1210         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
1211         (async.foo):
1212         * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
1213         (async.foo.foo.super):
1214         * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
1215         (obj.async.method):
1216         * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
1217         (obj.f1):
1218         (obj.f2):
1219         * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
1220         (obj.one):
1221         (obj.two):
1222         * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
1223         (m):
1224         * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
1225         (one):
1226         (two):
1227         * 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.
1228         (f):
1229         * test262/test/language/global-code/decl-func.js: Added.
1230         (brandNew):
1231         * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
1232         * test262/test/language/global-code/decl-lex-deletion.js: Added.
1233         (test262class):
1234         * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
1235         * test262/test/language/global-code/decl-lex.js: Added.
1236         (test262class):
1237         * test262/test/language/global-code/decl-var.js: Added.
1238         * test262/test/language/global-code/return.js: Added.
1239         * test262/test/language/global-code/script-decl-func-dups.js: Added.
1240         * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
1241         * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
1242         * test262/test/language/global-code/script-decl-func.js: Added.
1243         * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
1244         * test262/test/language/global-code/script-decl-lex-lex.js: Added.
1245         (test262Class):
1246         * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
1247         * test262/test/language/global-code/script-decl-lex-var.js: Added.
1248         (test262Fn):
1249         * test262/test/language/global-code/script-decl-lex.js: Added.
1250         * test262/test/language/global-code/script-decl-var-collision.js: Added.
1251         (test262Class):
1252         * test262/test/language/global-code/script-decl-var-err.js: Added.
1253         * test262/test/language/global-code/script-decl-var.js: Added.
1254         * test262/test/language/global-code/super-call-arrow.js: Added.
1255         * test262/test/language/global-code/super-call.js: Added.
1256         * test262/test/language/global-code/super-prop-arrow.js: Added.
1257         * test262/test/language/global-code/super-prop.js: Added.
1258         * test262/test/language/global-code/yield-non-strict.js: Added.
1259         (catch):
1260         * test262/test/language/global-code/yield-strict.js: Added.
1261         * test262/test/language/literals/regexp/lastIndex.js: Added.
1262         * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
1263         * test262/test/language/literals/regexp/y-assertion-start.js: Added.
1264         * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
1265         * test262/test/language/module-code/instn-star-err-not-found.js:
1266         * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
1267         * test262/test/language/module-code/parse-err-return.js: Added.
1268         * test262/test/language/module-code/parse-err-yield.js: Added.
1269         * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
1270         * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
1271         (async.foo):
1272         * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
1273         (async.foo):
1274         * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
1275         (async.foo):
1276         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
1277         (async.foo):
1278         * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
1279         (async.foo):
1280         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
1281         (async.arguments):
1282         * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
1283         (async.eval):
1284         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
1285         (async.foo):
1286         * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
1287         (async.foo):
1288         * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
1289         (async.foo):
1290         * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
1291         (async.foo):
1292         * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
1293         (async.foo):
1294         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
1295         (async.foo):
1296         * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
1297         (async.foo):
1298         * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
1299         (async.foo):
1300         * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
1301         (async.foo):
1302         (foo.then):
1303         * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
1304         (async.foo):
1305         (foo.then):
1306         * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
1307         (async.foo):
1308         (foo.then):
1309         * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
1310         (async.foo):
1311         (foo.then):
1312         * test262/test/language/statements/async-function/evaluation-body.js: Added.
1313         (async.foo):
1314         * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
1315         (async.foo):
1316         (foo.then):
1317         * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
1318         (async.foo):
1319         * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
1320         (async.foo):
1321         * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
1322         (async.foo):
1323         * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
1324         (async.foo):
1325         * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
1326         (async.foo):
1327         * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
1328         (async.foo):
1329         * test262/test/language/statements/async-function/syntax-declaration.js: Added.
1330         (async.foo):
1331         (foo.then):
1332         * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
1333         (Foo.prototype.async.method):
1334         (Foo):
1335         * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
1336         (Foo.prototype.async.bar):
1337         (Foo):
1338         * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
1339         (Foo.prototype.async.foo):
1340         (Foo):
1341         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
1342         (Foo.prototype.async.foo):
1343         (Foo):
1344         * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
1345         (Foo.prototype.async.foo):
1346         (Foo):
1347         * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
1348         (Foo.prototype.async.foo):
1349         (Foo):
1350         * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
1351         (Foo.prototype.async.foo):
1352         (Foo):
1353         * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
1354         (Foo.prototype.async.foo):
1355         (Foo):
1356         * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
1357         (Foo.async.foo):
1358         (Foo):
1359         * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
1360         (Foo.prototype.async.foo):
1361         (Foo):
1362         * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
1363         (A.prototype.async.method):
1364         (A):
1365         (B.prototype.async.method):
1366         (B):
1367         * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
1368         (A.prototype.async.method):
1369         (A):
1370         (B.prototype.async.method):
1371         (B):
1372         * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
1373         (C.prototype.f1):
1374         (C.prototype.f2):
1375         (C):
1376         * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
1377         (C.prototype.one):
1378         (C.prototype.two):
1379         (C):
1380         * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
1381         (C.prototype.m):
1382         (C):
1383         * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
1384         (C.prototype.one):
1385         (C.prototype.two):
1386         (C):
1387         * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
1388         (f):
1389         * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
1390         (f):
1391         * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
1392         (f1):
1393         (f2):
1394         * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
1395         (one):
1396         (two):
1397         * test262/test/language/statements/function/params-trailing-comma.js: Added.
1398         (one):
1399         (two):
1400         * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
1401         (g):
1402         * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
1403         (g):
1404         * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
1405         (one):
1406         (two):
1407         * test262/test/language/statements/generators/params-trailing-comma.js: Added.
1408         (one):
1409         (two):
1410         * test262/test262-Revision.txt:
1411
1412 2016-08-23  Benjamin Poulain  <bpoulain@apple.com>
1413
1414         [JSC] Make Math.cos() and Math.sin() work with any argument type
1415         https://bugs.webkit.org/show_bug.cgi?id=161069
1416
1417         Reviewed by Geoffrey Garen.
1418
1419         * stress/arith-cos-on-various-types.js: Added.
1420         * stress/arith-sin-on-various-types.js: Added.
1421
1422 2016-08-23  Yusuke Suzuki  <utatane.tea@gmail.com>
1423
1424         [ES6] Module namespace object's Symbol.iterator method should only accept module namespace objects
1425         https://bugs.webkit.org/show_bug.cgi?id=161097
1426
1427         Reviewed by Keith Miller.
1428
1429         * test262.yaml:
1430
1431 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
1432
1433         [ES6] Modules' `export default function/class` should be declaration
1434         https://bugs.webkit.org/show_bug.cgi?id=160499
1435
1436         Reviewed by Saam Barati.
1437
1438         Add several module tests. And flip the failed tests flags in test262.
1439
1440         * modules/export-default-function-name-in-assignment-expression.js: Added.
1441         (export.default):
1442         * modules/export-default-function-name-in-class-declaration.js: Added.
1443         * modules/export-default-function-name-in-function-declaration.js: Added.
1444         (export.default):
1445         * modules/export-default-function-name-in-generator-declaration.js: Added.
1446         (export.default):
1447         * stress/method-name.js: Added.
1448         (testSyntax):
1449         (testSyntaxError):
1450         (testSyntaxError.Hello.prototype.hello.hello):
1451         (testSyntaxError.Hello):
1452         (SyntaxError.Unexpected.identifier.string_appeared_here.Expected.an.opening.string_appeared_here.before.a.method.testSyntaxError.let.obj.hello.hello):
1453         (testSyntaxError.Hello.prototype.get hello):
1454         (testSyntaxError.Hello.prototype.set hello):
1455         * test262.yaml:
1456
1457 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
1458
1459         [ES6] Module should not allow HTML comments
1460         https://bugs.webkit.org/show_bug.cgi?id=161041
1461
1462         Reviewed by Saam Barati.
1463
1464         * modules/html-comments.js: Added.
1465         (shouldThrow):
1466         * test262.yaml:
1467
1468 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
1469
1470         [DFG] Should not fixup AnyIntUse in 32_64
1471         https://bugs.webkit.org/show_bug.cgi?id=161029
1472
1473         Reviewed by Saam Barati.
1474
1475         * typeProfiler/int52-dfg.js: Added.
1476         (test):
1477
1478 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
1479
1480         Unreviewed, rolling out r204697
1481         https://bugs.webkit.org/show_bug.cgi?id=161029
1482
1483         * typeProfiler/int52-dfg.js: Removed.
1484         (test): Deleted.
1485         * typeProfiler/number-filter-dfg.js: Removed.
1486         (test): Deleted.
1487
1488 2016-08-21  Yusuke Suzuki  <utatane.tea@gmail.com>
1489
1490         [DFG] Should not fixup AnyIntUse in 32_64
1491         https://bugs.webkit.org/show_bug.cgi?id=161029
1492
1493         Reviewed by Saam Barati.
1494
1495         * typeProfiler/int52-dfg.js: Added.
1496         (test):
1497         * typeProfiler/number-filter-dfg.js: Added.
1498         (test):
1499
1500 2016-08-19  Benjamin Poulain  <bpoulain@apple.com>
1501
1502         [JSC] ArithSqrt should work with any argument type
1503         https://bugs.webkit.org/show_bug.cgi?id=160954
1504
1505         Reviewed by Saam Barati.
1506
1507         * stress/arith-sqrt-on-various-types.js: Added.
1508         (let.validInputTypedTestCases.validInputTestCases.map):
1509         (isIdentical):
1510         (opaqueAllTypesSqrt):
1511         (testAllTypesCall):
1512         (testSingleTypeCall):
1513         (opaqueSqrtForSideEffects):
1514         (testSideEffect.let.testObject.valueOf):
1515         (testSideEffect):
1516         (opaqueSqrtForCSE):
1517         (testCSE.let.testObject.valueOf):
1518         (testCSE):
1519         (testException.opaqueSqrtWithException):
1520         (testException):
1521
1522 2016-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1523
1524         Make custom Error properties (line, column, sourceURL) configurable and writable
1525         https://bugs.webkit.org/show_bug.cgi?id=160984
1526         <rdar://problem/27905979>
1527
1528         Reviewed by Saam Barati.
1529
1530         * stress/native-error-properties.js: Added.
1531         (assert):
1532         (shouldNotThrow):
1533
1534         (checkEmptyErrorPropertiesDescriptors):
1535         (checkNonEmptyErrorPropertiesDescriptors):
1536         The spec only describes the "message" property, so
1537         ensure it has the right descriptor attributes.
1538
1539         (checkErrorPropertiesWritable):
1540         Ensure common error property names are writable.
1541         In strict mode this would have thrown an exception
1542         if they were readonly.
1543
1544 2016-08-18  Mark Lam  <mark.lam@apple.com>
1545
1546         ScopedArguments is using the wrong owner object for a write barrier.
1547         https://bugs.webkit.org/show_bug.cgi?id=160976
1548         <rdar://problem/27328506>
1549
1550         Reviewed by Keith Miller.
1551
1552         * stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added.
1553
1554 2016-08-17  JF Bastien  <jfbastien@apple.com>
1555
1556         We allow assignments to const variables when in a for-in/for-of loop
1557         https://bugs.webkit.org/show_bug.cgi?id=156673
1558
1559         Reviewed by Filip Pizlo.
1560
1561         * stress/for-in-of-const.js: Added.
1562         (expect_nothrow):
1563         (expect_throw):
1564         (capture):
1565
1566 2016-08-17  Mark Lam  <mark.lam@apple.com>
1567
1568         Remove an invalid assertion in the DFG backend's GetById emitter.
1569         https://bugs.webkit.org/show_bug.cgi?id=160925
1570         <rdar://problem/27248961>
1571
1572         Reviewed by Filip Pizlo.
1573
1574         * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added.
1575
1576 2016-08-16  Ryan Haddad  <ryanhaddad@apple.com>
1577
1578         Unreviewed, rolling out r204464.
1579
1580         This is no longer needed after r204495.
1581
1582         Reverted changeset:
1583
1584         "Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js"
1585         https://bugs.webkit.org/show_bug.cgi?id=160662
1586         http://trac.webkit.org/changeset/204464
1587
1588 2016-08-15  Ryan Haddad  <ryanhaddad@apple.com>
1589
1590         Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js
1591         https://bugs.webkit.org/show_bug.cgi?id=160662
1592
1593         Unreviewed test gardening.
1594
1595         * mozilla/ecma/LexicalConventions/7.7.3.js:
1596
1597 2016-08-14  Skachkov Oleksandr  <gskachkov@gmail.com>
1598
1599         [2016] Set correct status for test262 after implementation of Object.values&Object.entries
1600         https://bugs.webkit.org/show_bug.cgi?id=160844
1601
1602         Reviewed by Saam Barati.
1603
1604         Patch contains fix statuses of specs in the test262 test collection after implementation of 
1605         Object.values and Object.entries functions. Also patch contains small fixes in tests of the 
1606         tests for Object.values/entries functions.
1607
1608         * stress/object-entries.js:
1609         (Object.getOwnPropertyDescriptor):
1610         * stress/object-values.js:
1611         (Object.getOwnPropertyDescriptor):
1612         * test262.yaml:
1613
1614 2016-08-12  Saam Barati  <sbarati@apple.com>
1615
1616         Inline store loop for CopyRest in DFG and FTL for certain array modes
1617         https://bugs.webkit.org/show_bug.cgi?id=159612
1618
1619         Reviewed by Filip Pizlo.
1620
1621         * stress/rest-parameter-having-a-bad-time.js: Added.
1622         * stress/rest-parameter-many-arguments.js: Added.
1623         * stress/rest-parameter-various-types.js: Added.
1624
1625 2016-08-12  Skachkov Oleksandr  <gskachkov@gmail.com>
1626
1627         [ES2016] Implement Object.entries
1628         https://bugs.webkit.org/show_bug.cgi?id=160412
1629
1630         Reviewed by Saam Barati.
1631
1632         Patch contains tests for Object.entries function and 
1633         fix of wrong tests for Object.values function.
1634
1635         * stress/object-entries.js: 
1636         (compare):
1637         (string_appeared_here.forEach):
1638         (const.getInvokedFunctions.):
1639         (const.getInvokedFunctions):
1640         (Array.prototype.push):
1641         * stress/object-values.js:
1642
1643 2016-08-11  Mark Lam  <mark.lam@apple.com>
1644
1645         OverridesHasInstance should not branch across register allocations.
1646         https://bugs.webkit.org/show_bug.cgi?id=160792
1647         <rdar://problem/27361778>
1648
1649         Reviewed by Benjamin Poulain.
1650
1651         * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
1652
1653 2016-08-11  Mark Lam  <mark.lam@apple.com>
1654
1655         The jsc shell's Element host constructor should throw if it fails to construct an object.
1656         https://bugs.webkit.org/show_bug.cgi?id=160773
1657         <rdar://problem/27328608>
1658
1659         Reviewed by Saam Barati.
1660
1661         * stress/generational-opaque-roots.js:
1662
1663 2016-08-11  Mark Lam  <mark.lam@apple.com>
1664
1665         Disallow synchronous sweeping for eden GCs.
1666         https://bugs.webkit.org/show_bug.cgi?id=160716
1667
1668         Reviewed by Geoffrey Garen.
1669
1670         * stress/eden-gc-with-retired-blocks.js: Added.
1671         - This test is just in case we add back support for eden GCs with synchronous
1672           sweeping in the future.
1673
1674 2016-08-10  Michael Saboff  <msaboff@apple.com>
1675
1676         Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions
1677         https://bugs.webkit.org/show_bug.cgi?id=160749
1678
1679         Reviewed by Filip Pizlo.
1680
1681         New test that causes baseline GetByValWithCachedId and PutByValWithCachedId
1682         stubs to be generated and then throws exceptions for those stub to handle
1683         to verify that they are properly handled.
1684
1685         * stress/regress-160749.js: Added.
1686         (testCachedGetByVal.):
1687         (testCachedGetByVal.get for):
1688         (testCachedGetByVal):
1689         (testCachedPutByVal.):
1690         (testCachedPutByVal.set for):
1691         (testCachedPutByVal):
1692
1693 2016-08-10  Mark Lam  <mark.lam@apple.com>
1694
1695         DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals.
1696         https://bugs.webkit.org/show_bug.cgi?id=160755
1697         <rdar://problem/27488507>
1698
1699         Reviewed by Filip Pizlo.
1700
1701         * stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added.
1702
1703 2016-08-09  Skachkov Oleksandr  <gskachkov@gmail.com>
1704
1705         [ES2016] Implement Object.values
1706         https://bugs.webkit.org/show_bug.cgi?id=160410
1707
1708         Reviewed by Saam Barati, Yusuke Suzuki.
1709
1710         * stress/object-values.js: Added.
1711         (compare):
1712         (string_appeared_here.forEach):
1713         (const.getInvokedFunctions.):
1714         (const.getInvokedFunctions):
1715         (Array.prototype.push):
1716
1717 2016-08-09  Saam Barati  <sbarati@apple.com>
1718
1719         JSBoundFunction should lazily generate its name string
1720         https://bugs.webkit.org/show_bug.cgi?id=160678
1721         <rdar://problem/27043194>
1722
1723         Reviewed by Mark Lam.
1724
1725         * stress/bound-function-lazy-name-generation.js: Added.
1726         (assert):
1727         (test.let.f):
1728         (test.f):
1729         (test):
1730
1731 2016-08-08  Mark Lam  <mark.lam@apple.com>
1732
1733         ASSERTION FAILED: hasInlineStorage() in JSFinalObject::visitChildren().
1734         https://bugs.webkit.org/show_bug.cgi?id=160666
1735
1736         Reviewed by Keith Miller.
1737
1738         * stress/object-constructor-should-be-new-target-aware.js:
1739
1740 2016-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1741
1742         [ES6] Module namespace object should not allow unset IC
1743         https://bugs.webkit.org/show_bug.cgi?id=160553
1744
1745         Reviewed by Saam Barati.
1746
1747         * modules/namespace-object-get-property.js: Added.
1748         (import.as.ns.from.string_appeared_here.shouldThrow):
1749         * modules/namespace-object-has-property.js: Added.
1750         * modules/namespace-object-inline-caching.js: Added.
1751         (import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup):
1752         (shouldBe.lookup.lookup):
1753         (shouldBe.lookup):
1754         * modules/namespace-object-inline-caching/a.js: Added.
1755         * modules/namespace-object-inline-caching/b.js: Added.
1756         * modules/namespace-object-try-get.js: Added.
1757         (import.as.ns.from.string_appeared_here.tryGetByIdText):
1758         (tryGetByIdTextStrict):
1759         * modules/namespace-object-typed-array-fast-path.js: Added.
1760         * test262.yaml:
1761
1762 2016-08-05  Saam Barati  <sbarati@apple.com>
1763
1764         various math operations don't properly check for an exception after calling toNumber() on the lhs
1765         https://bugs.webkit.org/show_bug.cgi?id=160154
1766
1767         Reviewed by Mark Lam.
1768
1769         * stress/to-number-throws-correct-exception.js: Added.
1770         (test.let.test.runTest.):
1771         (test.let.test.runTest.get f):
1772         (test.let.test.runTest):
1773         (test.let.test):
1774         (test):
1775         (test2.runTest.):
1776         (test2.runTest.get f):
1777         (test2.runTest):
1778         (test2):
1779
1780 2016-08-05  Saam Barati  <sbarati@apple.com>
1781
1782         Assertion failure when accessing TDZ variable in catch through eval
1783         https://bugs.webkit.org/show_bug.cgi?id=160554
1784
1785         Reviewed by Mark Lam and Keith Miller.
1786
1787         * stress/catch-variables-under-tdz.js: Added.
1788         (test):
1789
1790 2016-08-04  Yusuke Suzuki  <utatane.tea@gmail.com>
1791
1792         [ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
1793         https://bugs.webkit.org/show_bug.cgi?id=160549
1794
1795         Reviewed by Saam Barati.
1796
1797         * modules/namespace-object-symbol-iterator-name.js: Added.
1798         * test262.yaml:
1799
1800 2016-08-04  Keith Miller  <keith_miller@apple.com>
1801
1802         ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
1803         https://bugs.webkit.org/show_bug.cgi?id=160562
1804
1805         Reviewed by Mark Lam.
1806
1807         * stress/instanceof-late-constant-folding.js: Added.
1808         (Constructor):
1809         (value):
1810         (body):
1811
1812 2016-08-04  Caitlin Potter  <caitp@igalia.com>
1813
1814         [JSC] fix generator-syntax.js JSTest again after yield grammar fix
1815         https://bugs.webkit.org/show_bug.cgi?id=160550
1816
1817         Reviewed by Yusuke Suzuki.
1818
1819         * stress/generator-syntax.js:
1820         (testYieldBindingIdentifier):
1821
1822 2016-08-03  Caitlin Potter  <caitp@igalia.com>
1823
1824         Clarify SyntaxErrors around yield and unskip tests
1825         https://bugs.webkit.org/show_bug.cgi?id=158460
1826
1827         Reviewed by Saam Barati.
1828
1829         Fix and unskip tests which erroneously asserted that `yield` is not a
1830         valid BindingIdentifier, and improve error message for YieldExpressions
1831         occuring in Arrow formal parameters.
1832
1833         * stress/generator-syntax.js:
1834         * stress/yield-out-of-generator.js:
1835
1836 2016-08-03  Filip Pizlo  <fpizlo@apple.com>
1837
1838         REGRESSION(r203368): broke some test262 tests
1839         https://bugs.webkit.org/show_bug.cgi?id=160479
1840
1841         Reviewed by Mark Lam.
1842         
1843         Added a stress test for this case, since we don't always run test262.
1844
1845         * stress/freeze-setter.js: Added.
1846         (let.o.set foo):
1847
1848 2016-08-03  Saam Barati  <sbarati@apple.com>
1849
1850         Implement nested rest destructuring w.r.t the ES7 spec
1851         https://bugs.webkit.org/show_bug.cgi?id=160423
1852
1853         Reviewed by Filip Pizlo.
1854
1855         * stress/destructuring-rest-element.js: Added.
1856         (assert):
1857         (test):
1858         (arr):
1859         (eq):
1860         (gen):
1861         (fakeGen.return.Symbol.iterator):
1862         (fakeGen):
1863         * stress/rest-elements.js:
1864         (testSyntaxError.String.raw):
1865         * stress/rest-parameter-is-destructuring.js: Added.
1866         (assert):
1867         (test):
1868         (foo):
1869         (bar):
1870         * test262.yaml:
1871
1872 2016-08-02  Saam Barati  <sbarati@apple.com>
1873
1874         Rename Changelog to ChangeLog
1875
1876         Rubber stamped by Keith Miller.
1877
1878         * Changelog: Removed.
1879
1880 2016-08-02  Saam Barati  <sbarati@apple.com>
1881
1882         update a class extending null w.r.t the ES7 spec
1883         https://bugs.webkit.org/show_bug.cgi?id=160417
1884
1885         Reviewed by Keith Miller.
1886
1887         * Changelog:
1888         * stress/class-derived-from-null.js: Added.
1889         (assert):
1890         (test):
1891         (test1.C):
1892         (test1):
1893         (jsNull):
1894         (test2.C):
1895         (test2):
1896         (test3.C):
1897         (test3.D):
1898         (test3.E):
1899         (test3):
1900         (test4.E):
1901         (test4):
1902         (test5.E):
1903         (test5):
1904         (test6.Base):
1905         (test6.D):
1906         (test6.E):
1907         (test6.F):
1908         (test6.G):
1909         (test6):
1910         * test262.yaml:
1911
1912 2016-08-01  Filip Pizlo  <fpizlo@apple.com>
1913
1914         Rationalize varargs stack overflow checks
1915         https://bugs.webkit.org/show_bug.cgi?id=160425
1916
1917         Reviewed by Michael Saboff.
1918
1919         * stress/arity-check-ftl-throw-more-args.js: Added.
1920         (catch):
1921
1922 2016-08-01  Keith Miller  <keith_miller@apple.com>
1923
1924         We should not keep the JavaScript tests inside the Source/JavaScriptCore/ directory.
1925         https://bugs.webkit.org/show_bug.cgi?id=160372
1926
1927         Rubber stamped by Geoffrey Garen.
1928
1929         This patch moves all the JavaScript tests from Source/JavaScriptCore/tests to
1930         a new top level directory, JSTests. Having the tests in the Source directory
1931         was both confusing an inconvenient for people that just want to checkout the
1932         source code of WebKit. Since there is no other obvious place to put all the
1933         JavaScript tests a new top level directory seemed the most sensible.
1934
1935         * tests/: Deleted.