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