Unreviewed, rolling out r223691 and r223729.
[WebKit-https.git] / JSTests / ChangeLog
1 2017-10-25  Commit Queue  <commit-queue@webkit.org>
2
3         Unreviewed, rolling out r223691 and r223729.
4         https://bugs.webkit.org/show_bug.cgi?id=178834
5
6         Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
7         by rniwa on #webkit).
8
9         Reverted changesets:
10
11         "Turn recursive tail calls into loops"
12         https://bugs.webkit.org/show_bug.cgi?id=176601
13         https://trac.webkit.org/changeset/223691
14
15         "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
16         comparison is always false due to limited range of data type
17         [-Wtype-limits]"
18         https://bugs.webkit.org/show_bug.cgi?id=178543
19         https://trac.webkit.org/changeset/223729
20
21 2017-10-25  Ryan Haddad  <ryanhaddad@apple.com>
22
23         Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
24         https://bugs.webkit.org/show_bug.cgi?id=178592
25
26         Unreviewed test gardening.
27
28         * test262.yaml:
29
30 2017-10-24  Yusuke Suzuki  <utatane.tea@gmail.com>
31
32         [FTL] Support NewStringObject
33         https://bugs.webkit.org/show_bug.cgi?id=178737
34
35         Reviewed by Saam Barati.
36
37         * stress/new-string-object.js: Added.
38         (shouldBe):
39         (test):
40
41 2017-10-15  Yusuke Suzuki  <utatane.tea@gmail.com>
42
43         [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
44         https://bugs.webkit.org/show_bug.cgi?id=178308
45
46         Reviewed by Mark Lam.
47
48         * test262.yaml:
49
50 2017-10-23  Yusuke Suzuki  <utatane.tea@gmail.com>
51
52         [JSC] Use fastJoin in Array#toString
53         https://bugs.webkit.org/show_bug.cgi?id=178062
54
55         Reviewed by Darin Adler.
56
57         * microbenchmarks/contiguous-array-to-string.js: Added.
58         (target):
59         * microbenchmarks/double-array-to-string.js: Added.
60         (target):
61         * microbenchmarks/int32-array-to-string.js: Added.
62         (target):
63
64 2017-10-22  Zan Dobersek  <zdobersek@igalia.com>
65
66         stress/check-string-ident.js is improperly skipped
67         https://bugs.webkit.org/show_bug.cgi?id=178642
68
69         Reviewed by Saam Barati.
70
71         * stress/check-string-ident.js: Drop the defaultNoEagerRun directive
72         since it enforces the run-jsc-stress-tests script to still set up the
73         test to run, despite the skip directive that's used before.
74
75 2017-10-20  Mark Lam  <mark.lam@apple.com>
76
77         Add a test case for r214334.
78         https://bugs.webkit.org/show_bug.cgi?id=169941
79         <rdar://problem/31221258>
80
81         Reviewed by JF Bastien.
82
83         * stress/regress-169941.js: Added.
84
85 2017-10-19  JF Bastien  <jfbastien@apple.com>
86
87         WebAssembly: no VM / JS version of everything but Instance
88         https://bugs.webkit.org/show_bug.cgi?id=177473
89
90         Reviewed by Filip Pizlo, Saam Barati.
91
92         - Exceeding max on memory growth now returns a range error as per
93         spec. This is a (very minor) breaking change: it used to throw OOM
94         error. Update the corresponding test.
95
96         * wasm/js-api/memory-grow.js:
97         (assertEq):
98         * wasm/js-api/table.js:
99         (assert.throws):
100
101 2017-10-19  Mark Lam  <mark.lam@apple.com>
102
103         Stringifier::appendStringifiedValue() is missing an exception check.
104         https://bugs.webkit.org/show_bug.cgi?id=178386
105         <rdar://problem/35027610>
106
107         Reviewed by Saam Barati.
108
109         * stress/regress-178386.js: Added.
110
111 2017-10-19  Michael Saboff  <msaboff@apple.com>
112
113         Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
114         https://bugs.webkit.org/show_bug.cgi?id=178521
115
116         Reviewed by JF Bastien.
117
118         * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
119         now passes with the current version (5.0) of the Emoji spec.
120
121 2017-10-19  Robin Morisset  <rmorisset@apple.com>
122
123         Turn recursive tail calls into loops
124         https://bugs.webkit.org/show_bug.cgi?id=176601
125
126         Reviewed by Saam Barati.
127
128         Add some simple test that computes factorial in several ways, and other trivial computations.
129         They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
130         Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
131         I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
132         (which it doesn't if that tail call is transformed into a loop in the unsound cases).
133
134         * stress/inline-call-to-recursive-tail-call.js: Added.
135         (factorial.aux):
136         (factorial):
137         (factorial2.aux):
138         (factorial2.id):
139         (factorial2):
140         (factorial3.aux):
141         (factorial3):
142         (aux):
143         (factorial4):
144         (test):
145
146 2017-10-18  Mark Lam  <mark.lam@apple.com>
147
148         RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
149         https://bugs.webkit.org/show_bug.cgi?id=177600
150         <rdar://problem/34710985>
151
152         Reviewed by Saam Barati.
153
154         * stress/regress-177600.js: Added.
155
156 2017-10-18  Mark Lam  <mark.lam@apple.com>
157
158         The compiler should always register a structure when it adds its transitionWatchPointSet.
159         https://bugs.webkit.org/show_bug.cgi?id=178420
160         <rdar://problem/34814024>
161
162         Reviewed by Saam Barati and Filip Pizlo.
163
164         * stress/regress-178420.js: Added.
165         (new.Array.10000.map):
166
167 2017-10-18  Yusuke Suzuki  <utatane.tea@gmail.com>
168
169         [JSC] __proto__ getter should be fast
170         https://bugs.webkit.org/show_bug.cgi?id=178067
171
172         Reviewed by Saam Barati.
173
174         * stress/dfg-object-proto-accessor.js: Added.
175         (shouldBe):
176         (shouldThrow):
177         (target):
178         * stress/dfg-object-proto-getter.js: Added.
179         (shouldBe):
180         (shouldThrow):
181         (target):
182         * stress/dfg-object-prototype-of.js: Added.
183         (shouldBe):
184         (shouldThrow):
185         (target):
186         * stress/dfg-reflect-get-prototype-of.js: Added.
187         (shouldBe):
188         (shouldThrow):
189         (target):
190         * stress/intrinsic-getter-with-poly-proto.js: Added.
191         (shouldBe):
192         (makePolyProtoObject.foo.C):
193         (makePolyProtoObject.foo):
194         (makePolyProtoObject):
195         (target):
196         * stress/object-get-prototype-of-filtered.js: Added.
197         (shouldBe):
198         (shouldThrow):
199         (target):
200         (i.Cocoa):
201         * stress/object-get-prototype-of-mono-proto.js: Added.
202         (shouldBe):
203         (makePolyProtoObject.foo.C):
204         (makePolyProtoObject.foo):
205         (makePolyProtoObject):
206         (target):
207         * stress/object-get-prototype-of-poly-mono-proto.js: Added.
208         (shouldBe):
209         (makePolyProtoObject.foo.C):
210         (makePolyProtoObject.foo):
211         (makePolyProtoObject):
212         (target):
213         * stress/object-get-prototype-of-poly-proto.js: Added.
214         (shouldBe):
215         (makePolyProtoObject.foo.C):
216         (makePolyProtoObject.foo):
217         (makePolyProtoObject):
218         (target):
219         * stress/object-proto-getter-filtered.js: Added.
220         (shouldBe):
221         (shouldThrow):
222         (target):
223         (i.Cocoa):
224         * stress/object-proto-getter-poly-mono-proto.js: Added.
225         (shouldBe):
226         (makePolyProtoObject.foo.C):
227         (makePolyProtoObject.foo):
228         (makePolyProtoObject):
229         (target):
230         * stress/object-proto-getter-poly-proto.js: Added.
231         (shouldBe):
232         (makePolyProtoObject.foo.C):
233         (makePolyProtoObject.foo):
234         (makePolyProtoObject):
235         (target):
236         * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
237         * stress/string-proto.js: Added.
238         (shouldBe):
239         (target):
240
241 2017-10-17  Ryan Haddad  <ryanhaddad@apple.com>
242
243         Unreviewed, rolling out r223523.
244
245         A test for this change is failing on debug JSC bots.
246
247         Reverted changeset:
248
249         "[JSC] __proto__ getter should be fast"
250         https://bugs.webkit.org/show_bug.cgi?id=178067
251         https://trac.webkit.org/changeset/223523
252
253 2017-10-10  Yusuke Suzuki  <utatane.tea@gmail.com>
254
255         [JSC] __proto__ getter should be fast
256         https://bugs.webkit.org/show_bug.cgi?id=178067
257
258         Reviewed by Saam Barati.
259
260         * stress/dfg-object-proto-accessor.js: Added.
261         (shouldBe):
262         (shouldThrow):
263         (target):
264         * stress/dfg-object-proto-getter.js: Added.
265         (shouldBe):
266         (shouldThrow):
267         (target):
268         * stress/dfg-object-prototype-of.js: Added.
269         (shouldBe):
270         (shouldThrow):
271         (target):
272         * stress/dfg-reflect-get-prototype-of.js: Added.
273         (shouldBe):
274         (shouldThrow):
275         (target):
276         * stress/object-get-prototype-of-filtered.js: Added.
277         (shouldBe):
278         (shouldThrow):
279         (target):
280         (i.Cocoa):
281         * stress/object-get-prototype-of-mono-proto.js: Added.
282         (shouldBe):
283         (makePolyProtoObject.foo.C):
284         (makePolyProtoObject.foo):
285         (makePolyProtoObject):
286         (target):
287         * stress/object-get-prototype-of-poly-mono-proto.js: Added.
288         (shouldBe):
289         (makePolyProtoObject.foo.C):
290         (makePolyProtoObject.foo):
291         (makePolyProtoObject):
292         (target):
293         * stress/object-get-prototype-of-poly-proto.js: Added.
294         (shouldBe):
295         (makePolyProtoObject.foo.C):
296         (makePolyProtoObject.foo):
297         (makePolyProtoObject):
298         (target):
299         * stress/object-proto-getter-filtered.js: Added.
300         (shouldBe):
301         (shouldThrow):
302         (target):
303         (i.Cocoa):
304         * stress/object-proto-getter-poly-mono-proto.js: Added.
305         (shouldBe):
306         (makePolyProtoObject.foo.C):
307         (makePolyProtoObject.foo):
308         (makePolyProtoObject):
309         (target):
310         * stress/object-proto-getter-poly-proto.js: Added.
311         (shouldBe):
312         (makePolyProtoObject.foo.C):
313         (makePolyProtoObject.foo):
314         (makePolyProtoObject):
315         (target):
316         * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
317         * stress/string-proto.js: Added.
318         (shouldBe):
319         (target):
320
321 2017-10-14  Yusuke Suzuki  <utatane.tea@gmail.com>
322
323         Reland "Add Above/Below comparisons for UInt32 patterns"
324         https://bugs.webkit.org/show_bug.cgi?id=177281
325
326         Reviewed by Saam Barati.
327
328         * stress/uint32-comparison-jump.js: Added.
329         (shouldBe):
330         (above):
331         (aboveOrEqual):
332         (below):
333         (belowOrEqual):
334         (notAbove):
335         (notAboveOrEqual):
336         (notBelow):
337         (notBelowOrEqual):
338         * stress/uint32-comparison.js: Added.
339         (shouldBe):
340         (above):
341         (aboveOrEqual):
342         (below):
343         (belowOrEqual):
344         (aboveTest):
345         (aboveOrEqualTest):
346         (belowTest):
347         (belowOrEqualTest):
348
349 2017-10-12  Yusuke Suzuki  <utatane.tea@gmail.com>
350
351         WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
352         https://bugs.webkit.org/show_bug.cgi?id=178210
353
354         Reviewed by Saam Barati.
355
356         * wasm/function-tests/trap-from-start-async.js:
357         (async.StartTrapsAsync):
358         * wasm/function-tests/trap-from-start.js:
359         (StartTraps):
360         * wasm/js-api/web-assembly-function.js:
361         (assert.eq.Object.getPrototypeOf):
362         * wasm/js-api/wrapper-function.js:
363         (return.new.WebAssembly.Module):
364         (assert.throws.makeInstance): Deleted.
365         (assert.throws.Bar): Deleted.
366         (assert.throws): Deleted.
367
368 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
369
370         Enable gigacage on iOS
371         https://bugs.webkit.org/show_bug.cgi?id=177586
372
373         Reviewed by JF Bastien.
374         
375         Add tests for when Gigacage gets runtime disabled.
376
377         * stress/disable-gigacage-arrays.js: Added.
378         (foo):
379         * stress/disable-gigacage-strings.js: Added.
380         (foo):
381         * stress/disable-gigacage-typed-arrays.js: Added.
382         (foo):
383
384 2017-10-11  Yusuke Suzuki  <utatane.tea@gmail.com>
385
386         import.meta should not be assignable
387         https://bugs.webkit.org/show_bug.cgi?id=178202
388
389         Reviewed by Saam Barati.
390
391         * modules/import-meta-assignment.js: Added.
392         (shouldThrow):
393         (SyntaxError.import.meta.can.shouldThrow):
394
395 2017-10-11  Saam Barati  <sbarati@apple.com>
396
397         Unreviewed. Actually skip certain type profiler tests in debug.
398
399         * typeProfiler.yaml:
400         * typeProfiler/deltablue-for-of.js:
401         * typeProfiler/getter-richards.js:
402
403 2017-10-11  Commit Queue  <commit-queue@webkit.org>
404
405         Unreviewed, rolling out r223113 and r223121.
406         https://bugs.webkit.org/show_bug.cgi?id=178182
407
408         Reintroduced 20% regression on Kraken (Requested by rniwa on
409         #webkit).
410
411         Reverted changesets:
412
413         "Enable gigacage on iOS"
414         https://bugs.webkit.org/show_bug.cgi?id=177586
415         https://trac.webkit.org/changeset/223113
416
417         "Use one virtual allocation for all gigacages and their
418         runways"
419         https://bugs.webkit.org/show_bug.cgi?id=178050
420         https://trac.webkit.org/changeset/223121
421
422 2017-10-11  Michael Saboff  <msaboff@apple.com>
423
424         Disable test262 named capture group tests with direct unicode names and with references before definitions
425         https://bugs.webkit.org/show_bug.cgi?id=178177
426
427         Reviewed by Keith Miller.
428
429         Bugs to track fixing these test are:
430         https://bugs.webkit.org/show_bug.cgi?id=178174 -
431             "Add support in named capture group identifiers for direct surrogate pairs"
432         https://bugs.webkit.org/show_bug.cgi?id=178175 -
433             "Test262 failure with Named Capture Groups - using a reference before the group is defined"
434
435         * test262.yaml:
436
437 2017-10-11  Caio Lima  <ticaiolima@gmail.com>
438
439         Object properties are undefined in super.call() but not in this.call()
440         https://bugs.webkit.org/show_bug.cgi?id=177230
441
442         Reviewed by Saam Barati.
443
444         * stress/super-call-function-subclass.js: Added.
445         (assert):
446         (A.prototype.t):
447         (A):
448         * stress/super-dot-call-and-apply.js: Added.
449         (assert):
450         (A):
451         (A.prototype.call):
452         (A.prototype.apply):
453         (B.prototype.testSuper):
454         (B):
455         (const.obj.new.B.string_appeared_here.obj.testSuper.C):
456         (D.prototype.testSuper):
457         (D):
458
459 2017-10-10  Saam Barati  <sbarati@apple.com>
460
461         The prototype cache should be aware of the Executable it generates a Structure for
462         https://bugs.webkit.org/show_bug.cgi?id=177907
463
464         Reviewed by Filip Pizlo.
465
466         * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
467         (assert):
468         (foo.C):
469         (foo):
470         (bar.C):
471         (bar):
472         (access):
473         (makeLongChain):
474         (accessY):
475
476 2017-10-09  Yusuke Suzuki  <utatane.tea@gmail.com>
477
478         `async` should be able to be used as an imported binding name
479         https://bugs.webkit.org/show_bug.cgi?id=176573
480
481         Reviewed by Saam Barati.
482
483         * modules/import-default-async.js: Added.
484         * modules/import-named-async-as.js: Added.
485         * modules/import-named-async.js: Added.
486         * modules/import-named-async/target.js: Added.
487         * modules/import-namespace-async.js: Added.
488         * test262.yaml:
489
490 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
491
492         Enable gigacage on iOS
493         https://bugs.webkit.org/show_bug.cgi?id=177586
494
495         Reviewed by JF Bastien.
496         
497         Add tests for when Gigacage gets runtime disabled.
498
499         * stress/disable-gigacage-arrays.js: Added.
500         (foo):
501         * stress/disable-gigacage-strings.js: Added.
502         (foo):
503         * stress/disable-gigacage-typed-arrays.js: Added.
504         (foo):
505
506 2017-10-09  Michael Saboff  <msaboff@apple.com>
507
508         Implement RegExp Unicode property escapes
509         https://bugs.webkit.org/show_bug.cgi?id=172069
510
511         Reviewed by JF Bastien.
512
513         Enabled Unicode Property tests.
514
515         * test262.yaml:
516
517 2017-10-09  Commit Queue  <commit-queue@webkit.org>
518
519         Unreviewed, rolling out r223015 and r223025.
520         https://bugs.webkit.org/show_bug.cgi?id=178093
521
522         Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
523         #webkit).
524
525         Reverted changesets:
526
527         "Enable gigacage on iOS"
528         https://bugs.webkit.org/show_bug.cgi?id=177586
529         http://trac.webkit.org/changeset/223015
530
531         "Unreviewed, disable Gigacage on ARM64 Linux"
532         https://bugs.webkit.org/show_bug.cgi?id=177586
533         http://trac.webkit.org/changeset/223025
534
535 2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>
536
537         Update expectations for test262 tests that pass after r223043.
538         https://bugs.webkit.org/show_bug.cgi?id=176685
539
540         Unreviewed test gardening.
541
542         * test262.yaml:
543
544 2017-10-09  Ryan Haddad  <ryanhaddad@apple.com>
545
546         Unreviewed, rolling out r223022.
547
548         This change introduced 18 test262 failures.
549
550         Reverted changeset:
551
552         "`async` should be able to be used as an imported binding
553         name"
554         https://bugs.webkit.org/show_bug.cgi?id=176573
555         http://trac.webkit.org/changeset/223022
556
557 2017-10-09  Saam Barati  <sbarati@apple.com>
558
559         3 poly-proto JSC tests timing out on debug after r222827
560         https://bugs.webkit.org/show_bug.cgi?id=177880
561         <rdar://problem/34817122>
562
563         Unreviewed.
564
565         I'm skipping these type profiler tests on debug since they are long running.
566
567         * typeProfiler/deltablue-for-of.js:
568         * typeProfiler/getter-richards.js:
569
570 2017-10-09  Oleksandr Skachkov  <gskachkov@gmail.com>
571
572         Safari 10 /11 problem with if (!await get(something)).
573         https://bugs.webkit.org/show_bug.cgi?id=176685
574
575         Reviewed by Saam Barati.
576
577         * stress/async-await-basic.js:
578         (awaitEpression.async):
579         * stress/async-await-syntax.js:
580         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
581         (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
582
583 2017-10-08  Saam Barati  <sbarati@apple.com>
584
585         Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
586
587         * typeProfiler/deltablue-for-of.js:
588         * typeProfiler/getter-richards.js:
589
590 2017-10-07  Yusuke Suzuki  <utatane.tea@gmail.com>
591
592         `async` should be able to be used as an imported binding name
593         https://bugs.webkit.org/show_bug.cgi?id=176573
594
595         Reviewed by Darin Adler.
596
597         * modules/import-default-async.js: Added.
598         * modules/import-named-async-as.js: Added.
599         * modules/import-named-async.js: Added.
600         * modules/import-named-async/target.js: Added.
601         * modules/import-namespace-async.js: Added.
602
603 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
604
605         Enable gigacage on iOS
606         https://bugs.webkit.org/show_bug.cgi?id=177586
607
608         Reviewed by JF Bastien.
609         
610         Add tests for when Gigacage gets runtime disabled.
611
612         * stress/disable-gigacage-arrays.js: Added.
613         (foo):
614         * stress/disable-gigacage-strings.js: Added.
615         (foo):
616         * stress/disable-gigacage-typed-arrays.js: Added.
617         (foo):
618
619 2017-10-06  Commit Queue  <commit-queue@webkit.org>
620
621         Unreviewed, rolling out r222791 and r222873.
622         https://bugs.webkit.org/show_bug.cgi?id=178031
623
624         Caused crashes with workers/wasm LayoutTests (Requested by
625         ryanhaddad on #webkit).
626
627         Reverted changesets:
628
629         "WebAssembly: no VM / JS version of everything but Instance"
630         https://bugs.webkit.org/show_bug.cgi?id=177473
631         http://trac.webkit.org/changeset/222791
632
633         "WebAssembly: address no VM / JS follow-ups"
634         https://bugs.webkit.org/show_bug.cgi?id=177887
635         http://trac.webkit.org/changeset/222873
636
637 2017-10-05  Saam Barati  <sbarati@apple.com>
638
639         Make sure all prototypes under poly proto get added into the VM's prototype map
640         https://bugs.webkit.org/show_bug.cgi?id=177909
641
642         Reviewed by Keith Miller.
643
644         * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
645         (assert):
646         (foo.C):
647         (foo):
648         (set x):
649
650 2017-09-30  Yusuke Suzuki  <utatane.tea@gmail.com>
651
652         [JSC] Introduce import.meta
653         https://bugs.webkit.org/show_bug.cgi?id=177703
654
655         Reviewed by Filip Pizlo.
656
657         * modules/import-meta-syntax.js: Added.
658         (shouldThrow):
659         (shouldNotThrow):
660         * modules/import-meta.js: Added.
661         * modules/import-meta/cocoa.js: Added.
662         * modules/resources/assert.js:
663         (export.shouldNotThrow):
664         * stress/import-syntax.js:
665
666 2017-10-04  Saam Barati  <sbarati@apple.com>
667
668         Make pertinent AccessCases watch the poly proto watchpoint
669         https://bugs.webkit.org/show_bug.cgi?id=177765
670
671         Reviewed by Keith Miller.
672
673         * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
674         (assert):
675         (foo.C):
676         (foo):
677         (validate):
678         * stress/poly-proto-clear-stub.js: Added.
679         (assert):
680         (foo.C):
681         (foo):
682
683 2017-10-04  Ryan Haddad  <ryanhaddad@apple.com>
684
685         Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
686
687         Unreviewed test gardening.
688
689         * test262.yaml:
690
691 2017-10-04  Saam Barati  <sbarati@apple.com>
692
693         3 poly-proto JSC tests timing out on debug after r222827
694         https://bugs.webkit.org/show_bug.cgi?id=177880
695
696         Rubber stamped by Mark Lam.
697
698         * microbenchmarks/poly-proto-access.js:
699         * typeProfiler/deltablue-for-of.js:
700         * typeProfiler/getter-richards.js:
701
702 2017-10-04  Joseph Pecoraro  <pecoraro@apple.com>
703
704         Unreviewed, marking tco-catch.js as a failure after test262 update
705         https://bugs.webkit.org/show_bug.cgi?id=177859
706
707         * test262.yaml:
708
709 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
710
711         Unreviewed, marking one async iterator test262 test failed
712         https://bugs.webkit.org/show_bug.cgi?id=177859
713
714         * test262.yaml:
715
716 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
717
718         [Test262] Update Test262 to Oct 4 version
719         https://bugs.webkit.org/show_bug.cgi?id=177859
720
721         Reviewed by Sam Weinig.
722
723         Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
724         we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
725
726         * test262.yaml:
727         * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
728         (checkSequence):
729         * test262/harness/typeCoercion.js:
730         (testCoercibleToIndexZero):
731         (testCoercibleToIndexOne):
732         (testCoercibleToIndexFromIndex):
733         (testNotCoercibleToIndex.testPrimitiveValue):
734         (testNotCoercibleToInteger):
735         (testCoercibleToBigIntZero.testPrimitiveValue):
736         (testCoercibleToBigIntZero):
737         (testCoercibleToBigIntOne.testPrimitiveValue):
738         (testCoercibleToBigIntOne):
739         (testPrimitiveValue):
740         (testCoercibleToBigIntFromBigInt):
741         (testNotCoercibleToBigInt.testPrimitiveValue):
742         (testNotCoercibleToBigInt.testStringValue):
743         (testNotCoercibleToBigInt):
744         * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
745         * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
746         * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
747         * test262/test/built-ins/Array/proto-from-ctor-realm.js:
748         * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
749         * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
750         * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
751         * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
752         * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
753         * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
754         * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
755         * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
756         * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
757         * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
758         * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
759         * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
760         (testCoercibleToBigIntZero):
761         (testCoercibleToBigIntOne):
762         (testNotCoercibleToBigInt):
763         (MyError): Deleted.
764         (valueOf): Deleted.
765         (toString): Deleted.
766         (Symbol.toPrimitive): Deleted.
767         * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
768         (testCoercibleToIndexZero):
769         (testCoercibleToIndexOne):
770         (testNotCoercibleToIndex):
771         (MyError): Deleted.
772         (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
773         (assert.sameValue.BigInt.asIntN.toString): Deleted.
774         (BigInt.asIntN.Symbol.toPrimitive): Deleted.
775         (BigInt.asIntN.valueOf): Deleted.
776         (BigInt.asIntN.toString): Deleted.
777         * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
778         * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
779         * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
780         (testCoercibleToBigIntZero):
781         (testCoercibleToBigIntOne):
782         (testNotCoercibleToBigInt):
783         * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
784         (testCoercibleToIndexZero):
785         (testCoercibleToIndexOne):
786         (testNotCoercibleToIndex):
787         * test262/test/built-ins/BigInt/asUintN/length.js: Added.
788         * test262/test/built-ins/BigInt/asUintN/name.js: Added.
789         * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
790         (bits.valueOf):
791         (bigint.valueOf):
792         * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
793         * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
794         * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
795         * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
796         * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
797         * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
798         * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
799         * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
800         * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
801         * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
802         * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
803         * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
804         * test262/test/built-ins/Error/proto-from-ctor-realm.js:
805         * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
806         * test262/test/built-ins/Function/call-bind-this-realm-value.js:
807         * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
808         * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
809         * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
810         * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
811         * test262/test/built-ins/Function/proto-from-ctor-realm.js:
812         * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
813         * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
814         * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
815         * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
816         (replacer):
817         (BigInt.prototype.toJSON):
818         * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
819         (replacer):
820         * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
821         (BigInt.prototype.toJSON):
822         * test262/test/built-ins/JSON/stringify/bigint.js:
823         * test262/test/built-ins/Map/proto-from-ctor-realm.js:
824         * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
825         * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
826         * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
827         * test262/test/built-ins/Number/proto-from-ctor-realm.js:
828         * test262/test/built-ins/Object/proto-from-ctor.js:
829         * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
830         * test262/test/built-ins/Proxy/apply/arguments-realm.js:
831         * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
832         * test262/test/built-ins/Proxy/construct/arguments-realm.js:
833         * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
834         * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
835         * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
836         * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
837         * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
838         * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
839         * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
840         * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
841         * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
842         * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
843         * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
844         * test262/test/built-ins/Proxy/get-fn-realm.js:
845         * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
846         * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
847         * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
848         * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
849         * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
850         * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
851         * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
852         * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
853         * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
854         * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
855         * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
856         * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
857         (i6.replace):
858         (i6b.replace):
859         * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
860         * test262/test/built-ins/RegExp/dotall/with-dotall.js:
861         * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
862         * test262/test/built-ins/RegExp/dotall/without-dotall.js:
863         * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
864         * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
865         * test262/test/built-ins/RegExp/u180e.js: Added.
866         * test262/test/built-ins/Set/proto-from-ctor-realm.js:
867         * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
868         * test262/test/built-ins/String/proto-from-ctor-realm.js:
869         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
870         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
871         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
872         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
873         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
874         * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
875         * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
876         * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
877         * test262/test/built-ins/String/prototype/endsWith/length.js:
878         * test262/test/built-ins/String/prototype/endsWith/name.js:
879         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
880         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
881         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
882         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
883         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
884         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
885         * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
886         * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
887         * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
888         * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
889         * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
890         * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
891         * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
892         * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
893         * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
894         * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
895         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
896         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
897         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
898         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
899         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
900         * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
901         * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
902         * test262/test/built-ins/String/prototype/includes/includes.js:
903         * test262/test/built-ins/String/prototype/includes/length.js:
904         * test262/test/built-ins/String/prototype/includes/name.js:
905         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
906         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
907         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
908         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
909         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
910         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
911         * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
912         * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
913         * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
914         * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
915         * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
916         * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
917         * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
918         * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
919         * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
920         * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
921         * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
922         * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
923         * test262/test/built-ins/String/prototype/trim/u180e.js:
924         * test262/test/built-ins/Symbol/for/cross-realm.js:
925         * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
926         * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
927         * test262/test/built-ins/Symbol/iterator/cross-realm.js:
928         * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
929         * test262/test/built-ins/Symbol/match/cross-realm.js:
930         * test262/test/built-ins/Symbol/replace/cross-realm.js:
931         * test262/test/built-ins/Symbol/search/cross-realm.js:
932         * test262/test/built-ins/Symbol/species/cross-realm.js:
933         * test262/test/built-ins/Symbol/split/cross-realm.js:
934         * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
935         * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
936         * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
937         * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
938         * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
939         * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
940         * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
941         * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
942         * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
943         * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
944         * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
945         * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
946         * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
947         * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
948         * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
949         * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
950         * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
951         * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
952         * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
953         * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
954         * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
955         * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
956         * test262/test/language/comments/mongolian-vowel-separator-multi.js:
957         * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
958         * test262/test/language/comments/mongolian-vowel-separator-single.js:
959         * test262/test/language/eval-code/indirect/realm.js:
960         * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
961         (o.get z):
962         (o.get a):
963         * test262/test/language/expressions/call/eval-realm-indirect.js:
964         * test262/test/language/expressions/generators/eval-body-proto-realm.js:
965         * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
966         * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
967         * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
968         * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
969         * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
970         * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
971         * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
972         * test262/test/language/expressions/greater-than/bigint-and-number.js:
973         * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
974         * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
975         * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
976         * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
977         * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
978         * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
979         * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
980         * test262/test/language/expressions/less-than/bigint-and-number.js:
981         * test262/test/language/expressions/new/non-ctor-err-realm.js:
982         * test262/test/language/expressions/super/realm.js:
983         * test262/test/language/expressions/tagged-template/cache-realm.js:
984         * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
985         * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
986         * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
987         * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
988         * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
989         * test262/test/language/literals/string/mongolian-vowel-separator.js:
990         * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
991         (o.get z):
992         (o.get a):
993         * test262/test/language/statements/for-of/iterator-next-reference.js:
994         (next):
995         (iterator.next): Deleted.
996         (x.of.iterable.): Deleted.
997         (x.of.iterable.get return): Deleted.
998         (x.of.iterable.iterator.next): Deleted.
999         * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
1000         * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
1001         * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
1002         * test262/test/language/white-space/mongolian-vowel-separator.js:
1003         * test262/test262-Revision.txt:
1004
1005 2017-10-03  Saam Barati  <sbarati@apple.com>
1006
1007         Implement polymorphic prototypes
1008         https://bugs.webkit.org/show_bug.cgi?id=176391
1009
1010         Reviewed by Filip Pizlo.
1011
1012         * microbenchmarks/poly-proto-access.js: Added.
1013         (assert):
1014         (foo.C):
1015         (foo.C.prototype.get bar):
1016         (foo):
1017         (bar):
1018         * microbenchmarks/poly-proto-put-transition-speed.js: Added.
1019         (assert):
1020         (makePolyProtoObject.foo.C):
1021         (makePolyProtoObject.foo):
1022         (makePolyProtoObject):
1023         (performSet):
1024         * microbenchmarks/poly-proto-setter-speed.js: Added.
1025         (assert):
1026         (makePolyProtoObject.foo.C):
1027         (makePolyProtoObject.foo.C.prototype.set p):
1028         (makePolyProtoObject.foo):
1029         (makePolyProtoObject):
1030         (performSet):
1031         * stress/constructor-with-return.js:
1032         (i.tests.forEach.Constructor):
1033         (i.tests.forEach):
1034         (tests.forEach.Constructor): Deleted.
1035         (tests.forEach): Deleted.
1036         * stress/dom-jit-with-poly-proto.js: Added.
1037         (assert):
1038         (makePolyProtoObject.foo.C):
1039         (makePolyProtoObject.foo):
1040         (makePolyProtoObject):
1041         (validate):
1042         * stress/poly-proto-custom-value-and-accessor.js: Added.
1043         (assert):
1044         (makePolyProtoObject.foo.C):
1045         (makePolyProtoObject.foo):
1046         (makePolyProtoObject):
1047         (items.forEach):
1048         (set get for):
1049         * stress/poly-proto-intrinsic-getter-correctness.js: Added.
1050         (assert):
1051         (makePolyProtoObject.foo.C):
1052         (makePolyProtoObject.foo):
1053         (makePolyProtoObject):
1054         (foo):
1055         * stress/poly-proto-miss.js: Added.
1056         (makePolyProtoInstanceWithNullPrototype.foo.C):
1057         (makePolyProtoInstanceWithNullPrototype.foo):
1058         (makePolyProtoInstanceWithNullPrototype):
1059         (assert):
1060         (validate):
1061         * stress/poly-proto-op-in-caching.js: Added.
1062         (assert):
1063         (makePolyProtoObject.foo.C):
1064         (makePolyProtoObject.foo):
1065         (makePolyProtoObject):
1066         (validate):
1067         (validate2):
1068         * stress/poly-proto-put-transition.js: Added.
1069         (assert):
1070         (makePolyProtoObject.foo.C):
1071         (makePolyProtoObject.foo):
1072         (makePolyProtoObject):
1073         (performSet):
1074         (i.obj.__proto__.set p):
1075         * stress/poly-proto-set-prototype.js: Added.
1076         (assert):
1077         (let.alternateProto.get x):
1078         (let.alternateProto2.get y):
1079         (let.alternateProto2.get x):
1080         (foo.C):
1081         (foo):
1082         (validate):
1083         * stress/poly-proto-setter.js: Added.
1084         (assert):
1085         (makePolyProtoObject.foo.C):
1086         (makePolyProtoObject.foo.C.prototype.set p):
1087         (makePolyProtoObject.foo.C.prototype.get p):
1088         (makePolyProtoObject.foo):
1089         (makePolyProtoObject):
1090         (performSet):
1091         * stress/poly-proto-using-inheritance.js: Added.
1092         (assert):
1093         (foo.C):
1094         (foo.C.prototype.get baz):
1095         (foo):
1096         (bar.C):
1097         (bar):
1098         (validate):
1099         * stress/primitive-poly-proto.js: Added.
1100         (makePolyProtoInstance.foo.C):
1101         (makePolyProtoInstance.foo):
1102         (makePolyProtoInstance):
1103         (assert):
1104         (validate):
1105         * stress/prototype-is-not-js-object.js: Added.
1106         (foo.bar):
1107         (foo):
1108         (assert):
1109         (validate):
1110         * stress/try-get-by-id-poly-proto.js: Added.
1111         (assert):
1112         (makePolyProtoObject.foo.C):
1113         (makePolyProtoObject.foo):
1114         (makePolyProtoObject):
1115         (tryGetByIdText):
1116         (x.__proto__.get bar):
1117         (validate):
1118         * typeProfiler/overflow.js:
1119
1120 2017-10-03  JF Bastien  <jfbastien@apple.com>
1121
1122         WebAssembly: no VM / JS version of everything but Instance
1123         https://bugs.webkit.org/show_bug.cgi?id=177473
1124
1125         Reviewed by Filip Pizlo.
1126
1127         - Exceeding max on memory growth now returns a range error as per
1128         spec. This is a (very minor) breaking change: it used to throw OOM
1129         error. Update the corresponding test.
1130
1131         * wasm/js-api/memory-grow.js:
1132         (assertEq):
1133         * wasm/js-api/table.js:
1134         (assert.throws):
1135
1136 2017-10-03  Ryan Haddad  <ryanhaddad@apple.com>
1137
1138         Skip JSC test stress/regress-159779-2.js on debug.
1139         https://bugs.webkit.org/show_bug.cgi?id=177204
1140
1141         Unreviewed test gardening.
1142
1143         * stress/regress-159779-2.js:
1144
1145 2017-10-02  Caio Lima  <ticaiolima@gmail.com>
1146
1147         ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
1148         https://bugs.webkit.org/show_bug.cgi?id=175642
1149
1150         Reviewed by Darin Adler.
1151
1152         * ChakraCore/test/Function/apply3.baseline-jsc:
1153
1154 2017-10-01  Commit Queue  <commit-queue@webkit.org>
1155
1156         Unreviewed, rolling out r222564.
1157         https://bugs.webkit.org/show_bug.cgi?id=177720
1158
1159         "It regressed JetStream by 2% on iOS caused by a 50%
1160         regression on the bigfib subtest" (Requested by saamyjoon on
1161         #webkit).
1162
1163         Reverted changeset:
1164
1165         "Add Above/Below comparisons for UInt32 patterns"
1166         https://bugs.webkit.org/show_bug.cgi?id=177281
1167         http://trac.webkit.org/changeset/222564
1168
1169 2017-09-29  Yusuke Suzuki  <utatane.tea@gmail.com>
1170
1171         [DFG] Support ArrayPush with multiple args
1172         https://bugs.webkit.org/show_bug.cgi?id=175823
1173
1174         Reviewed by Saam Barati.
1175
1176         * microbenchmarks/array-push-0.js: Added.
1177         (arrayPush0):
1178         * microbenchmarks/array-push-1.js: Added.
1179         (arrayPush1):
1180         * microbenchmarks/array-push-2.js: Added.
1181         (arrayPush2):
1182         * microbenchmarks/array-push-3.js: Added.
1183         (arrayPush3):
1184         * stress/array-push-multiple-contiguous.js: Added.
1185         (shouldBe):
1186         (test):
1187         * stress/array-push-multiple-double-nan.js: Added.
1188         (shouldBe):
1189         (test):
1190         * stress/array-push-multiple-double.js: Added.
1191         (shouldBe):
1192         (test):
1193         * stress/array-push-multiple-int32.js: Added.
1194         (shouldBe):
1195         (test):
1196         * stress/array-push-multiple-many-contiguous.js: Added.
1197         (shouldBe):
1198         (test):
1199         * stress/array-push-multiple-many-double.js: Added.
1200         (shouldBe):
1201         (test):
1202         * stress/array-push-multiple-many-int32.js: Added.
1203         (shouldBe):
1204         (test):
1205         * stress/array-push-multiple-many-storage.js: Added.
1206         (shouldBe):
1207         (test):
1208         * stress/array-push-multiple-storage.js: Added.
1209         (shouldBe):
1210         (test):
1211         * stress/array-push-with-force-exit.js: Added.
1212         (target.createBuiltin):
1213
1214 2017-09-29  Saam Barati  <sbarati@apple.com>
1215
1216         Custom GetterSetterAccessCase does not use the correct slotBase when making call
1217         https://bugs.webkit.org/show_bug.cgi?id=177639
1218
1219         Reviewed by Geoffrey Garen.
1220
1221         * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
1222         (assert):
1223         (Class):
1224         (items.forEach):
1225         (set get for):
1226
1227 2017-09-29  Commit Queue  <commit-queue@webkit.org>
1228
1229         Unreviewed, rolling out r222563, r222565, and r222581.
1230         https://bugs.webkit.org/show_bug.cgi?id=177675
1231
1232         "It causes a crash when playing youtube videos" (Requested by
1233         saamyjoon on #webkit).
1234
1235         Reverted changesets:
1236
1237         "[DFG] Support ArrayPush with multiple args"
1238         https://bugs.webkit.org/show_bug.cgi?id=175823
1239         http://trac.webkit.org/changeset/222563
1240
1241         "Unreviewed, build fix after r222563"
1242         https://bugs.webkit.org/show_bug.cgi?id=175823
1243         http://trac.webkit.org/changeset/222565
1244
1245         "Unreviewed, fix x86 breaking due to exhausted registers"
1246         https://bugs.webkit.org/show_bug.cgi?id=175823
1247         http://trac.webkit.org/changeset/222581
1248
1249 2017-09-28  Mark Lam  <mark.lam@apple.com>
1250
1251         test262: Unexpected passes after r222617 and r222618.
1252         https://bugs.webkit.org/show_bug.cgi?id=177622
1253         <rdar://problem/34725960>
1254
1255         Reviewed by Saam Barati.
1256
1257         Update test262.yaml for tests that are now passing.
1258
1259         * test262.yaml:
1260
1261 2017-09-27  Michael Saboff  <msaboff@apple.com>
1262
1263         REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
1264         https://bugs.webkit.org/show_bug.cgi?id=177570
1265
1266         Reviewed by Filip Pizlo.
1267
1268         New regression test.
1269
1270         * stress/regress-177570.js: Added.
1271
1272 2017-09-28  Michael Saboff  <msaboff@apple.com>
1273
1274         Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
1275         https://bugs.webkit.org/show_bug.cgi?id=177423
1276
1277         Reviewed by Mark Lam.
1278
1279         Updated regression test.
1280
1281         * stress/regress-177423.js:
1282         (catch):
1283
1284 2017-09-27  Mark Lam  <mark.lam@apple.com>
1285
1286         JSArray::canFastCopy() should fail if the source and destination arrays are the same.
1287         https://bugs.webkit.org/show_bug.cgi?id=177584
1288         <rdar://problem/34463903>
1289
1290         Reviewed by Saam Barati.
1291
1292         * stress/regress-177584.js: Added.
1293         (assertEqual):
1294         (Array.prototype.Symbol.species):
1295
1296 2017-09-27  Saam Barati  <sbarati@apple.com>
1297
1298         Propagate hasBeenFlattenedBefore in Structure's transition constructor and fix our for-in caching to fail when the prototype chain has an object with a dictionary structure
1299         https://bugs.webkit.org/show_bug.cgi?id=177523
1300
1301         Reviewed by Mark Lam.
1302
1303         * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
1304         (assert):
1305         (Test):
1306         (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
1307         (addMethods):
1308         (i.Test.prototype.propName):
1309
1310 2017-09-27  Mark Lam  <mark.lam@apple.com>
1311
1312         Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
1313         https://bugs.webkit.org/show_bug.cgi?id=177423
1314         <rdar://problem/34621320>
1315
1316         Reviewed by Keith Miller.
1317
1318         * stress/regress-177423.js: Added.
1319
1320 2017-09-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1321
1322         Add Above/Below comparisons for UInt32 patterns
1323         https://bugs.webkit.org/show_bug.cgi?id=177281
1324
1325         Reviewed by Saam Barati.
1326
1327         * stress/uint32-comparison-jump.js: Added.
1328         (shouldBe):
1329         (above):
1330         (aboveOrEqual):
1331         (below):
1332         (belowOrEqual):
1333         (notAbove):
1334         (notAboveOrEqual):
1335         (notBelow):
1336         (notBelowOrEqual):
1337         * stress/uint32-comparison.js: Added.
1338         (shouldBe):
1339         (above):
1340         (aboveOrEqual):
1341         (below):
1342         (belowOrEqual):
1343         (aboveTest):
1344         (aboveOrEqualTest):
1345         (belowTest):
1346         (belowOrEqualTest):
1347
1348 2017-09-25  Yusuke Suzuki  <utatane.tea@gmail.com>
1349
1350         [DFG] Support ArrayPush with multiple args
1351         https://bugs.webkit.org/show_bug.cgi?id=175823
1352
1353         Reviewed by Saam Barati.
1354
1355         * microbenchmarks/array-push-0.js: Added.
1356         (arrayPush0):
1357         * microbenchmarks/array-push-1.js: Added.
1358         (arrayPush1):
1359         * microbenchmarks/array-push-2.js: Added.
1360         (arrayPush2):
1361         * microbenchmarks/array-push-3.js: Added.
1362         (arrayPush3):
1363         * stress/array-push-multiple-contiguous.js: Added.
1364         (shouldBe):
1365         (test):
1366         * stress/array-push-multiple-double-nan.js: Added.
1367         (shouldBe):
1368         (test):
1369         * stress/array-push-multiple-double.js: Added.
1370         (shouldBe):
1371         (test):
1372         * stress/array-push-multiple-int32.js: Added.
1373         (shouldBe):
1374         (test):
1375         * stress/array-push-multiple-many-contiguous.js: Added.
1376         (shouldBe):
1377         (test):
1378         * stress/array-push-multiple-many-double.js: Added.
1379         (shouldBe):
1380         (test):
1381         * stress/array-push-multiple-many-int32.js: Added.
1382         (shouldBe):
1383         (test):
1384         * stress/array-push-multiple-many-storage.js: Added.
1385         (shouldBe):
1386         (test):
1387         * stress/array-push-multiple-storage.js: Added.
1388         (shouldBe):
1389         (test):
1390
1391 2017-09-26  Commit Queue  <commit-queue@webkit.org>
1392
1393         Unreviewed, rolling out r222518.
1394         https://bugs.webkit.org/show_bug.cgi?id=177507
1395
1396         Break the High Sierra build (Requested by yusukesuzuki on
1397         #webkit).
1398
1399         Reverted changeset:
1400
1401         "Add Above/Below comparisons for UInt32 patterns"
1402         https://bugs.webkit.org/show_bug.cgi?id=177281
1403         http://trac.webkit.org/changeset/222518
1404
1405 2017-09-26  Yusuke Suzuki  <utatane.tea@gmail.com>
1406
1407         Add Above/Below comparisons for UInt32 patterns
1408         https://bugs.webkit.org/show_bug.cgi?id=177281
1409
1410         Reviewed by Saam Barati.
1411
1412         * stress/uint32-comparison-jump.js: Added.
1413         (shouldBe):
1414         (above):
1415         (aboveOrEqual):
1416         (below):
1417         (belowOrEqual):
1418         (notAbove):
1419         (notAboveOrEqual):
1420         (notBelow):
1421         (notBelowOrEqual):
1422         * stress/uint32-comparison.js: Added.
1423         (shouldBe):
1424         (above):
1425         (aboveOrEqual):
1426         (below):
1427         (belowOrEqual):
1428         (aboveTest):
1429         (aboveOrEqualTest):
1430         (belowTest):
1431         (belowOrEqualTest):
1432
1433 2017-09-23  Keith Miller  <keith_miller@apple.com>
1434
1435         Fix infinite looping test262 test
1436         https://bugs.webkit.org/show_bug.cgi?id=177412
1437
1438         Reviewed by Yusuke Suzuki.
1439
1440         This test was poorly designed since failing it would cause the vm
1441         to inifinite loop. I've fixed it locally and will fix it on github pending
1442         the results of next weeks tc39 meeting.
1443
1444         * test262.yaml:
1445         * test262/test/language/statements/for-of/iterator-next-reference.js:
1446
1447 2017-09-23  Joseph Pecoraro  <pecoraro@apple.com>
1448
1449         test262: $.agent became $262.agent in test262 update
1450         https://bugs.webkit.org/show_bug.cgi?id=177407
1451
1452         Reviewed by Yusuke Suzuki.
1453
1454         * test262.yaml:
1455         ~320 tests pass now that we correctly make $262 available.
1456
1457 2017-09-22  Keith Miller  <keith_miller@apple.com>
1458
1459         Speculatively change iteration protocall to use the same next function
1460         https://bugs.webkit.org/show_bug.cgi?id=175653
1461
1462         Reviewed by Saam Barati.
1463
1464         Change test to match the new iteration behavior.
1465
1466         * stress/spread-optimized-properly.js:
1467
1468 2017-09-22  Yusuke Suzuki  <utatane.tea@gmail.com>
1469
1470         [DFG][FTL] Profile array vector length for array allocation
1471         https://bugs.webkit.org/show_bug.cgi?id=177051
1472
1473         Reviewed by Saam Barati.
1474
1475         * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1476         (target):
1477
1478 2017-09-22  Commit Queue  <commit-queue@webkit.org>
1479
1480         Unreviewed, rolling out r222380.
1481         https://bugs.webkit.org/show_bug.cgi?id=177352
1482
1483         Octane/box2d shows 8% regression (Requested by yusukesuzuki on
1484         #webkit).
1485
1486         Reverted changeset:
1487
1488         "[DFG][FTL] Profile array vector length for array allocation"
1489         https://bugs.webkit.org/show_bug.cgi?id=177051
1490         http://trac.webkit.org/changeset/222380
1491
1492 2017-09-21  Yusuke Suzuki  <utatane.tea@gmail.com>
1493
1494         [DFG][FTL] Profile array vector length for array allocation
1495         https://bugs.webkit.org/show_bug.cgi?id=177051
1496
1497         Reviewed by Saam Barati.
1498
1499         * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1500         (target):
1501
1502 2017-09-21  Joseph Pecoraro  <pecoraro@apple.com>
1503
1504         Skip new hanging test262 tests.
1505         https://bugs.webkit.org/show_bug.cgi?id=177326
1506
1507         Unreviewed test gardening.
1508
1509         * test262.yaml:
1510
1511 2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>
1512
1513         Mark 6 test262 tests as passing.
1514         https://bugs.webkit.org/show_bug.cgi?id=177307
1515
1516         Unreviewed test gardening.
1517
1518         * test262.yaml:
1519
1520 2017-09-20  Joseph Pecoraro  <pecoraro@apple.com>
1521
1522         Unreviewed follow-up to r222311.
1523
1524         * test262/harness/sta.js:
1525         * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
1526         * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
1527         * test262/test/built-ins/Array/from/calling-from-valid-2.js:
1528         * test262/test/built-ins/Array/from/elements-added-after.js:
1529         * test262/test/built-ins/Array/from/elements-deleted-after.js:
1530         * test262/test/built-ins/Array/from/elements-updated-after.js:
1531         * test262/test/built-ins/Array/from/from-array.js:
1532         * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
1533         * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
1534         * test262/test/built-ins/Array/from/source-array-boundary.js:
1535         * test262/test/built-ins/Array/from/source-object-constructor.js:
1536         * test262/test/built-ins/Array/from/source-object-iterator-1.js:
1537         * test262/test/built-ins/Array/from/source-object-iterator-2.js:
1538         * test262/test/built-ins/Array/from/source-object-length.js:
1539         * test262/test/built-ins/Array/from/source-object-missing.js:
1540         * test262/test/built-ins/Array/from/source-object-without.js:
1541         * test262/test/built-ins/Array/from/this-null.js:
1542         * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
1543         * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
1544         * test262/test/language/literals/numeric/7.8.3-1gs.js:
1545         * test262/test/language/literals/numeric/7.8.3-2gs.js:
1546         * test262/test/language/literals/numeric/7.8.3-3gs.js:
1547         * test262/test/language/literals/regexp/7.8.5-1gs.js:
1548         * test262/test/language/literals/string/7.8.4-1gs.js:
1549         Fix some files that I failed to update when I applied my patch.
1550
1551 2017-09-20  Joseph Pecoraro  <pecoraro@apple.com>
1552
1553         Update test262 tests
1554         https://bugs.webkit.org/show_bug.cgi?id=177220
1555
1556         Reviewed by Saam Barati and Yusuke Suzuki.
1557
1558         * test262.yaml:
1559         * test262/test262-Revision.txt:
1560         New rebaselined expectations for all tests.
1561
1562         * test262/*:
1563         Updated.
1564
1565 2017-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1566
1567         [DFG] Remove ToThis more aggressively
1568         https://bugs.webkit.org/show_bug.cgi?id=177056
1569
1570         Reviewed by Saam Barati.
1571
1572         * stress/generator-with-this-strict.js: Added.
1573         (shouldBe):
1574         (generator):
1575         (target):
1576         * stress/generator-with-this.js: Added.
1577         (shouldBe):
1578         (generator):
1579         (target):
1580
1581 2017-09-17  Michael Saboff  <msaboff@apple.com>
1582
1583         https://bugs.webkit.org/show_bug.cgi?id=177038
1584         Add an option to run-jsc-stress-tests to limit tests variations to a basic set
1585
1586         Reviewed by JF Bastien.
1587
1588         * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
1589         as it dies using too much memory.
1590
1591 2017-09-15  Saam Barati  <sbarati@apple.com>
1592
1593         Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
1594         https://bugs.webkit.org/show_bug.cgi?id=176981
1595
1596         Reviewed by Yusuke Suzuki.
1597
1598         * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
1599         (assert):
1600         (verify):
1601         (func):
1602         (const.bar.createBuiltin):
1603
1604 2017-09-14  Saam Barati  <sbarati@apple.com>
1605
1606         It should be valid to exit before each set when doing arity fixup when inlining
1607         https://bugs.webkit.org/show_bug.cgi?id=176948
1608
1609         Reviewed by Keith Miller.
1610
1611         * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
1612         (baz):
1613         (bar):
1614         (foo):
1615
1616 2017-09-14  Yusuke Suzuki  <utatane.tea@gmail.com>
1617
1618         [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
1619         https://bugs.webkit.org/show_bug.cgi?id=176867
1620
1621         Reviewed by Sam Weinig.
1622
1623         * microbenchmarks/object-get-own-property-symbols.js: Added.
1624         (test):
1625
1626 2017-09-13  Mark Lam  <mark.lam@apple.com>
1627
1628         Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
1629         https://bugs.webkit.org/show_bug.cgi?id=176888
1630         <rdar://problem/34381832>
1631
1632         Not reviewed.
1633
1634         * stress/op_mod-ConstVar.js:
1635         * stress/op_mod-VarConst.js:
1636         * stress/op_mod-VarVar.js:
1637
1638 2017-09-13  Ryan Haddad  <ryanhaddad@apple.com>
1639
1640         Skip 3 op_mod tests on Debug JSC bots.
1641         https://bugs.webkit.org/show_bug.cgi?id=176630
1642
1643         Unreviewed test gardening.
1644
1645         * stress/op_mod-ConstVar.js:
1646         * stress/op_mod-VarConst.js:
1647         * stress/op_mod-VarVar.js:
1648
1649 2017-09-13  Yusuke Suzuki  <utatane.tea@gmail.com>
1650
1651         [JSC] Fix Array allocation in Object.keys
1652         https://bugs.webkit.org/show_bug.cgi?id=176826
1653
1654         Reviewed by Saam Barati.
1655
1656         * stress/object-own-property-keys.js: Added.
1657         (shouldBe):
1658
1659 2017-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
1660
1661         [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1662         https://bugs.webkit.org/show_bug.cgi?id=176010
1663
1664         Reviewed by Filip Pizlo.
1665
1666         * microbenchmarks/weak-map-key.js: Added.
1667         (assert):
1668         (objectKey):
1669         (let.start.Date.now):
1670
1671 2017-09-12  Mark Lam  <mark.lam@apple.com>
1672
1673         REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
1674         https://bugs.webkit.org/show_bug.cgi?id=176630
1675
1676         Reviewed by JF Bastien.
1677
1678         Debug builds are just slow, and these tests do a lot.  They pass when I run them
1679         locally on my MacBook Pro.  So, I'm bumping their timing multiplier to 2.0x as
1680         a speculative fix for the bots that are seeing these fail.
1681
1682         I also undid the skipping of the op_mod tests for debug builds.
1683
1684         * stress/op_div-ConstVar.js:
1685         * stress/op_div-VarConst.js:
1686         * stress/op_div-VarVar.js:
1687         * stress/op_mod-ConstVar.js:
1688         * stress/op_mod-VarConst.js:
1689         * stress/op_mod-VarVar.js:
1690
1691 2017-09-12  Ryan Haddad  <ryanhaddad@apple.com>
1692
1693         Skip stress/value-to-boolean.js on Debug bots.
1694         https://bugs.webkit.org/show_bug.cgi?id=176787
1695
1696         Unreviewed test gardening.
1697
1698         * stress/value-to-boolean.js:
1699
1700 2017-09-11  Mark Lam  <mark.lam@apple.com>
1701
1702         Change test expectation for test262/test/language/statements/try/tco-catch.js
1703         https://bugs.webkit.org/show_bug.cgi?id=176749
1704
1705         Rubber stamped by Keith Miller.
1706
1707         It's been failing since at least r221821.  I'm changing the test expectation to
1708         fail to green the bots while I investigate some more.
1709
1710         * test262.yaml:
1711
1712 2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>
1713
1714         Unreviewed, rolling out r221854.
1715
1716         The test added with this change fails on 32-bit JSC bots.
1717
1718         Reverted changeset:
1719
1720         "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
1721         https://bugs.webkit.org/show_bug.cgi?id=176010
1722         http://trac.webkit.org/changeset/221854
1723
1724 2017-09-03  Yusuke Suzuki  <utatane.tea@gmail.com>
1725
1726         [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1727         https://bugs.webkit.org/show_bug.cgi?id=176010
1728
1729         Reviewed by Filip Pizlo.
1730
1731         * microbenchmarks/weak-map-key.js: Added.
1732         (assert):
1733         (objectKey):
1734         (let.start.Date.now):
1735
1736 2017-09-09  Yusuke Suzuki  <utatane.tea@gmail.com>
1737
1738         [JSC] Optimize Object.keys by using careful array allocation
1739         https://bugs.webkit.org/show_bug.cgi?id=176654
1740
1741         Reviewed by Darin Adler.
1742
1743         * microbenchmarks/object-keys.js: Added.
1744         (test):
1745
1746 2017-09-09  Filip Pizlo  <fpizlo@apple.com>
1747
1748         Error should compute .stack and friends lazily
1749         https://bugs.webkit.org/show_bug.cgi?id=176645
1750
1751         Reviewed by Saam Barati.
1752
1753         * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
1754         * microbenchmarks/new-error.js: Added.
1755         * microbenchmarks/throw.js: Added.
1756
1757 2017-09-09  Mark Lam  <mark.lam@apple.com>
1758
1759         [Re-landing] Use JIT probes for DFG OSR exit.
1760         https://bugs.webkit.org/show_bug.cgi?id=175144
1761         <rdar://problem/33437050>
1762
1763         Not reviewed.  Original patch reviewed by Saam Barati.
1764
1765         Disable these tests for debug builds because they run too slow with the new OSR exit.
1766
1767         * stress/op_mod-ConstVar.js:
1768         * stress/op_mod-VarConst.js:
1769         * stress/op_mod-VarVar.js:
1770
1771 2017-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1772
1773         [DFG] NewArrayWithSize(size)'s size does not care negative zero
1774         https://bugs.webkit.org/show_bug.cgi?id=176300
1775
1776         Reviewed by Saam Barati.
1777
1778         * stress/new-array-with-size-div.js: Added.
1779         (shouldBe):
1780         (test):
1781         (i.i):
1782
1783 2017-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1784
1785         [DFG] PutByVal with Array::Generic is too generic
1786         https://bugs.webkit.org/show_bug.cgi?id=176345
1787
1788         Reviewed by Filip Pizlo.
1789
1790         * stress/object-assign-symbols.js: Added.
1791         (shouldBe):
1792         (test):
1793         * stress/object-assign.js: Added.
1794         (shouldBe):
1795         (test):
1796         (i.shouldBe.JSON.stringify.test):
1797
1798 2017-09-08  Yusuke Suzuki  <utatane.tea@gmail.com>
1799
1800         [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
1801         https://bugs.webkit.org/show_bug.cgi?id=176590
1802
1803         Reviewed by Saam Barati.
1804
1805         * microbenchmarks/object-iterate-symbols.js: Added.
1806         (test):
1807         * microbenchmarks/object-iterate.js: Added.
1808         (test):
1809         * stress/object-iterate-symbols.js: Added.
1810         (shouldBe):
1811         (test):
1812         * stress/object-iterate.js: Added.
1813         (shouldBe):
1814         (test):
1815
1816 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
1817
1818         [Win32] 10 JSC stress tests are failing.
1819         https://bugs.webkit.org/show_bug.cgi?id=176538
1820
1821         Reviewed by Mark Lam.
1822
1823         Skip tests on Windows to make the bots green.
1824
1825         * ChakraCore.yaml:
1826         * stress/date-relaxed.js:
1827
1828 2017-09-06  Mark Lam  <mark.lam@apple.com>
1829
1830         constructGenericTypedArrayViewWithArguments() is missing an exception check.
1831         https://bugs.webkit.org/show_bug.cgi?id=176485
1832         <rdar://problem/33898874>
1833
1834         Reviewed by Keith Miller.
1835
1836         * stress/regress-176485.js: Added.
1837
1838 2017-09-05  Saam Barati  <sbarati@apple.com>
1839
1840         isNotCellSpeculation is wrong with respect to SpecEmpty
1841         https://bugs.webkit.org/show_bug.cgi?id=176429
1842
1843         Reviewed by Michael Saboff.
1844
1845         * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
1846         (Foo):
1847
1848 2017-09-05  Joseph Pecoraro  <pecoraro@apple.com>
1849
1850         test262: Completion values for control flow do not match the spec
1851         https://bugs.webkit.org/show_bug.cgi?id=171265
1852
1853         Reviewed by Saam Barati.
1854
1855         * stress/completion-value.js:
1856         Condensed test for completion values in top level statements.
1857
1858         * stress/super-get-by-id.js:
1859         ClassDeclaration when evaled no longer produce values. Convert
1860         these to ClassExpressions so they produce the class value.
1861         
1862         * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
1863         This is a progression for currect spec behavior.
1864
1865         * mozilla/mozilla-tests.yaml:
1866         This test is now outdated, so mark it as failing for that reason.
1867
1868         * test262.yaml:
1869         Passing all "cptn" completion value tests.
1870
1871 2017-09-04  Saam Barati  <sbarati@apple.com>
1872
1873         typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
1874         https://bugs.webkit.org/show_bug.cgi?id=176317
1875
1876         Reviewed by Keith Miller.
1877
1878         * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
1879         (Foo):
1880
1881 2017-09-03  Yusuke Suzuki  <utatane.tea@gmail.com>
1882
1883         [DFG][FTL] Efficiently execute number#toString()
1884         https://bugs.webkit.org/show_bug.cgi?id=170007
1885
1886         Reviewed by Keith Miller.
1887
1888         * microbenchmarks/number-to-string-strength-reduction.js: Added.
1889         (test):
1890         * microbenchmarks/number-to-string-with-radix-10.js: Added.
1891         (test):
1892         * microbenchmarks/number-to-string-with-radix-cse.js: Added.
1893         (test):
1894         * microbenchmarks/number-to-string-with-radix.js: Added.
1895         (test):
1896         * stress/number-to-string-strength-reduction.js: Added.
1897         (shouldBe):
1898         (test):
1899         * stress/number-to-string-with-radix-10.js: Added.
1900         (shouldBe):
1901         (test):
1902         * stress/number-to-string-with-radix-cse.js: Added.
1903         (shouldBe):
1904         (test):
1905         * stress/number-to-string-with-radix-invalid.js: Added.
1906         (shouldThrow):
1907         * stress/number-to-string-with-radix-watchpoint.js: Added.
1908         (shouldBe):
1909         (test):
1910         (i.i.1e3.Number.prototype.toString):
1911         * stress/number-to-string-with-radix.js: Added.
1912         (shouldBe):
1913         (test):
1914
1915 2017-09-02  Yusuke Suzuki  <utatane.tea@gmail.com>
1916
1917         [DFG] Relax arity requirement
1918         https://bugs.webkit.org/show_bug.cgi?id=175523
1919
1920         Reviewed by Saam Barati.
1921
1922         * stress/arity-mismatch-arguments-length.js: Added.
1923         (shouldBe):
1924         (test1):
1925         (test):
1926         * stress/arity-mismatch-get-argument.js: Added.
1927         (shouldBe):
1928         (builtin.createBuiltin):
1929         (test):
1930         * stress/arity-mismatch-inlining-extra-slots.js: Added.
1931         (shouldBe):
1932         (inlineTarget):
1933         (test):
1934         * stress/arity-mismatch-inlining.js: Added.
1935         (shouldBe):
1936         (inlineTarget):
1937         (test):
1938         * stress/arity-mismatch-rest.js: Added.
1939         (shouldBe):
1940         (test2):
1941         (test1):
1942         (test):
1943
1944 2017-08-31  Yusuke Suzuki  <utatane.tea@gmail.com>
1945
1946         [JSC] Fix "name" and "length" of Proxy revoke function
1947         https://bugs.webkit.org/show_bug.cgi?id=176155
1948
1949         Reviewed by Mark Lam.
1950
1951         * test262.yaml:
1952
1953 2017-08-31  Saam Barati  <sbarati@apple.com>
1954
1955         Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
1956         https://bugs.webkit.org/show_bug.cgi?id=176206
1957
1958         Reviewed by Keith Miller.
1959
1960         * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
1961         (a):
1962         (b):
1963         (foo):
1964
1965 2017-08-31  Ryan Haddad  <ryanhaddad@apple.com>
1966
1967         Skip two slow JSC tests after r221422.
1968
1969         Unreviewed test gardening.
1970
1971         * stress/regexp-prototype-match-on-too-long-rope.js:
1972         * stress/regexp-prototype-test-on-too-long-rope.js:
1973
1974 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
1975
1976         Unreviewed, skipping slow tests.
1977         
1978         These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
1979         work differently now.
1980
1981         * stress/regexp-prototype-exec-on-too-long-rope.js:
1982         * stress/string-prototype-charCodeAt-on-too-long-rope.js:
1983
1984 2017-08-31  Yusuke Suzuki  <utatane.tea@gmail.com>
1985
1986         [JSC] Use reifying system for "name" property of builtin JSFunction
1987         https://bugs.webkit.org/show_bug.cgi?id=175260
1988
1989         Reviewed by Saam Barati.
1990
1991         * stress/accessors-get-set-prefix.js:
1992         * stress/builtin-function-name.js: Added.
1993         (shouldBe):
1994         (shouldThrow):
1995         (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
1996         (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
1997         * stress/private-name-as-anonymous-builtin.js: Added.
1998         (shouldBe):
1999         (NotPromise):
2000
2001 2017-08-30  Saam Barati  <sbarati@apple.com>
2002
2003         Unreviewed. Make test stop printing.
2004
2005         * microbenchmarks/fake-iterators-that-throw-when-finished.js:
2006
2007 2017-08-30  Ryan Haddad  <ryanhaddad@apple.com>
2008
2009         Unreviewed, rolling out r221327.
2010
2011         This change caused test262 failures.
2012
2013         Reverted changeset:
2014
2015         "[JSC] Use reifying system for "name" property of builtin
2016         JSFunction"
2017         https://bugs.webkit.org/show_bug.cgi?id=175260
2018         http://trac.webkit.org/changeset/221327
2019
2020 2017-08-30  Saam Barati  <sbarati@apple.com>
2021
2022         semicolon is being interpreted as an = in the LiteralParser
2023         https://bugs.webkit.org/show_bug.cgi?id=176114
2024
2025         Reviewed by Oliver Hunt.
2026
2027         * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
2028         * stress/resources/literal-parser-test-case.js: Added.
2029
2030 2017-08-30  Oleksandr Skachkov  <gskachkov@gmail.com>
2031
2032         [ESNext] Async iteration - Implement async iteration statement: for-await-of
2033         https://bugs.webkit.org/show_bug.cgi?id=166698
2034
2035         Reviewed by Yusuke Suzuki.
2036
2037         * stress/async-iteration-for-await-of-syntax.js: Added.
2038         (assert):
2039         (checkSyntax):
2040         (checkSyntaxError):
2041         (checkSimpleAsyncGeneratorSloppyMode):
2042         (checkSimpleAsyncGeneratorStrictMode):
2043         (checkNestedAsyncGenerators):
2044         (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2045         * stress/async-iteration-for-await-of.js: Added.
2046         (assert):
2047         (async.foo):
2048         (async.boo):
2049         (const.boo.async):
2050
2051 2017-08-29  Yusuke Suzuki  <utatane.tea@gmail.com>
2052
2053         [JSC] Use reifying system for "name" property of builtin JSFunction
2054         https://bugs.webkit.org/show_bug.cgi?id=175260
2055
2056         Reviewed by Saam Barati.
2057
2058         * stress/accessors-get-set-prefix.js:
2059         * stress/builtin-function-name.js: Added.
2060         (shouldBe):
2061         (shouldThrow):
2062         (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2063         (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2064
2065 2017-08-25  Saam Barati  <sbarati@apple.com>
2066
2067         Support compiling catch in the DFG
2068         https://bugs.webkit.org/show_bug.cgi?id=174590
2069         <rdar://problem/34047845>
2070
2071         Reviewed by Filip Pizlo.
2072
2073         * microbenchmarks/delta-blue-try-catch.js: Added.
2074         (exception):
2075         (value):
2076         (OrderedCollection):
2077         (OrderedCollection.prototype.add):
2078         (OrderedCollection.prototype.at):
2079         (OrderedCollection.prototype.size):
2080         (OrderedCollection.prototype.removeFirst):
2081         (OrderedCollection.prototype.remove):
2082         (Strength):
2083         (Strength.stronger):
2084         (Strength.weaker):
2085         (Strength.weakestOf):
2086         (Strength.strongest):
2087         (Strength.prototype.nextWeaker):
2088         (Constraint):
2089         (Constraint.prototype.addConstraint):
2090         (Constraint.prototype.satisfy):
2091         (Constraint.prototype.destroyConstraint):
2092         (Constraint.prototype.isInput):
2093         (UnaryConstraint):
2094         (UnaryConstraint.prototype.addToGraph):
2095         (UnaryConstraint.prototype.chooseMethod):
2096         (UnaryConstraint.prototype.isSatisfied):
2097         (UnaryConstraint.prototype.markInputs):
2098         (UnaryConstraint.prototype.output):
2099         (UnaryConstraint.prototype.recalculate):
2100         (UnaryConstraint.prototype.markUnsatisfied):
2101         (UnaryConstraint.prototype.inputsKnown):
2102         (UnaryConstraint.prototype.removeFromGraph):
2103         (StayConstraint):
2104         (StayConstraint.prototype.execute):
2105         (EditConstraint.prototype.isInput):
2106         (EditConstraint.prototype.execute):
2107         (BinaryConstraint):
2108         (BinaryConstraint.prototype.chooseMethod):
2109         (BinaryConstraint.prototype.addToGraph):
2110         (BinaryConstraint.prototype.isSatisfied):
2111         (BinaryConstraint.prototype.markInputs):
2112         (BinaryConstraint.prototype.input):
2113         (BinaryConstraint.prototype.output):
2114         (BinaryConstraint.prototype.recalculate):
2115         (BinaryConstraint.prototype.markUnsatisfied):
2116         (BinaryConstraint.prototype.inputsKnown):
2117         (BinaryConstraint.prototype.removeFromGraph):
2118         (ScaleConstraint):
2119         (ScaleConstraint.prototype.addToGraph):
2120         (ScaleConstraint.prototype.removeFromGraph):
2121         (ScaleConstraint.prototype.markInputs):
2122         (ScaleConstraint.prototype.execute):
2123         (ScaleConstraint.prototype.recalculate):
2124         (EqualityConstraint):
2125         (EqualityConstraint.prototype.execute):
2126         (Variable):
2127         (Variable.prototype.addConstraint):
2128         (Variable.prototype.removeConstraint):
2129         (Planner):
2130         (Planner.prototype.incrementalAdd):
2131         (Planner.prototype.incrementalRemove):
2132         (Planner.prototype.newMark):
2133         (Planner.prototype.makePlan):
2134         (Planner.prototype.extractPlanFromConstraints):
2135         (Planner.prototype.addPropagate):
2136         (Planner.prototype.removePropagateFrom):
2137         (Planner.prototype.addConstraintsConsumingTo):
2138         (Plan):
2139         (Plan.prototype.addConstraint):
2140         (Plan.prototype.size):
2141         (Plan.prototype.constraintAt):
2142         (Plan.prototype.execute):
2143         (chainTest):
2144         (projectionTest):
2145         (change):
2146         (deltaBlue):
2147         * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2148         (assert):
2149         (Numbers):
2150         (Numbers.prototype.next):
2151         (return.Transpose):
2152         (return.Transpose.prototype.next):
2153         (transpose):
2154         (verifyEven):
2155         (verifyString):
2156         (foo):
2157         (runIterators):
2158         * microbenchmarks/try-catch-word-count.js: Added.
2159         (let.assert):
2160         (EOF):
2161         (let.texts):
2162         (let.o.apply):
2163         (foo):
2164         (bar):
2165         (f):
2166         (run):
2167         (test1):
2168         (test2):
2169         (test3):
2170         (fn):
2171         (A):
2172         (B):
2173         (A.prototype.getValue):
2174         (B.prototype.getParentValue):
2175         (strlen):
2176         (sum.0):
2177         (test):
2178         (result.test.o):
2179         (set add.set add):
2180         (set forEach):
2181         (stringHash):
2182         (set if):
2183         (testFunction):
2184         (set delete.set has.set add):
2185         * stress/catch-set-argument-speculation-failure.js: Added.
2186         (o):
2187         (e):
2188         (e2):
2189         (escape):
2190         (baz):
2191         (noInline.run):
2192         (noInline):
2193         * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2194         (foo):
2195         (e):
2196         (baz):
2197         (bar):
2198
2199 2017-08-24  Commit Queue  <commit-queue@webkit.org>
2200
2201         Unreviewed, rolling out r221119, r221124, and r221143.
2202         https://bugs.webkit.org/show_bug.cgi?id=175973
2203
2204         "I think it regressed JSBench by 20%" (Requested by saamyjoon
2205         on #webkit).
2206
2207         Reverted changesets:
2208
2209         "Support compiling catch in the DFG"
2210         https://bugs.webkit.org/show_bug.cgi?id=174590
2211         http://trac.webkit.org/changeset/221119
2212
2213         "Unreviewed, build fix in GTK port"
2214         https://bugs.webkit.org/show_bug.cgi?id=174590
2215         http://trac.webkit.org/changeset/221124
2216
2217         "DFG::JITCode::osrEntry should get sorted since we perform a
2218         binary search on it"
2219         https://bugs.webkit.org/show_bug.cgi?id=175893
2220         http://trac.webkit.org/changeset/221143
2221
2222 2017-08-24  Michael Saboff  <msaboff@apple.com>
2223
2224         Add support for RegExp "dotAll" flag
2225         https://bugs.webkit.org/show_bug.cgi?id=175924
2226
2227         Reviewed by Keith Miller.
2228
2229         Updated tests for new dotAll ('s' flag) changes.
2230
2231         * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
2232         * stress/static-getter-in-names.js:
2233
2234 2017-08-24  Mark Lam  <mark.lam@apple.com>
2235
2236         Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
2237         https://bugs.webkit.org/show_bug.cgi?id=175940
2238         <rdar://problem/29003921>
2239
2240         Reviewed by Saam Barati.
2241
2242         * stress/regress-164081.js: Added.
2243         (shouldEqual):
2244         (testcase):
2245
2246 2017-08-24  Ryan Haddad  <ryanhaddad@apple.com>
2247
2248         Skip flaky JSC test stress/test-finally.js.
2249         https://bugs.webkit.org/show_bug.cgi?id=160283
2250
2251         Unreviewed test gardening.
2252
2253         * stress/test-finally.js:
2254
2255 2017-08-23  Saam Barati  <sbarati@apple.com>
2256
2257         Support compiling catch in the DFG
2258         https://bugs.webkit.org/show_bug.cgi?id=174590
2259
2260         Reviewed by Filip Pizlo.
2261
2262         * microbenchmarks/delta-blue-try-catch.js: Added.
2263         (exception):
2264         (value):
2265         (OrderedCollection):
2266         (OrderedCollection.prototype.add):
2267         (OrderedCollection.prototype.at):
2268         (OrderedCollection.prototype.size):
2269         (OrderedCollection.prototype.removeFirst):
2270         (OrderedCollection.prototype.remove):
2271         (Strength):
2272         (Strength.stronger):
2273         (Strength.weaker):
2274         (Strength.weakestOf):
2275         (Strength.strongest):
2276         (Strength.prototype.nextWeaker):
2277         (Constraint):
2278         (Constraint.prototype.addConstraint):
2279         (Constraint.prototype.satisfy):
2280         (Constraint.prototype.destroyConstraint):
2281         (Constraint.prototype.isInput):
2282         (UnaryConstraint):
2283         (UnaryConstraint.prototype.addToGraph):
2284         (UnaryConstraint.prototype.chooseMethod):
2285         (UnaryConstraint.prototype.isSatisfied):
2286         (UnaryConstraint.prototype.markInputs):
2287         (UnaryConstraint.prototype.output):
2288         (UnaryConstraint.prototype.recalculate):
2289         (UnaryConstraint.prototype.markUnsatisfied):
2290         (UnaryConstraint.prototype.inputsKnown):
2291         (UnaryConstraint.prototype.removeFromGraph):
2292         (StayConstraint):
2293         (StayConstraint.prototype.execute):
2294         (EditConstraint.prototype.isInput):
2295         (EditConstraint.prototype.execute):
2296         (BinaryConstraint):
2297         (BinaryConstraint.prototype.chooseMethod):
2298         (BinaryConstraint.prototype.addToGraph):
2299         (BinaryConstraint.prototype.isSatisfied):
2300         (BinaryConstraint.prototype.markInputs):
2301         (BinaryConstraint.prototype.input):
2302         (BinaryConstraint.prototype.output):
2303         (BinaryConstraint.prototype.recalculate):
2304         (BinaryConstraint.prototype.markUnsatisfied):
2305         (BinaryConstraint.prototype.inputsKnown):
2306         (BinaryConstraint.prototype.removeFromGraph):
2307         (ScaleConstraint):
2308         (ScaleConstraint.prototype.addToGraph):
2309         (ScaleConstraint.prototype.removeFromGraph):
2310         (ScaleConstraint.prototype.markInputs):
2311         (ScaleConstraint.prototype.execute):
2312         (ScaleConstraint.prototype.recalculate):
2313         (EqualityConstraint):
2314         (EqualityConstraint.prototype.execute):
2315         (Variable):
2316         (Variable.prototype.addConstraint):
2317         (Variable.prototype.removeConstraint):
2318         (Planner):
2319         (Planner.prototype.incrementalAdd):
2320         (Planner.prototype.incrementalRemove):
2321         (Planner.prototype.newMark):
2322         (Planner.prototype.makePlan):
2323         (Planner.prototype.extractPlanFromConstraints):
2324         (Planner.prototype.addPropagate):
2325         (Planner.prototype.removePropagateFrom):
2326         (Planner.prototype.addConstraintsConsumingTo):
2327         (Plan):
2328         (Plan.prototype.addConstraint):
2329         (Plan.prototype.size):
2330         (Plan.prototype.constraintAt):
2331         (Plan.prototype.execute):
2332         (chainTest):
2333         (projectionTest):
2334         (change):
2335         (deltaBlue):
2336         * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2337         (assert):
2338         (Numbers):
2339         (Numbers.prototype.next):
2340         (return.Transpose):
2341         (return.Transpose.prototype.next):
2342         (transpose):
2343         (verifyEven):
2344         (verifyString):
2345         (foo):
2346         (runIterators):
2347         * microbenchmarks/try-catch-word-count.js: Added.
2348         (let.assert):
2349         (EOF):
2350         (let.texts):
2351         (let.o.apply):
2352         (foo):
2353         (bar):
2354         (f):
2355         (run):
2356         (test1):
2357         (test2):
2358         (test3):
2359         (fn):
2360         (A):
2361         (B):
2362         (A.prototype.getValue):
2363         (B.prototype.getParentValue):
2364         (strlen):
2365         (sum.0):
2366         (test):
2367         (result.test.o):
2368         (set add.set add):
2369         (set forEach):
2370         (stringHash):
2371         (set if):
2372         (testFunction):
2373         (set delete.set has.set add):
2374         * stress/catch-set-argument-speculation-failure.js: Added.
2375         (o):
2376         (e):
2377         (e2):
2378         (escape):
2379         (baz):
2380         (noInline.run):
2381         (noInline):
2382         * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2383         (foo):
2384         (e):
2385         (baz):
2386         (bar):
2387
2388 2017-08-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2389
2390         [JSC] Optimize Map iteration with intrinsic
2391         https://bugs.webkit.org/show_bug.cgi?id=174355
2392
2393         Reviewed by Saam Barati.
2394
2395         * stress/map-iterator-result-should-have-expected-shape.js: Added.
2396         (shouldBe):
2397         (throw.new.Error):
2398         * stress/set-iterator-result-should-have-expected-shape.js: Added.
2399         (shouldBe):
2400         (throw.new.Error.let.iterator.set Symbol):
2401         (throw.new.Error.set add):
2402         (let.iterator.set Symbol):
2403
2404 2017-08-23  Robin Morisset  <rmorisset@apple.com>
2405
2406         Add a micro-benchmark for checking that accessing a variable within a 'with'
2407         block does not automatically prevent type prediction.
2408         https://bugs.webkit.org/show_bug.cgi?id=175738
2409
2410         Reviewed by Saam Barati.
2411
2412         * stress/with_and_arith.js: Added.
2413         (with):
2414
2415 2017-08-23  Skachkov Oleksandr  <gskachkov@gmail.com>
2416
2417         [ESNext] Async iteration - Implement Async Generator - runtime
2418         https://bugs.webkit.org/show_bug.cgi?id=175240
2419
2420         Reviewed by Yusuke Suzuki.
2421
2422         * stress/async-iteration-async-from-sync.js: Added.
2423         (assert):
2424         (const.Logger):
2425         (this.fullfilled):
2426         (this.fullfilledDone):
2427         (this.rejected):
2428         (this.catched):
2429         (this.isFinal):
2430         (_assertLogger):
2431         (const.assertLogger):
2432         (const.getPromise.promiseHolder.return.new.Promise):
2433         (foo):
2434         (async.boo):
2435         (bar):
2436         (async.baz):
2437         (async.goo):
2438         * stress/async-iteration-basic.js: Added.
2439         (assert):
2440         (const.Logger):
2441         (this.fullfilled):
2442         (this.fullfilledDone):
2443         (this.rejected):
2444         (this.catched):
2445         (this.isFinal):
2446         (_assertLogger):
2447         (const.assertLogger):
2448         (const.getPromise.promiseHolder.return.new.Promise):
2449         (async.generator):
2450         (iterator.next.then):
2451         (async.baz):
2452         (async.boo):
2453         (async.foo):
2454         (async.goo):
2455         (A.prototype.async.foo):
2456         (A.prototype.async.boo):
2457         (A):
2458         (asyncGenExp.async):
2459         (async.joo):
2460         (j.next.then):
2461         (then):
2462         (async.koo):
2463         (async.loo):
2464         (async.moo):
2465         (async.noo):
2466         (async.ooo):
2467         (async.roo):
2468         (async.poo):
2469         (async.soo):
2470         (async.too):
2471         * stress/async-iteration-evaluation.js: Added.
2472         (assert):
2473         (async.foo):
2474         (catch):
2475         * stress/async-iteration-syntax.js:
2476         * stress/async-iteration-yield-promise.js: Added.
2477         (assert):
2478         (const.Logger):
2479         (this.fullfilled):
2480         (this.fullfilledDone):
2481         (this.rejected):
2482         (this.catched):
2483         (this.isFinal):
2484         (_assertLogger):
2485         (const.assertLogger):
2486         (const.getPromise.promiseHolder.return.new.Promise):
2487         (async.foo):
2488         (async.boo):
2489         (async.bar):
2490         * stress/async-iteration-yield-star-interface.js: Added.
2491         (assert):
2492         (const.getPromise.promiseHolder.return.new.Promise):
2493         (const.Logger):
2494         (this.fullfilled):
2495         (this.fullfilledDone):
2496         (this.rejected):
2497         (this.catched):
2498         (this.custom):
2499         (this.isFinal):
2500         (_assertLogger):
2501         (const.assertLogger):
2502         (let.asyncIter.Symbol.asyncIterator):
2503         (let.asyncIter.next):
2504         (let.asyncIter.throw):
2505         (let.asyncIter.return):
2506         (async.foo):
2507         (asyncIter.Symbol.asyncIterator):
2508         (asyncIter.next):
2509         (async.boo):
2510         (asyncIter.return):
2511         (async.bar):
2512         (async.baz):
2513         (async.foobar):
2514         * stress/async-iteration-yield-star.js: Added.
2515         (assert):
2516         (const.Logger):
2517         (this.fullfilled):
2518         (this.fullfilledDone):
2519         (this.rejected):
2520         (this.catched):
2521         (this.custom):
2522         (this.isFinal):
2523         (_assertLogger):
2524         (const.assertLogger):
2525         (const.getPromise.promiseHolder.return.new.Promise):
2526         (async.foo):
2527         (async.boo):
2528         (async.bar):
2529         (async.baz):
2530         (async.joo):
2531         (async.goo):
2532         (async.koo):
2533         (async.loo):
2534         (let.asyncIter.Symbol.asyncIterator):
2535         (let.asyncIter.next):
2536         (let.asyncIter.throw):
2537         (let.asyncIter.return):
2538         (async.moo):
2539         (async.noo):
2540         * test262.yaml:
2541
2542 2017-08-23  JF Bastien  <jfbastien@apple.com>
2543
2544         Fix printing in test
2545
2546         Unreviewed: fixing verbosity, shouldn't have been there.
2547
2548         * wasm/regress/175693.js:
2549         (else.else):
2550         (catch):
2551
2552 2017-08-18  Ryan Haddad  <ryanhaddad@apple.com>
2553
2554         Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
2555         https://bugs.webkit.org/show_bug.cgi?id=172543
2556
2557         Unreviewed test gardening.
2558
2559         * microbenchmarks/generator-with-several-types.js:
2560
2561 2017-08-17  JF Bastien  <jfbastien@apple.com>
2562
2563         WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
2564         https://bugs.webkit.org/show_bug.cgi?id=175693
2565         <rdar://problem/33952443>
2566
2567         Reviewed by Saam Barati.
2568
2569         Add a regression directory for WebAssembly tests.
2570
2571         * wasm.yaml:
2572         * wasm/regress/175693.js: Added.
2573         (else.else):
2574         (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
2575         (catch):
2576         * wasm/regress/175693.wasm: Added.
2577
2578 2017-08-15  Robin Morisset  <rmorisset@apple.com>
2579
2580         Support the 'with' keyword in FTL.
2581         https://bugs.webkit.org/show_bug.cgi?id=175585
2582
2583         Reviewed by Saam Barati.
2584
2585         Also improve the JSTest/stress/with.js file to test
2586         what happens when non-objects are passed to with.
2587
2588         * stress/with.js:
2589         (foo):
2590         (i.catch):
2591         (i.with): Deleted.
2592
2593 2017-08-14  Keith Miller  <keith_miller@apple.com>
2594
2595         Add testing tool to lie to the DFG about profiles
2596         https://bugs.webkit.org/show_bug.cgi?id=175487
2597
2598         Reviewed by Saam Barati.
2599
2600         * stress/compare-eq-incomplete-profile.js: Added.
2601         (const.test.createBuiltin):
2602
2603 2017-08-14  Robin Morisset  <rmorisset@apple.com>
2604
2605         Support the with keyword in DFG
2606         https://bugs.webkit.org/show_bug.cgi?id=175470
2607
2608         Reviewed by Saam Barati.
2609
2610         Added a new stress-test for the 'with' keyword, that caught a bug in a
2611         previous version of this code.
2612
2613         * stress/with.js: Added.
2614         (i.with):
2615
2616 2017-08-14  Ryan Haddad  <ryanhaddad@apple.com>
2617
2618         Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
2619         https://bugs.webkit.org/show_bug.cgi?id=175544
2620
2621         Unreviewed test gardening.
2622
2623         * ChakraCore.yaml:
2624
2625 2017-08-09  Caitlin Potter  <caitp@igalia.com>
2626
2627         Early error on ANY operator before new.target
2628         https://bugs.webkit.org/show_bug.cgi?id=157970
2629
2630         Reviewed by Saam Barati.
2631
2632         Instead of throwing if any unary operator precedes new.target, only
2633         throw if the unary operator updates the reference.
2634
2635         The following become legal in JSC:
2636
2637         ```
2638         !new.target
2639         ~new.target
2640         typeof new.target
2641         delete new.target
2642         void new.target
2643         ```
2644
2645         All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
2646
2647         * stress/new-target-syntax-errors.js:
2648         * stress/new-target.js:
2649
2650 2017-08-09  Ryan Haddad  <ryanhaddad@apple.com>
2651
2652         Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
2653         https://bugs.webkit.org/show_bug.cgi?id=175255
2654
2655         Unreviewed test gardening.
2656
2657         * stress/regress-169783.js:
2658         * wasm/stress/oom.js:
2659
2660 2017-08-09  Oleksandr Skachkov  <gskachkov@gmail.com>
2661
2662         REGRESSION: 2 test262/test/language/statements/async-function failures
2663         https://bugs.webkit.org/show_bug.cgi?id=175334
2664
2665         Reviewed by Yusuke Suzuki.
2666
2667         Add @skip parameters to tests, and remove test for async iterator from 
2668         async await syntax test because it is already covered by async-iterator-syntax.js
2669
2670         * stress/async-await-syntax.js:
2671         * stress/async-iteration-syntax.js:
2672
2673 2017-08-08  Yusuke Suzuki  <utatane.tea@gmail.com>
2674
2675         Unreviewed, gardening test262 for Promise resolve / reject function length
2676         https://bugs.webkit.org/show_bug.cgi?id=175333
2677
2678         * test262.yaml:
2679
2680 2017-08-07  Robin Morisset  <rmorisset@apple.com>
2681
2682         GetOwnProperty of TypedArray indexed fields is wrongly configurable
2683         https://bugs.webkit.org/show_bug.cgi?id=175307
2684
2685         Reviewed by Saam Barati.
2686
2687         * stress/typedarray-getownproperty-not-configurable.js: Added.
2688         (assert):
2689         (foo):
2690
2691 2017-08-06  Yusuke Suzuki  <utatane.tea@gmail.com>
2692
2693         Promise resolve and reject function should have length = 1
2694         https://bugs.webkit.org/show_bug.cgi?id=175242
2695
2696         Reviewed by Saam Barati.
2697
2698         * stress/builtin-function-length.js: Added.
2699         (shouldBe):
2700         (shouldThrow):
2701         (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2702         (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2703
2704 2017-08-06  Oleksandr Skachkov  <gskachkov@gmail.com>
2705
2706         [ESNext] Async iteration - Implement Async Generator - parser
2707         https://bugs.webkit.org/show_bug.cgi?id=175210
2708
2709         Reviewed by Yusuke Suzuki.
2710
2711         * stress/async-await-syntax.js:
2712         (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
2713         * stress/async-iteration-syntax.js: Added.
2714         (assert):
2715         (checkSyntax):
2716         (checkSyntaxError):
2717         (checkSimpleAsyncGeneratorSloppyMode):
2718         (checkSimpleAsyncGeneratorStrictMode):
2719         (checkNestedAsyncGenerators):
2720         (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2721         * stress/generator-class-methods-syntax.js:
2722
2723 2017-08-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2724
2725         JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
2726         https://bugs.webkit.org/show_bug.cgi?id=175150
2727
2728         Unreviewed test gardening.
2729
2730         * wasm/js-api/test_memory_constructor.js:
2731
2732 2017-08-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2733
2734         [Linux] JSTests/wasm/stress/oom.js should not run on Linux
2735         https://bugs.webkit.org/show_bug.cgi?id=175100
2736
2737         Reviewed by Mark Lam.
2738
2739         The JSC test JSTests/wasm/stress/oom.js tries to use all the
2740         available memory until an out of memory exception happens.
2741
2742         The Linux kernel is more tuned for server workloads than for GUI
2743         responsiveness. When a process tries to use a lot of memory, Linux
2744         will do its best to serve the request. This usually translates to
2745         free physical RAM by writing to disk dirty pages and/or moving out
2746         less recently used pages to swap (disk storage).
2747         Meanwhile it does this, the system will become unresponsive and this
2748         leads to freezes that can last even some minutes on the worst cases.
2749
2750         Therefore, let's skip this test on Linux as it will cause more harm
2751         than good on the Linux bots or on the machines of Linux developers.
2752
2753         * wasm/stress/oom.js:
2754
2755 2017-08-01  Oleksandr Skachkov  <gskachkov@gmail.com>
2756
2757         [JSC] Remove unnecessary print from stress\promise-finally.js test
2758         https://bugs.webkit.org/show_bug.cgi?id=175015
2759
2760         Reviewed by Yusuke Suzuki.
2761
2762         * stress/promise-finally.js:
2763         (p.finally):
2764         (then):
2765
2766 2017-07-31  Yusuke Suzuki  <utatane.tea@gmail.com>
2767
2768         Unreviewed, update test262 results for optional catch binding
2769
2770         * test262.yaml:
2771
2772 2017-07-31  Yusuke Suzuki  <utatane.tea@gmail.com>
2773
2774         [JSC] Support optional catch binding
2775         https://bugs.webkit.org/show_bug.cgi?id=174981
2776
2777         Reviewed by Saam Barati.
2778
2779         * stress/optional-catch-binding-syntax.js: Added.
2780         (testSyntax):
2781         (testSyntaxError):
2782         (catch.catch):
2783         * stress/optional-catch-binding.js: Added.
2784         (shouldBe):
2785         (throwException):
2786
2787 2017-07-28  Mark Lam  <mark.lam@apple.com>
2788
2789         ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
2790         https://bugs.webkit.org/show_bug.cgi?id=174948
2791         <rdar://problem/33495680>
2792
2793         Reviewed by Filip Pizlo.
2794
2795         * stress/regress-174948.js: Added.
2796
2797 2017-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>
2798
2799         ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
2800         https://bugs.webkit.org/show_bug.cgi?id=174900
2801
2802         Reviewed by Saam Barati.
2803
2804         * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
2805         (sideEffect):
2806         (args):
2807         (test):
2808
2809 2017-07-27  Yusuke Suzuki  <utatane.tea@gmail.com>
2810
2811         Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
2812         https://bugs.webkit.org/show_bug.cgi?id=171637
2813
2814         Reviewed by Darin Adler.
2815
2816         * stress/domjit-getter-complex-with-incorrect-object.js:
2817         (i.shouldThrow):
2818         * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
2819         (shouldBe):
2820         (i.shouldThrow):
2821
2822 2017-07-26  JF Bastien  <jfbastien@apple.com>
2823
2824         WebAssembly: test throwing out of the start function
2825         https://bugs.webkit.org/show_bug.cgi?id=165714
2826         <rdar://problem/29760251>
2827
2828         Reviewed by Keith Miller.
2829
2830         * wasm/assert.js:
2831         * wasm/function-tests/trap-from-start.js: Added.
2832         (StartTraps):
2833         * wasm/function-tests/trap-from-start-async.js: Added.
2834         (async.StartTrapsAsync):
2835
2836 2017-07-21  Yusuke Suzuki  <utatane.tea@gmail.com>
2837
2838         [FTL] Arguments elimination is suppressed by unreachable blocks
2839         https://bugs.webkit.org/show_bug.cgi?id=174352
2840
2841         Reviewed by Filip Pizlo.
2842
2843         * stress/arguments-elimination-force-exit.js: Added.
2844         (shouldBe):
2845         (strict):
2846         (sloppy):
2847         * stress/arguments-elimination-throw.js: Added.
2848         (shouldBe):
2849         (shouldThrow):
2850         (sloppy):
2851         (isArguments):
2852
2853 2017-07-13  Mark Lam  <mark.lam@apple.com>
2854
2855         Add some additional test cases for bug 170896.
2856         https://bugs.webkit.org/show_bug.cgi?id=174491
2857
2858         Reviewed by Filip Pizlo.
2859
2860         * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js.
2861         * stress/regress-170896-with-double-shape-profile.js: Added.
2862         (test):
2863         * stress/regress-170896-with-int32-shape-profile.js: Added.
2864         (test):
2865         * stress/regress-170896.js: Removed.
2866
2867 2017-07-13  Saam Barati  <sbarati@apple.com>
2868
2869         Missing exception check in JSObject::hasInstance
2870         https://bugs.webkit.org/show_bug.cgi?id=174455
2871         <rdar://problem/31384608>
2872
2873         Reviewed by Mark Lam.
2874
2875         * stress/has-instance-exception-check.js: Added.
2876         (assert):
2877         (let.getter.Object.getOwnPropertyDescriptor.get foo):
2878
2879 2017-07-13  Caio Lima  <ticaiolima@gmail.com>
2880
2881         [ESnext] Implement Object Spread
2882         https://bugs.webkit.org/show_bug.cgi?id=167963
2883
2884         Reviewed by Saam Barati.
2885
2886         * stress/obj-rest-destructuring-order.js: Added.
2887         (assert):
2888         (o.get z):
2889         (o.get a):
2890         * stress/obj-spread-order.js: Added.
2891         (assert):
2892         (o.get z):
2893         (o.get a):
2894         * stress/object-spread.js: Added.
2895         (let.assert):
2896         (assert.sameValue):
2897         (let.o.get a):
2898         (let.obj.get c):
2899         (cthulhu.get x):
2900         (let.obj.set c):
2901         (calls.o.get z):
2902         (calls.o.get a):
2903         (try.let.obj.get foo):
2904         (get calls):
2905
2906 2017-07-12  Saam Barati  <sbarati@apple.com>
2907
2908         GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments
2909         https://bugs.webkit.org/show_bug.cgi?id=174411
2910         <rdar://problem/31696186>
2911
2912         Reviewed by Mark Lam.
2913
2914         * stress/generic-arguments-correct-delete-behavior.js: Added.
2915         (assert):
2916         (makeTest):
2917
2918 2017-07-07  Mark Lam  <mark.lam@apple.com>
2919
2920         \n\r is not the same as \r\n.
2921         https://bugs.webkit.org/show_bug.cgi?id=173053
2922
2923         Reviewed by Keith Miller.
2924
2925         * stress/regress-173053.js: Added.
2926         * stress/template-literal-line-terminators.js:
2927
2928 2017-07-06  Saam Barati  <sbarati@apple.com>
2929
2930         We are missing places where we invalidate the for-in context
2931         https://bugs.webkit.org/show_bug.cgi?id=174184
2932
2933         Reviewed by Geoffrey Garen.
2934
2935         * stress/for-in-invalidate-context-weird-assignments.js: Added.
2936         (assert):
2937         (test):
2938
2939 2017-07-05  Saam Barati  <sbarati@apple.com>
2940
2941         NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
2942         https://bugs.webkit.org/show_bug.cgi?id=174188
2943         <rdar://problem/30581423>
2944
2945         Reviewed by Mark Lam.
2946
2947         * stress/new-array-having-a-bad-time-double.js: Added.
2948         (assert):
2949         (foo):
2950
2951 2017-07-05  Yusuke Suzuki  <utatane.tea@gmail.com>
2952
2953         WTF::StringImpl::copyChars segfaults when built with GCC 7
2954         https://bugs.webkit.org/show_bug.cgi?id=173407
2955
2956         Reviewed by Andreas Kling.
2957
2958         * stress/string-repeat-copy-chars-crash.js: Added.
2959         (shouldBe):
2960
2961 2017-07-03  Saam Barati  <sbarati@apple.com>
2962
2963         Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.
2964
2965         * stress/unshiftCountSlowCase-correct-postCapacity.js:
2966
2967 2017-07-03  Yusuke Suzuki  <utatane.tea@gmail.com>
2968
2969         Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited
2970
2971         It requires too much memory.
2972
2973         * stress/dont-reserve-huge-capacity-lexer.js:
2974
2975 2017-06-30  Michael Saboff  <msaboff@apple.com>
2976
2977         Skip a test on ARM64 platform since we run out of address space.
2978
2979         Rubber stamped by Saam Barati.
2980
2981         * stress/dont-reserve-huge-capacity-lexer.js:
2982
2983 2017-06-30  Michael Saboff  <msaboff@apple.com>
2984
2985         RegExp's  anchored with .* with \g flag can return wrong match start for strings with multiple matches
2986         https://bugs.webkit.org/show_bug.cgi?id=174044
2987
2988         Reviewed by Oliver Hunt.
2989
2990         New regression test.
2991
2992         * stress/regress-174044.js: Added.
2993         (test1):
2994         (test2):
2995
2996 2017-06-30  Filip Pizlo  <fpizlo@apple.com>
2997
2998         RegExpCachedResult::setInput should reify left and right contexts
2999         https://bugs.webkit.org/show_bug.cgi?id=173818
3000
3001         Reviewed by Keith Miller.
3002
3003         * stress/right-left-context-invalidated-by-input.js: Added.
3004         (test.validateContexts):
3005         (test):
3006
3007 2017-06-29  Saam Barati  <sbarati@apple.com>
3008
3009         Calculating postCapacity in unshiftCountSlowCase is wrong
3010         https://bugs.webkit.org/show_bug.cgi?id=173992
3011         <rdar://problem/32283199>
3012
3013         Reviewed by Keith Miller.
3014
3015         * stress/unshiftCountSlowCase-correct-postCapacity.js: Added.
3016         (temp):
3017
3018 2017-06-29  Commit Queue  <commit-queue@webkit.org>
3019
3020         Unreviewed, rolling out r218512.
3021         https://bugs.webkit.org/show_bug.cgi?id=173981
3022
3023         "It changes the behavior of the JS API's JSEvaluateScript
3024         which breaks TurboTax" (Requested by saamyjoon on #webkit).
3025
3026         Reverted changeset:
3027
3028         "test262: Completion values for control flow do not match the
3029         spec"
3030         https://bugs.webkit.org/show_bug.cgi?id=171265
3031         http://trac.webkit.org/changeset/218512
3032
3033 2017-06-27  JF Bastien  <jfbastien@apple.com>
3034
3035         WebAssembly: running out of executable memory should throw OoM
3036         https://bugs.webkit.org/show_bug.cgi?id=171537
3037         <rdar://problem/32963338>
3038
3039         Reviewed by Saam Barati.
3040
3041         * wasm.yaml:
3042         * wasm/lowExecutableMemory/executable-memory-oom.js: Added.
3043         (const.invoke):
3044         (failCount.0.catch):
3045         (failCount.0.module.undefined.catch):
3046         * wasm/lowExecutableMemory/exports-oom.js: Added.
3047         (const.type):
3048         (const.params):
3049         (const.randomProgram):
3050         (failCount.0.catch):
3051         (failCount.0.module.undefined.catch):
3052         * wasm/lowExecutableMemory/imports-oom.js: Added.
3053         (const.type):
3054         (const.params):
3055         (const.randomProgram):
3056         (f.imports.push):
3057         (failCount.0.catch):
3058         (failCount.0.module.undefined.catch):
3059
3060 2017-06-27  Caio Lima  <ticaiolima@gmail.com>
3061
3062         [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
3063         https://bugs.webkit.org/show_bug.cgi?id=167962
3064
3065         Reviewed by Saam Barati.
3066
3067         * stress/object-rest-deconstruct.js: Added.
3068         (let.assert):
3069         (let.assertPropDescriptor):
3070         (catch):
3071         (get 3):
3072         (foo):
3073         (let.src.get y):
3074         (let.src.set y):
3075         (let.gen):
3076
3077 2017-06-27  Saam Barati  <sbarati@apple.com>
3078
3079         Function constructor needs to follow the spec and validate parameters and body independently
3080         https://bugs.webkit.org/show_bug.cgi?id=173303
3081         <rdar://problem/32732526>
3082
3083         Reviewed by Keith Miller.
3084
3085         * ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
3086         * stress/function-constructor-semantics.js: Added.
3087         (assert):
3088         (hasSyntaxError):
3089         (foo):
3090         (async.foo):
3091         (testError):
3092         (testOK.toString):
3093         (toString):
3094
3095 2017-06-26  Saam Barati  <sbarati@apple.com>
3096
3097         RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect
3098         https://bugs.webkit.org/show_bug.cgi?id=173740
3099
3100         Reviewed by Mark Lam.
3101
3102         * stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added.
3103         (Array.prototype.Symbol.iterator):
3104
3105 2017-06-26  Saam Barati  <sbarati@apple.com>
3106
3107         Skip a test on 32-bit platforms since we run out of address space.
3108
3109         Rubber stamped by Mark Lam.
3110
3111         * stress/dont-reserve-huge-capacity-lexer.js:
3112
3113 2017-06-26  Saam Barati  <sbarati@apple.com>
3114
3115         Crash in JSC::Lexer<unsigned char>::setCode
3116         https://bugs.webkit.org/show_bug.cgi?id=172754
3117
3118         Reviewed by Mark Lam.
3119
3120         * stress/dont-reserve-huge-capacity-lexer.js: Added.
3121         (catch):
3122
3123 2017-06-24  Yusuke Suzuki  <utatane.tea@gmail.com>
3124
3125         [JSC] Clean up Object.entries implementation
3126         https://bugs.webkit.org/show_bug.cgi?id=173759
3127
3128         Reviewed by Sam Weinig.
3129
3130         * microbenchmarks/object-entries.js: Added.
3131         (test):
3132
3133 2017-06-24  Joseph Pecoraro  <pecoraro@apple.com>
3134
3135         Remove Reflect.enumerate
3136         https://bugs.webkit.org/show_bug.cgi?id=173806
3137
3138         Reviewed by Yusuke Suzuki.
3139
3140         * ChakraCore.yaml:
3141         * es6.yaml:
3142         These tests now fail because they use Reflect.enumerate.
3143
3144         * test262.yaml:
3145         This test now passes, it checked that Reflect.enumerate is undefined!
3146
3147         * stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:
3148         Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>
3149
3150         * stress/reflect-enumerate.js: Removed.
3151         Remove a test solely for Reflect.enumerate.
3152
3153 2017-06-22  Saam Barati  <sbarati@apple.com>
3154
3155         ValueRep(DoubleRep(@v)) can not simply convert to @v
3156         https://bugs.webkit.org/show_bug.cgi?id=173687
3157         <rdar://problem/32855563>
3158
3159         Reviewed by Mark Lam.
3160
3161         * stress/dont-strength-reduce-valuerep-of-doublerep.js: Added.
3162         (i.catch):
3163
3164 2017-06-22  Yusuke Suzuki  <utatane.tea@gmail.com>
3165
3166         [JSC] Object.values should be implemented in C++
3167         https://bugs.webkit.org/show_bug.cgi?id=173703
3168
3169         Reviewed by Sam Weinig.
3170
3171         * microbenchmarks/object-keys-map-values.js: Added.
3172         (test):
3173         * microbenchmarks/object-values.js: Added.
3174         (test):
3175         * stress/object-values-changing-properties.js: Added.
3176         (shouldBe):
3177         (throw.new.Error.let.source.get x):
3178         (throw.new.Error):
3179         (shouldBe.let.handler.get order):
3180         (get let):
3181         (shouldBe.let.handler.get return):
3182         (let.handler.get order):
3183
3184 2017-06-21  Saam Barati  <sbarati@apple.com>
3185
3186         eval virtual call is incorrect in the baseline JIT
3187         https://bugs.webkit.org/show_bug.cgi?id=173587
3188         <rdar://problem/32867897>
3189
3190         Reviewed by Michael Saboff.
3191
3192         * stress/do-eval-virtual-call-correctly.js: Added.
3193         (assert):
3194         (f):
3195         (i.test):
3196         (catch):
3197
3198 2017-06-20  Ryan Haddad  <ryanhaddad@apple.com>
3199
3200         Update test262 test expectations after r218581.
3201
3202         Unreviewed test gardening.
3203
3204         * test262.yaml:
3205
3206 2017-06-20  Oleksandr Skachkov  <gskachkov@gmail.com>
3207
3208         Revert changes in bug#160417 about extending `null` not being a derived class
3209         https://bugs.webkit.org/show_bug.cgi?id=169293
3210
3211         Reviewed by Saam Barati.
3212
3213         * stress/class-derived-from-null.js:
3214         (assertThrow):
3215         (test1):
3216         (test2):
3217         (test3):
3218         (test4):
3219         (test5):
3220         (test6):
3221
3222 2017-06-13  Yusuke Suzuki  <utatane.tea@gmail.com>
3223
3224         [DFG] More ArrayIndexOf fixups for various types
3225         https://bugs.webkit.org/show_bug.cgi?id=173176
3226
3227         Reviewed by Saam Barati.
3228
3229         * stress/array-indexof-arraystorage.js: Added.
3230         (shouldBe):
3231         (indexOfInt32Other):
3232         (indexOfInt32Cell):
3233         (indexOfInt32Boolean):
3234         (indexOfDoubleOther):
3235         (indexOfDoubleCell):
3236         (indexOfDoubleBoolean):
3237         (indexOfInt32):
3238         (indexOfDouble):
3239         * stress/array-indexof-constant-folding.js: Added.
3240         (shouldBe):
3241         (indexOfInt32Other):
3242         (indexOfInt32Cell):
3243         (indexOfInt32Boolean):
3244         (indexOfDoubleOther):
3245         (indexOfDoubleCell):
3246         (indexOfDoubleBoolean):
3247         * stress/array-indexof-hole-and-other.js: Added.
3248         (shouldBe):
3249         (indexOf):
3250         * stress/array-indexof-other.js: Added.
3251         (shouldBe):
3252         (indexOfInt32):
3253         (indexOfDouble):
3254         (indexOfString):
3255         (indexOfObject):
3256         * stress/array-indexof-symbol.js: Added.
3257         (shouldBe):
3258         (indexOfInt32):
3259         (indexOfDouble):
3260         (indexOfString):
3261         (indexOfObject):
3262
3263 2017-06-19  Joseph Pecoraro  <pecoraro@apple.com>
3264
3265         test262: Completion values for control flow do not match the spec
3266         https://bugs.webkit.org/show_bug.cgi?id=171265
3267
3268         Reviewed by Saam Barati.
3269
3270         * stress/completion-value.js:
3271         Condensed test for completion values in top level statements.
3272
3273         * stress/super-get-by-id.js:
3274         ClassDeclaration when evaled no longer produce values. Convert
3275         these to ClassExpressions so they produce the class value.
3276         
3277         * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
3278         This is a progression for currect spec behavior.
3279
3280         * mozilla/mozilla-tests.yaml:
3281         This test is now outdated, so mark it as failing for that reason.
3282
3283         * test262.yaml:
3284         Passing all "cptn" completion value tests.
3285
3286 2017-06-17  Keith Miller  <keith_miller@apple.com>
3287
3288         ArrayBuffer constructor needs to create subclass structures before its buffer
3289         https://bugs.webkit.org/show_bug.cgi?id=173510
3290
3291         Reviewed by Yusuke Suzuki.
3292
3293         * test262.yaml:
3294
3295 2017-06-17  Keith Miller  <keith_miller@apple.com>
3296
3297         ArrayPrototype methods should use JSValue::toLength for non-Arrays.
3298         https://bugs.webkit.org/show_bug.cgi?id=173506
3299
3300         Reviewed by Ryosuke Niwa.
3301
3302         Re-baseline tests.
3303
3304         * ChakraCore/test/Function/apply3.baseline-jsc:
3305         * test262.yaml:
3306
3307 2017-06-16  Yusuke Suzuki  <utatane.tea@gmail.com>
3308
3309         [JSC] Add fast path for Object.assign
3310         https://bugs.webkit.org/show_bug.cgi?id=173416
3311
3312         Reviewed by Mark Lam.
3313
3314         * stress/object-assign-changing-properties.js: Added.
3315         (shouldBe):
3316         (throw.new.Error.let.source.get x):
3317         (throw.new.Error):
3318         (shouldBe.let.source.get x):
3319         (shouldBe.let.target.set x):
3320         (shouldBe.let.target.get x):
3321         * stress/object-assign-proxy.js: Added.
3322         (shouldBe):
3323         (throw.new.Error.let.handler.get order):
3324
3325 2017-06-15  Yusuke Suzuki  <utatane.tea@gmail.com>
3326
3327         [JSC] Implement Object.assign in C++
3328         https://bugs.webkit.org/show_bug.cgi?id=173414
3329
3330         Reviewed by Saam Barati.
3331
3332         * stress/object-assign-string-first.js: Added.
3333         (shouldBe):
3334         (source.get Symbol):
3335         (source.get 1):
3336         (source.get cocoa):
3337
3338 2017-06-14  JF Bastien  <jfbastien@apple.com>
3339
3340         WebAssembly: remove empty test files
3341         https://bugs.webkit.org/show_bug.cgi?id=173382
3342
3343         Reviewed by Saam Barati.
3344
3345         The following files:
3346                 JSTests/wasm/function-tests/call-indirect-params.js
3347                 JSTests/wasm/function-tests/call-indirect.js
3348                 JSTests/wasm/js-api/call-indirect-results.js
3349         Were changed to empty files in https://trac.webkit.org/changeset/209771
3350
3351         They were testing call_indirect with the wrong semantics, before
3352         we implemented tables. That change implemented tables and
3353         therefore removed the erroneous tests.
3354
3355         We have a few tests for call_indirect which already do the right thing:
3356                 JSTests/wasm/function-tests/context-switch.js
3357                 JSTests/wasm/function-tests/exceptions.js
3358                 JSTests/wasm/function-tests/grow-memory-2.js
3359                 JSTests/wasm/function-tests/stack-overflow.js
3360                 JSTests/wasm/function-tests/table-basic-2.js
3361                 JSTests/wasm/function-tests/table-basic.js
3362                 JSTests/wasm/js-api/call-indirect.js
3363                 JSTests/wasm/js-api/table.js
3364                 JSTests/wasm/js-api/unique-signature.js
3365                 JSTests/wasm/js-api/wrapper-function.js
3366
3367         I also just imported the updated spec tests which, among other
3368         things, test call_indirect:
3369                 core/br.wast
3370                 core/br_table.wast
3371                 core/call_indirect.wast
3372                 core/func.wast
3373                 core/func_ptrs.wast
3374                 core/imports.wast
3375                 core/left-to-right.wast
3376                 core/linking.wast
3377                 core/nop.wast
3378                 core/return.wast
3379                 core/typecheck.wast
3380                 core/unreachable.wast
3381
3382         So I think it's OK to just delete the tests which should just have
3383         been deleted back when tables were added.
3384
3385         * wasm/function-tests/call-indirect-params.js: Removed.
3386         * wasm/function-tests/call-indirect.js: Removed.
3387         * wasm/js-api/call-indirect-results.js: Removed.
3388
3389 2017-06-13  JF Bastien  <jfbastien@apple.com>
3390
3391         WebAssembly: import updated spec tests
3392         https://bugs.webkit.org/show_bug.cgi?id=173287
3393         <rdar://problem/32725975>
3394
3395         Reviewed by Saam Barati.
3396
3397         Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b,
3398         with a few modifications so things work.
3399
3400         Fix a bunch of bugs found through this process, and punt a few tests (which I
3401         marked as blocked by this bug).
3402
3403         Fixes:
3404
3405         Fix load / store alignment: r216908 erroneously implemented it as bit alignment
3406         instead of byte alignment. It was also missing memory-alignment.js despite it
3407         being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to
3408         pass.
3409
3410         Tables can be imported or in a section. There can be only one, but sections can
3411         be empty. An Elements section can exist if there's no Table, as long as it is
3412         also empty.
3413
3414         Memories can be imported or in a section. There can be only one, but sections
3415         can be empty. A Data section can exist if there's no Memory, as long as it is
3416         also empty.
3417
3418         Prototypes: stringify without .prototype. in the string.
3419
3420         WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter,
3421         not a final size, and throws a RangeError on failure, not a TypeError.
3422
3423         Fix compile / instantiate so the reject the promise if given an argument of the
3424         wrong type (instead of failing instantly).
3425
3426         Fix async on neuter test.
3427
3428         Element section shouldn't affect any Table if any of the elements are out of
3429         bounds. We need to process it in two passes.
3430
3431         Segment section shouldn't affect any Data if any of the segments are out of
3432         bounds. We need to process it in two passes.
3433
3434         Empty data segments are valid, but only when there is no memory. Their index
3435         still gets validated, and has to be zero.
3436
3437         Punts:
3438
3439         Error messages with context, the test seems overly restrictive but this is
3440         minor.
3441
3442         compile/instantiate/validate property descriptors.
3443
3444         UTF-8 bugs.
3445
3446         Temporarily disable NaN tests. We need to go back and implement the following
3447         semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as
3448         much as getting all the other tests passing.
3449
3450         Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as
3451         no_fold_promote_demote (an interesting corner case which we get wrong). mul by
3452         one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const
3453         0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN
3454         to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\"
3455         (i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure
3456         why they're not allowed.
3457
3458         * wasm.yaml:
3459         * wasm/function-tests/i32-load8-s.js:
3460         * wasm/function-tests/memory-access-past-4gib.js:
3461         (const.op.of.WASM.opcodes):
3462         * wasm/function-tests/memory-alignment.js: Added.
3463         (const.op.of.WASM.opcodes):
3464         * wasm/function-tests/memory-section-and-import.js:
3465         * wasm/js-api/Module-compile.js:
3466         (async.testPromiseAPI):
3467         * wasm/js-api/dont-mmap-zero-byte-memory.js:
3468         (testMems):
3469         * wasm/js-api/element.js:
3470         (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3471         * wasm/js-api/neutered-inputs.js:
3472         (const.testFunction): Deleted.
3473         (const.testConstructor): Deleted.
3474         * wasm/js-api/table.js:
3475         (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3476         (new.WebAssembly.Module):
3477         (assert.throws):
3478         (assertBadTableImport):
3479         (assert.throws.WebAssembly.Table.prototype.grow):
3480         (assertBadTableInstance): Deleted.
3481         * wasm/js-api/test_Data.js:
3482         (DataSectionWithoutMemory):
3483         * wasm/spec-harness/index.js:
3484         (module):
3485         (uniqueTest): Deleted.
3486         (assert_invalid): Deleted.
3487         (assert_soft_invalid): Deleted.
3488         (register): Deleted.
3489         (call): Deleted.
3490         (get instance): Deleted.
3491         (exports): Deleted.
3492         (run): Deleted.
3493         (assert_unlinkable): Deleted.
3494         (assert_uninstantiable): Deleted.
3495         (assert_trap): Deleted.
3496         (try.f): Deleted.
3497         (catch): Deleted.
3498         (assert_exhaustion): Deleted.
3499         (assert_return): Deleted.
3500         (assert_return_nan): Deleted.
3501         * wasm/spec-harness/testharness.css: Removed.
3502         * wasm/spec-harness/testharness.js: Removed.
3503         * wasm/spec-harness/testharnessreport.js: Removed.
3504         * wasm/spec-harness/wasm-constants.js:
3505         (assertTraps):
3506         (assertWasmThrows):
3507         * wasm/spec-harness/wasm-module-builder.js:
3508         (Binary.prototype.emit_section):
3509         (Binary):
3510         (WasmFunctionBuilder.prototype.addBody):
3511         (WasmFunctionBuilder.prototype.end):
3512         (WasmFunctionBuilder):
3513         (WasmModuleBuilder.prototype.stringToBytes):
3514         (WasmModuleBuilder.prototype.addCustomSection):
3515         (WasmModuleBuilder.prototype.addFunctionTableInit):
3516         (WasmModuleBuilder.prototype.appendToTable):
3517         (WasmModuleBuilder.prototype.toArray):
3518         (WasmModuleBuilder.prototype.toBuffer):
3519         (WasmModuleBuilder.prototype.instantiate):
3520         (WasmModuleBuilder):
3521         * wasm/spec-tests/address.wast.js:
3522         * wasm/spec-tests/align.wast.js: Added.
3523         * wasm/spec-tests/binary.wast.js:
3524         * wasm/spec-tests/block.wast.js:
3525         * wasm/spec-tests/br.wast.js:
3526         * wasm/spec-tests/br_if.wast.js:
3527         * wasm/spec-tests/br_table.wast.js:
3528         * wasm/spec-tests/call.wast.js:
3529         * wasm/spec-tests/call_indirect.wast.js:
3530         * wasm/spec-tests/comments.wast.js:
3531         * wasm/spec-tests/const.wast.js: Added.
3532         * wasm/spec-tests/conversions.wast.js: Added.
3533         * wasm/spec-tests/custom_section.wast.js:
3534         * wasm/spec-tests/exports.wast.js:
3535         * wasm/spec-tests/f32.wast.js: Added.
3536         * wasm/spec-tests/f64.wast.js: Added.
3537         * wasm/spec-tests/fac.wast.js:
3538         * wasm/spec-tests/float_exprs.wast.js: Added.
3539         * wasm/spec-tests/float_misc.wast.js: Added.
3540         * wasm/spec-tests/func.wast.js:
3541         * wasm/spec-tests/globals.wast.js:
3542         * wasm/spec-tests/if.wast.js:
3543         * wasm/spec-tests/imports.wast.js:
3544         * wasm/spec-tests/inline-module.wast.js: Added.
3545         * wasm/spec-tests/jsapi.js:
3546         (testJSAPI.test):
3547         (testJSAPI):
3548         * wasm/spec-tests/labels.wast.js:
3549         * wasm/spec-tests/loop.wast.js:
3550         * wasm/spec-tests/memory.wast.js:
3551         * wasm/spec-tests/memory_trap.wast.js: Added.
3552         * wasm/spec-tests/names.wast.js:
3553         * wasm/spec-tests/nop.wast.js:
3554         * wasm/spec-tests/return.wast.js:
3555         * wasm/spec-tests/stack.wast.js:
3556         * wasm/spec-tests/token.wast.js: Added.
3557         * wasm/spec-tests/type.wast.js: Added.
3558         * wasm/spec-tests/typecheck.wast.js:
3559         * wasm/spec-tests/unreachable.wast.js:
3560         * wasm/spec-tests/unreached-invalid.wast.js:
3561         * wasm/spec-tests/unwind.wast.js:
3562         * wasm/spec-tests/utf8-custom-section-id.wast.js: Added.
3563         * wasm/spec-tests/utf8-import-field.wast.js: Added.
3564         * wasm/spec-tests/utf8-import-module.wast.js: Added.
3565
3566 2017-06-13  Ryan Haddad  <ryanhaddad@apple.com>
3567
3568         Unreviewed JSC test gardening.
3569
3570         * stress/check-string-ident.js:
3571         * stress/new-largeish-contiguous-array-with-size.js:
3572
3573 2017-06-13  Michael Saboff  <msaboff@apple.com>
3574
3575         DFG doesn't properly handle a property that is change to read only in a prototype
3576         https://bugs.webkit.org/show_bug.cgi?id=173321
3577
3578         Reviewed by Filip Pizlo.
3579
3580         * ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js.
3581         * stress/regress-173321.js: Added new regression test.
3582         (shouldBe):
3583         (SimpleObject):
3584         (test):
3585
3586 2017-06-12  Saam Barati  <sbarati@apple.com>
3587
3588         Update test262 test expectation since r218082 makes new tests pass.
3589
3590         * test262.yaml:
3591
3592 2017-06-12  Saam Barati  <sbarati@apple.com>
3593
3594         We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms
3595         https://bugs.webkit.org/show_bug.cgi?id=172957
3596         <rdar://problem/32602704>
3597
3598         Reviewed by Filip Pizlo.
3599
3600         * stress/spec-empty-flows-through-cell-checks.js: Added.
3601         (A):
3602         (B):
3603         (i.catch):
3604
3605 2017-06-12  Oleksandr Skachkov  <gskachkov@gmail.com>
3606
3607         We incorrectly allow escaped characters in keyword tokens
3608         https://bugs.webkit.org/show_bug.cgi?id=171310
3609
3610         Reviewed by Yusuke Suzuki.
3611
3612         * stress/destructuring-assignment-syntax.js:
3613         * stress/error-messages-for-in-operator-should-not-crash.js:
3614         (catch):
3615         * stress/reserved-word-with-escape.js:
3616         (testSyntaxError.String.raw.v):
3617         (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
3618         (testSyntaxError.String.raw.a):
3619         * JSTests/ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc:
3620
3621 2017-06-09  Yusuke Suzuki  <utatane.tea@gmail.com>
3622
3623         [DFG] Add ArrayIndexOf intrinsic
3624         https://bugs.webkit.org/show_bug.cgi?id=172421
3625
3626         Reviewed by Saam Barati.
3627
3628         * stress/array-indexof-array-prototype-change.js: Added.
3629         (shouldBe):
3630         (indexOfInt32):
3631         * stress/array-indexof-have-a-bad-time-getter.js: Added.
3632         (shouldBe):
3633         (indexOfInt32):
3634         * stress/array-indexof-have-a-bad-time.js: Added.
3635         (shouldBe):
3636         (indexOfInt32):
3637         * stress/array-indexof-hole-with-prototype.js: Added.
3638         (shouldBe):
3639         (indexOf):
3640         * stress/array-indexof-hole.js: Added.
3641         (shouldBe):
3642         (indexOf):
3643         * stress/array-indexof-index.js: Added.
3644         (shouldBe):
3645         (indexOfInt32):
3646         (indexOfDouble):
3647         (indexOfString):
3648         (indexOfObject):
3649         (indexOfValue):
3650         * stress/array-indexof-negative-index.js: Added.
3651         (shouldBe):
3652         (indexOfInt32):
3653         (indexOfDouble):
3654         (indexOfString):
3655         (indexOfObject):
3656         (indexOfValue):
3657         * stress/array-indexof-non-int32-start-index.js: Added.
3658         (shouldBe):
3659         (indexOf):
3660         (object.valueOf):
3661         * stress/array-indexof-object-prototype-change.js: Added.
3662         (shouldBe):
3663         (indexOfInt32):
3664         * stress/array-indexof-object.js: Added.
3665         (shouldBe):
3666         (indexOf):
3667         * stress/array-indexof-original-array.js: Added.
3668         (shouldBe):
3669         (indexOfInt32):
3670         * stress/array-indexof-string.js: Added.
3671         (shouldBe):
3672         (indexOf):
3673         * stress/array-indexof-structure-change-convert.js: Added.
3674         (shouldBe):
3675         (indexOf):
3676         * stress/array-indexof-structure-change.js: Added.
3677         (shouldBe):
3678         (indexOf):
3679         * stress/array-indexof.js: Added.
3680         (shouldBe):
3681         (indexOf):
3682
3683 2017-06-11  Keith Miller  <keith_miller@apple.com>
3684
3685         TypedArray constructor with string shouldn't throw
3686         https://bugs.webkit.org/show_bug.cgi?id=173181
3687
3688         Reviewed by JF Bastien.
3689
3690         We should be coercing primitive arguments to numbers in the various
3691         TypedArray constructors.
3692
3693         * stress/typedarray-constructor.js:
3694
3695 2017-06-11  Yusuke Suzuki  <utatane.tea@gmail.com>
3696
3697         Unreviewed, update test results part 3
3698         https://bugs.webkit.org/show_bug.cgi?id=173227
3699
3700         * microbenchmarks/regexp-prototype-search-observable-side-effects.js:
3701
3702 2017-06-10  Yusuke Suzuki  <utatane.tea@gmail.com>
3703
3704         Unreviewed, update test results part 2
3705         https://bugs.webkit.org/show_bug.cgi?id=173227
3706
3707         * test262.yaml:
3708
3709 2017-06-10  Yusuke Suzuki  <utatane.tea@gmail.com>
3710
3711         Unreviewed, update test results
3712         https://bugs.webkit.org/show_bug.cgi?id=173227
3713
3714         * microbenchmarks/string-prototype-search-observable-side-effects.js:
3715         * test262.yaml:
3716
3717 2017-06-10  Yusuke Suzuki  <utatane.tea@gmail.com>
3718
3719         [JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec
3720         https://bugs.webkit.org/show_bug.cgi?id=173227
3721
3722         Reviewed by Mark Lam.
3723
3724         Update the test.