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