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