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