1 2017-11-05 Yusuke Suzuki <utatane.tea@gmail.com>
3 JIT call inline caches should cache calls to objects with getCallData/getConstructData traps
4 https://bugs.webkit.org/show_bug.cgi?id=144458
6 Reviewed by Saam Barati.
8 * microbenchmarks/dfg-internal-function-call.js: Added.
10 * microbenchmarks/dfg-internal-function-construct.js: Added.
12 * microbenchmarks/dfg-internal-function-not-handled-call.js: Added.
14 * microbenchmarks/dfg-internal-function-not-handled-construct.js: Added.
16 * stress/dfg-internal-function-call.js: Added.
19 * stress/dfg-internal-function-construct.js: Added.
22 * stress/internal-function-call.js: Added.
24 * stress/internal-function-construct.js: Added.
27 2017-11-05 Per Arne Vollan <pvollan@apple.com>
29 [Win] Skip stress/regress-178385.js.
30 https://bugs.webkit.org/show_bug.cgi?id=179298
32 Unreviewed test gardening.
34 * stress/regress-178385.js:
36 2017-11-03 Keith Miller <keith_miller@apple.com>
38 Add test for ic with side effects
39 https://bugs.webkit.org/show_bug.cgi?id=179268
41 Reviewed by Saam Barati.
43 * stress/put-inline-cache-side-effects.js: Added.
47 2017-11-03 Mark Lam <mark.lam@apple.com>
49 CachedCall (and its clients) needs overflow checks.
50 https://bugs.webkit.org/show_bug.cgi?id=179185
52 Reviewed by JF Bastien.
54 * stress/regress-179185.js: Added.
56 2017-11-02 Michael Saboff <msaboff@apple.com>
58 DFG needs to handle code motion of code in for..in loop bodies
59 https://bugs.webkit.org/show_bug.cgi?id=179212
61 Reviewed by Keith Miller.
65 * stress/for-in-side-effects.js: Added.
73 2017-11-02 Filip Pizlo <fpizlo@apple.com>
75 AI does not correctly model the clobber case of ArithClz32
76 https://bugs.webkit.org/show_bug.cgi?id=179188
78 Reviewed by Michael Saboff.
80 * stress/arith-clz32-effects.js: Added.
84 2017-11-01 Michael Saboff <msaboff@apple.com>
86 Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
87 https://bugs.webkit.org/show_bug.cgi?id=179140
89 Reviewed by Saam Barati.
93 * stress/regress-179140.js: Added.
97 2017-11-01 Yusuke Suzuki <utatane.tea@gmail.com>
99 [JSC] Introduce @toObject
100 https://bugs.webkit.org/show_bug.cgi?id=178726
102 Reviewed by Saam Barati.
104 * stress/array-copywithin.js:
106 * stress/object-constructor-boolean-edge.js: Added.
109 * stress/object-constructor-global.js: Added.
111 * stress/object-constructor-null-edge.js: Added.
114 * stress/object-constructor-number-edge.js: Added.
117 * stress/object-constructor-object-edge.js: Added.
121 * stress/object-constructor-string-edge.js: Added.
124 * stress/object-constructor-symbol-edge.js: Added.
127 * stress/object-constructor-undefined-edge.js: Added.
130 * stress/symbol-array-from.js: Added.
132 * stress/to-object-intrinsic-boolean-edge.js: Added.
134 (builtin.createBuiltin):
135 * stress/to-object-intrinsic-null-or-undefined-edge.js: Added.
137 * stress/to-object-intrinsic-number-edge.js: Added.
139 (builtin.createBuiltin):
140 * stress/to-object-intrinsic-object-edge.js: Added.
142 (builtin.createBuiltin):
144 * stress/to-object-intrinsic-string-edge.js: Added.
146 (builtin.createBuiltin):
147 * stress/to-object-intrinsic-symbol-edge.js: Added.
149 (builtin.createBuiltin):
150 * stress/to-object-intrinsic.js: Added.
153 (builtin.createBuiltin):
155 2017-10-27 Yusuke Suzuki <utatane.tea@gmail.com>
157 [DFG][FTL] Introduce StringSlice
158 https://bugs.webkit.org/show_bug.cgi?id=178934
160 Reviewed by Saam Barati.
162 * microbenchmarks/string-slice-empty.js: Added.
164 * microbenchmarks/string-slice-one-char.js: Added.
166 * microbenchmarks/string-slice.js: Added.
169 2017-10-26 Michael Saboff <msaboff@apple.com>
171 REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum
172 https://bugs.webkit.org/show_bug.cgi?id=178890
174 Reviewed by Keith Miller.
178 * stress/regress-178890.js: Added.
180 2017-10-26 Mark Lam <mark.lam@apple.com>
182 JSRopeString::RopeBuilder::append() should check for overflows.
183 https://bugs.webkit.org/show_bug.cgi?id=178385
184 <rdar://problem/35027468>
186 Reviewed by Saam Barati.
188 * stress/regress-178385.js: Added.
190 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
192 Unreviewed, rolling out r223961.
194 The change that required this has been rolled out.
198 "Mark test262.yaml/test262/test/language/statements/try/tco-
199 catch.js as passing."
200 https://bugs.webkit.org/show_bug.cgi?id=178592
201 https://trac.webkit.org/changeset/223961
203 2017-10-25 Commit Queue <commit-queue@webkit.org>
205 Unreviewed, rolling out r223691 and r223729.
206 https://bugs.webkit.org/show_bug.cgi?id=178834
208 Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
209 by rniwa on #webkit).
213 "Turn recursive tail calls into loops"
214 https://bugs.webkit.org/show_bug.cgi?id=176601
215 https://trac.webkit.org/changeset/223691
217 "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
218 comparison is always false due to limited range of data type
220 https://bugs.webkit.org/show_bug.cgi?id=178543
221 https://trac.webkit.org/changeset/223729
223 2017-10-25 Ryan Haddad <ryanhaddad@apple.com>
225 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
226 https://bugs.webkit.org/show_bug.cgi?id=178592
228 Unreviewed test gardening.
232 2017-10-24 Yusuke Suzuki <utatane.tea@gmail.com>
234 [FTL] Support NewStringObject
235 https://bugs.webkit.org/show_bug.cgi?id=178737
237 Reviewed by Saam Barati.
239 * stress/new-string-object.js: Added.
243 2017-10-15 Yusuke Suzuki <utatane.tea@gmail.com>
245 [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
246 https://bugs.webkit.org/show_bug.cgi?id=178308
248 Reviewed by Mark Lam.
252 2017-10-23 Yusuke Suzuki <utatane.tea@gmail.com>
254 [JSC] Use fastJoin in Array#toString
255 https://bugs.webkit.org/show_bug.cgi?id=178062
257 Reviewed by Darin Adler.
259 * microbenchmarks/contiguous-array-to-string.js: Added.
261 * microbenchmarks/double-array-to-string.js: Added.
263 * microbenchmarks/int32-array-to-string.js: Added.
266 2017-10-22 Zan Dobersek <zdobersek@igalia.com>
268 stress/check-string-ident.js is improperly skipped
269 https://bugs.webkit.org/show_bug.cgi?id=178642
271 Reviewed by Saam Barati.
273 * stress/check-string-ident.js: Drop the defaultNoEagerRun directive
274 since it enforces the run-jsc-stress-tests script to still set up the
275 test to run, despite the skip directive that's used before.
277 2017-10-20 Mark Lam <mark.lam@apple.com>
279 Add a test case for r214334.
280 https://bugs.webkit.org/show_bug.cgi?id=169941
281 <rdar://problem/31221258>
283 Reviewed by JF Bastien.
285 * stress/regress-169941.js: Added.
287 2017-10-19 JF Bastien <jfbastien@apple.com>
289 WebAssembly: no VM / JS version of everything but Instance
290 https://bugs.webkit.org/show_bug.cgi?id=177473
292 Reviewed by Filip Pizlo, Saam Barati.
294 - Exceeding max on memory growth now returns a range error as per
295 spec. This is a (very minor) breaking change: it used to throw OOM
296 error. Update the corresponding test.
298 * wasm/js-api/memory-grow.js:
300 * wasm/js-api/table.js:
303 2017-10-19 Mark Lam <mark.lam@apple.com>
305 Stringifier::appendStringifiedValue() is missing an exception check.
306 https://bugs.webkit.org/show_bug.cgi?id=178386
307 <rdar://problem/35027610>
309 Reviewed by Saam Barati.
311 * stress/regress-178386.js: Added.
313 2017-10-19 Michael Saboff <msaboff@apple.com>
315 Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
316 https://bugs.webkit.org/show_bug.cgi?id=178521
318 Reviewed by JF Bastien.
320 * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
321 now passes with the current version (5.0) of the Emoji spec.
323 2017-10-19 Robin Morisset <rmorisset@apple.com>
325 Turn recursive tail calls into loops
326 https://bugs.webkit.org/show_bug.cgi?id=176601
328 Reviewed by Saam Barati.
330 Add some simple test that computes factorial in several ways, and other trivial computations.
331 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
332 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
333 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
334 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
336 * stress/inline-call-to-recursive-tail-call.js: Added.
348 2017-10-18 Mark Lam <mark.lam@apple.com>
350 RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
351 https://bugs.webkit.org/show_bug.cgi?id=177600
352 <rdar://problem/34710985>
354 Reviewed by Saam Barati.
356 * stress/regress-177600.js: Added.
358 2017-10-18 Mark Lam <mark.lam@apple.com>
360 The compiler should always register a structure when it adds its transitionWatchPointSet.
361 https://bugs.webkit.org/show_bug.cgi?id=178420
362 <rdar://problem/34814024>
364 Reviewed by Saam Barati and Filip Pizlo.
366 * stress/regress-178420.js: Added.
367 (new.Array.10000.map):
369 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com>
371 [JSC] __proto__ getter should be fast
372 https://bugs.webkit.org/show_bug.cgi?id=178067
374 Reviewed by Saam Barati.
376 * stress/dfg-object-proto-accessor.js: Added.
380 * stress/dfg-object-proto-getter.js: Added.
384 * stress/dfg-object-prototype-of.js: Added.
388 * stress/dfg-reflect-get-prototype-of.js: Added.
392 * stress/intrinsic-getter-with-poly-proto.js: Added.
394 (makePolyProtoObject.foo.C):
395 (makePolyProtoObject.foo):
396 (makePolyProtoObject):
398 * stress/object-get-prototype-of-filtered.js: Added.
403 * stress/object-get-prototype-of-mono-proto.js: Added.
405 (makePolyProtoObject.foo.C):
406 (makePolyProtoObject.foo):
407 (makePolyProtoObject):
409 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
411 (makePolyProtoObject.foo.C):
412 (makePolyProtoObject.foo):
413 (makePolyProtoObject):
415 * stress/object-get-prototype-of-poly-proto.js: Added.
417 (makePolyProtoObject.foo.C):
418 (makePolyProtoObject.foo):
419 (makePolyProtoObject):
421 * stress/object-proto-getter-filtered.js: Added.
426 * stress/object-proto-getter-poly-mono-proto.js: Added.
428 (makePolyProtoObject.foo.C):
429 (makePolyProtoObject.foo):
430 (makePolyProtoObject):
432 * stress/object-proto-getter-poly-proto.js: Added.
434 (makePolyProtoObject.foo.C):
435 (makePolyProtoObject.foo):
436 (makePolyProtoObject):
438 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
439 * stress/string-proto.js: Added.
443 2017-10-17 Ryan Haddad <ryanhaddad@apple.com>
445 Unreviewed, rolling out r223523.
447 A test for this change is failing on debug JSC bots.
451 "[JSC] __proto__ getter should be fast"
452 https://bugs.webkit.org/show_bug.cgi?id=178067
453 https://trac.webkit.org/changeset/223523
455 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com>
457 [JSC] __proto__ getter should be fast
458 https://bugs.webkit.org/show_bug.cgi?id=178067
460 Reviewed by Saam Barati.
462 * stress/dfg-object-proto-accessor.js: Added.
466 * stress/dfg-object-proto-getter.js: Added.
470 * stress/dfg-object-prototype-of.js: Added.
474 * stress/dfg-reflect-get-prototype-of.js: Added.
478 * stress/object-get-prototype-of-filtered.js: Added.
483 * stress/object-get-prototype-of-mono-proto.js: Added.
485 (makePolyProtoObject.foo.C):
486 (makePolyProtoObject.foo):
487 (makePolyProtoObject):
489 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
491 (makePolyProtoObject.foo.C):
492 (makePolyProtoObject.foo):
493 (makePolyProtoObject):
495 * stress/object-get-prototype-of-poly-proto.js: Added.
497 (makePolyProtoObject.foo.C):
498 (makePolyProtoObject.foo):
499 (makePolyProtoObject):
501 * stress/object-proto-getter-filtered.js: Added.
506 * stress/object-proto-getter-poly-mono-proto.js: Added.
508 (makePolyProtoObject.foo.C):
509 (makePolyProtoObject.foo):
510 (makePolyProtoObject):
512 * stress/object-proto-getter-poly-proto.js: Added.
514 (makePolyProtoObject.foo.C):
515 (makePolyProtoObject.foo):
516 (makePolyProtoObject):
518 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
519 * stress/string-proto.js: Added.
523 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com>
525 Reland "Add Above/Below comparisons for UInt32 patterns"
526 https://bugs.webkit.org/show_bug.cgi?id=177281
528 Reviewed by Saam Barati.
530 * stress/uint32-comparison-jump.js: Added.
540 * stress/uint32-comparison.js: Added.
551 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com>
553 WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
554 https://bugs.webkit.org/show_bug.cgi?id=178210
556 Reviewed by Saam Barati.
558 * wasm/function-tests/trap-from-start-async.js:
559 (async.StartTrapsAsync):
560 * wasm/function-tests/trap-from-start.js:
562 * wasm/js-api/web-assembly-function.js:
563 (assert.eq.Object.getPrototypeOf):
564 * wasm/js-api/wrapper-function.js:
565 (return.new.WebAssembly.Module):
566 (assert.throws.makeInstance): Deleted.
567 (assert.throws.Bar): Deleted.
568 (assert.throws): Deleted.
570 2017-09-29 Filip Pizlo <fpizlo@apple.com>
572 Enable gigacage on iOS
573 https://bugs.webkit.org/show_bug.cgi?id=177586
575 Reviewed by JF Bastien.
577 Add tests for when Gigacage gets runtime disabled.
579 * stress/disable-gigacage-arrays.js: Added.
581 * stress/disable-gigacage-strings.js: Added.
583 * stress/disable-gigacage-typed-arrays.js: Added.
586 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com>
588 import.meta should not be assignable
589 https://bugs.webkit.org/show_bug.cgi?id=178202
591 Reviewed by Saam Barati.
593 * modules/import-meta-assignment.js: Added.
595 (SyntaxError.import.meta.can.shouldThrow):
597 2017-10-11 Saam Barati <sbarati@apple.com>
599 Unreviewed. Actually skip certain type profiler tests in debug.
602 * typeProfiler/deltablue-for-of.js:
603 * typeProfiler/getter-richards.js:
605 2017-10-11 Commit Queue <commit-queue@webkit.org>
607 Unreviewed, rolling out r223113 and r223121.
608 https://bugs.webkit.org/show_bug.cgi?id=178182
610 Reintroduced 20% regression on Kraken (Requested by rniwa on
615 "Enable gigacage on iOS"
616 https://bugs.webkit.org/show_bug.cgi?id=177586
617 https://trac.webkit.org/changeset/223113
619 "Use one virtual allocation for all gigacages and their
621 https://bugs.webkit.org/show_bug.cgi?id=178050
622 https://trac.webkit.org/changeset/223121
624 2017-10-11 Michael Saboff <msaboff@apple.com>
626 Disable test262 named capture group tests with direct unicode names and with references before definitions
627 https://bugs.webkit.org/show_bug.cgi?id=178177
629 Reviewed by Keith Miller.
631 Bugs to track fixing these test are:
632 https://bugs.webkit.org/show_bug.cgi?id=178174 -
633 "Add support in named capture group identifiers for direct surrogate pairs"
634 https://bugs.webkit.org/show_bug.cgi?id=178175 -
635 "Test262 failure with Named Capture Groups - using a reference before the group is defined"
639 2017-10-11 Caio Lima <ticaiolima@gmail.com>
641 Object properties are undefined in super.call() but not in this.call()
642 https://bugs.webkit.org/show_bug.cgi?id=177230
644 Reviewed by Saam Barati.
646 * stress/super-call-function-subclass.js: Added.
650 * stress/super-dot-call-and-apply.js: Added.
655 (B.prototype.testSuper):
657 (const.obj.new.B.string_appeared_here.obj.testSuper.C):
658 (D.prototype.testSuper):
661 2017-10-10 Saam Barati <sbarati@apple.com>
663 The prototype cache should be aware of the Executable it generates a Structure for
664 https://bugs.webkit.org/show_bug.cgi?id=177907
666 Reviewed by Filip Pizlo.
668 * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
678 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com>
680 `async` should be able to be used as an imported binding name
681 https://bugs.webkit.org/show_bug.cgi?id=176573
683 Reviewed by Saam Barati.
685 * modules/import-default-async.js: Added.
686 * modules/import-named-async-as.js: Added.
687 * modules/import-named-async.js: Added.
688 * modules/import-named-async/target.js: Added.
689 * modules/import-namespace-async.js: Added.
692 2017-09-29 Filip Pizlo <fpizlo@apple.com>
694 Enable gigacage on iOS
695 https://bugs.webkit.org/show_bug.cgi?id=177586
697 Reviewed by JF Bastien.
699 Add tests for when Gigacage gets runtime disabled.
701 * stress/disable-gigacage-arrays.js: Added.
703 * stress/disable-gigacage-strings.js: Added.
705 * stress/disable-gigacage-typed-arrays.js: Added.
708 2017-10-09 Michael Saboff <msaboff@apple.com>
710 Implement RegExp Unicode property escapes
711 https://bugs.webkit.org/show_bug.cgi?id=172069
713 Reviewed by JF Bastien.
715 Enabled Unicode Property tests.
719 2017-10-09 Commit Queue <commit-queue@webkit.org>
721 Unreviewed, rolling out r223015 and r223025.
722 https://bugs.webkit.org/show_bug.cgi?id=178093
724 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
729 "Enable gigacage on iOS"
730 https://bugs.webkit.org/show_bug.cgi?id=177586
731 http://trac.webkit.org/changeset/223015
733 "Unreviewed, disable Gigacage on ARM64 Linux"
734 https://bugs.webkit.org/show_bug.cgi?id=177586
735 http://trac.webkit.org/changeset/223025
737 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
739 Update expectations for test262 tests that pass after r223043.
740 https://bugs.webkit.org/show_bug.cgi?id=176685
742 Unreviewed test gardening.
746 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
748 Unreviewed, rolling out r223022.
750 This change introduced 18 test262 failures.
754 "`async` should be able to be used as an imported binding
756 https://bugs.webkit.org/show_bug.cgi?id=176573
757 http://trac.webkit.org/changeset/223022
759 2017-10-09 Saam Barati <sbarati@apple.com>
761 3 poly-proto JSC tests timing out on debug after r222827
762 https://bugs.webkit.org/show_bug.cgi?id=177880
763 <rdar://problem/34817122>
767 I'm skipping these type profiler tests on debug since they are long running.
769 * typeProfiler/deltablue-for-of.js:
770 * typeProfiler/getter-richards.js:
772 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com>
774 Safari 10 /11 problem with if (!await get(something)).
775 https://bugs.webkit.org/show_bug.cgi?id=176685
777 Reviewed by Saam Barati.
779 * stress/async-await-basic.js:
780 (awaitEpression.async):
781 * stress/async-await-syntax.js:
782 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
783 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
785 2017-10-08 Saam Barati <sbarati@apple.com>
787 Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
789 * typeProfiler/deltablue-for-of.js:
790 * typeProfiler/getter-richards.js:
792 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com>
794 `async` should be able to be used as an imported binding name
795 https://bugs.webkit.org/show_bug.cgi?id=176573
797 Reviewed by Darin Adler.
799 * modules/import-default-async.js: Added.
800 * modules/import-named-async-as.js: Added.
801 * modules/import-named-async.js: Added.
802 * modules/import-named-async/target.js: Added.
803 * modules/import-namespace-async.js: Added.
805 2017-09-29 Filip Pizlo <fpizlo@apple.com>
807 Enable gigacage on iOS
808 https://bugs.webkit.org/show_bug.cgi?id=177586
810 Reviewed by JF Bastien.
812 Add tests for when Gigacage gets runtime disabled.
814 * stress/disable-gigacage-arrays.js: Added.
816 * stress/disable-gigacage-strings.js: Added.
818 * stress/disable-gigacage-typed-arrays.js: Added.
821 2017-10-06 Commit Queue <commit-queue@webkit.org>
823 Unreviewed, rolling out r222791 and r222873.
824 https://bugs.webkit.org/show_bug.cgi?id=178031
826 Caused crashes with workers/wasm LayoutTests (Requested by
827 ryanhaddad on #webkit).
831 "WebAssembly: no VM / JS version of everything but Instance"
832 https://bugs.webkit.org/show_bug.cgi?id=177473
833 http://trac.webkit.org/changeset/222791
835 "WebAssembly: address no VM / JS follow-ups"
836 https://bugs.webkit.org/show_bug.cgi?id=177887
837 http://trac.webkit.org/changeset/222873
839 2017-10-05 Saam Barati <sbarati@apple.com>
841 Make sure all prototypes under poly proto get added into the VM's prototype map
842 https://bugs.webkit.org/show_bug.cgi?id=177909
844 Reviewed by Keith Miller.
846 * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
852 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com>
854 [JSC] Introduce import.meta
855 https://bugs.webkit.org/show_bug.cgi?id=177703
857 Reviewed by Filip Pizlo.
859 * modules/import-meta-syntax.js: Added.
862 * modules/import-meta.js: Added.
863 * modules/import-meta/cocoa.js: Added.
864 * modules/resources/assert.js:
865 (export.shouldNotThrow):
866 * stress/import-syntax.js:
868 2017-10-04 Saam Barati <sbarati@apple.com>
870 Make pertinent AccessCases watch the poly proto watchpoint
871 https://bugs.webkit.org/show_bug.cgi?id=177765
873 Reviewed by Keith Miller.
875 * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
880 * stress/poly-proto-clear-stub.js: Added.
885 2017-10-04 Ryan Haddad <ryanhaddad@apple.com>
887 Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
889 Unreviewed test gardening.
893 2017-10-04 Saam Barati <sbarati@apple.com>
895 3 poly-proto JSC tests timing out on debug after r222827
896 https://bugs.webkit.org/show_bug.cgi?id=177880
898 Rubber stamped by Mark Lam.
900 * microbenchmarks/poly-proto-access.js:
901 * typeProfiler/deltablue-for-of.js:
902 * typeProfiler/getter-richards.js:
904 2017-10-04 Joseph Pecoraro <pecoraro@apple.com>
906 Unreviewed, marking tco-catch.js as a failure after test262 update
907 https://bugs.webkit.org/show_bug.cgi?id=177859
911 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
913 Unreviewed, marking one async iterator test262 test failed
914 https://bugs.webkit.org/show_bug.cgi?id=177859
918 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
920 [Test262] Update Test262 to Oct 4 version
921 https://bugs.webkit.org/show_bug.cgi?id=177859
923 Reviewed by Sam Weinig.
925 Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
926 we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
929 * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
931 * test262/harness/typeCoercion.js:
932 (testCoercibleToIndexZero):
933 (testCoercibleToIndexOne):
934 (testCoercibleToIndexFromIndex):
935 (testNotCoercibleToIndex.testPrimitiveValue):
936 (testNotCoercibleToInteger):
937 (testCoercibleToBigIntZero.testPrimitiveValue):
938 (testCoercibleToBigIntZero):
939 (testCoercibleToBigIntOne.testPrimitiveValue):
940 (testCoercibleToBigIntOne):
941 (testPrimitiveValue):
942 (testCoercibleToBigIntFromBigInt):
943 (testNotCoercibleToBigInt.testPrimitiveValue):
944 (testNotCoercibleToBigInt.testStringValue):
945 (testNotCoercibleToBigInt):
946 * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
947 * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
948 * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
949 * test262/test/built-ins/Array/proto-from-ctor-realm.js:
950 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
951 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
952 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
953 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
954 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
955 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
956 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
957 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
958 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
959 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
960 * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
961 * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
962 (testCoercibleToBigIntZero):
963 (testCoercibleToBigIntOne):
964 (testNotCoercibleToBigInt):
968 (Symbol.toPrimitive): Deleted.
969 * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
970 (testCoercibleToIndexZero):
971 (testCoercibleToIndexOne):
972 (testNotCoercibleToIndex):
974 (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
975 (assert.sameValue.BigInt.asIntN.toString): Deleted.
976 (BigInt.asIntN.Symbol.toPrimitive): Deleted.
977 (BigInt.asIntN.valueOf): Deleted.
978 (BigInt.asIntN.toString): Deleted.
979 * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
980 * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
981 * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
982 (testCoercibleToBigIntZero):
983 (testCoercibleToBigIntOne):
984 (testNotCoercibleToBigInt):
985 * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
986 (testCoercibleToIndexZero):
987 (testCoercibleToIndexOne):
988 (testNotCoercibleToIndex):
989 * test262/test/built-ins/BigInt/asUintN/length.js: Added.
990 * test262/test/built-ins/BigInt/asUintN/name.js: Added.
991 * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
994 * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
995 * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
996 * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
997 * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
998 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
999 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
1000 * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
1001 * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
1002 * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
1003 * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
1004 * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
1005 * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
1006 * test262/test/built-ins/Error/proto-from-ctor-realm.js:
1007 * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
1008 * test262/test/built-ins/Function/call-bind-this-realm-value.js:
1009 * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
1010 * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
1011 * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
1012 * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
1013 * test262/test/built-ins/Function/proto-from-ctor-realm.js:
1014 * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
1015 * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
1016 * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
1017 * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
1019 (BigInt.prototype.toJSON):
1020 * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
1022 * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
1023 (BigInt.prototype.toJSON):
1024 * test262/test/built-ins/JSON/stringify/bigint.js:
1025 * test262/test/built-ins/Map/proto-from-ctor-realm.js:
1026 * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
1027 * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
1028 * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
1029 * test262/test/built-ins/Number/proto-from-ctor-realm.js:
1030 * test262/test/built-ins/Object/proto-from-ctor.js:
1031 * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
1032 * test262/test/built-ins/Proxy/apply/arguments-realm.js:
1033 * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
1034 * test262/test/built-ins/Proxy/construct/arguments-realm.js:
1035 * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
1036 * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
1037 * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
1038 * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
1039 * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
1040 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
1041 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
1042 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
1043 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
1044 * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
1045 * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
1046 * test262/test/built-ins/Proxy/get-fn-realm.js:
1047 * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
1048 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
1049 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
1050 * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
1051 * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
1052 * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
1053 * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
1054 * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
1055 * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
1056 * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
1057 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
1058 * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
1061 * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
1062 * test262/test/built-ins/RegExp/dotall/with-dotall.js:
1063 * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
1064 * test262/test/built-ins/RegExp/dotall/without-dotall.js:
1065 * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
1066 * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
1067 * test262/test/built-ins/RegExp/u180e.js: Added.
1068 * test262/test/built-ins/Set/proto-from-ctor-realm.js:
1069 * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
1070 * test262/test/built-ins/String/proto-from-ctor-realm.js:
1071 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
1072 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
1073 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
1074 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
1075 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
1076 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
1077 * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
1078 * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
1079 * test262/test/built-ins/String/prototype/endsWith/length.js:
1080 * test262/test/built-ins/String/prototype/endsWith/name.js:
1081 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
1082 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
1083 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
1084 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
1085 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
1086 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
1087 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
1088 * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
1089 * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
1090 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
1091 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
1092 * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
1093 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
1094 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
1095 * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
1096 * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
1097 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
1098 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
1099 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
1100 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
1101 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
1102 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
1103 * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
1104 * test262/test/built-ins/String/prototype/includes/includes.js:
1105 * test262/test/built-ins/String/prototype/includes/length.js:
1106 * test262/test/built-ins/String/prototype/includes/name.js:
1107 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
1108 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
1109 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
1110 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
1111 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
1112 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
1113 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
1114 * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
1115 * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
1116 * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
1117 * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
1118 * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
1119 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
1120 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
1121 * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
1122 * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
1123 * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
1124 * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
1125 * test262/test/built-ins/String/prototype/trim/u180e.js:
1126 * test262/test/built-ins/Symbol/for/cross-realm.js:
1127 * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
1128 * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
1129 * test262/test/built-ins/Symbol/iterator/cross-realm.js:
1130 * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
1131 * test262/test/built-ins/Symbol/match/cross-realm.js:
1132 * test262/test/built-ins/Symbol/replace/cross-realm.js:
1133 * test262/test/built-ins/Symbol/search/cross-realm.js:
1134 * test262/test/built-ins/Symbol/species/cross-realm.js:
1135 * test262/test/built-ins/Symbol/split/cross-realm.js:
1136 * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
1137 * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
1138 * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
1139 * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
1140 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
1141 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
1142 * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
1143 * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
1144 * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
1145 * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
1146 * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
1147 * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
1148 * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
1149 * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
1150 * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
1151 * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
1152 * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
1153 * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
1154 * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
1155 * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
1156 * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
1157 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
1158 * test262/test/language/comments/mongolian-vowel-separator-multi.js:
1159 * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
1160 * test262/test/language/comments/mongolian-vowel-separator-single.js:
1161 * test262/test/language/eval-code/indirect/realm.js:
1162 * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
1165 * test262/test/language/expressions/call/eval-realm-indirect.js:
1166 * test262/test/language/expressions/generators/eval-body-proto-realm.js:
1167 * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
1168 * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
1169 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
1170 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
1171 * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
1172 * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
1173 * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
1174 * test262/test/language/expressions/greater-than/bigint-and-number.js:
1175 * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
1176 * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
1177 * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
1178 * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
1179 * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
1180 * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
1181 * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
1182 * test262/test/language/expressions/less-than/bigint-and-number.js:
1183 * test262/test/language/expressions/new/non-ctor-err-realm.js:
1184 * test262/test/language/expressions/super/realm.js:
1185 * test262/test/language/expressions/tagged-template/cache-realm.js:
1186 * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
1187 * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
1188 * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
1189 * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
1190 * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
1191 * test262/test/language/literals/string/mongolian-vowel-separator.js:
1192 * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
1195 * test262/test/language/statements/for-of/iterator-next-reference.js:
1197 (iterator.next): Deleted.
1198 (x.of.iterable.): Deleted.
1199 (x.of.iterable.get return): Deleted.
1200 (x.of.iterable.iterator.next): Deleted.
1201 * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
1202 * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
1203 * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
1204 * test262/test/language/white-space/mongolian-vowel-separator.js:
1205 * test262/test262-Revision.txt:
1207 2017-10-03 Saam Barati <sbarati@apple.com>
1209 Implement polymorphic prototypes
1210 https://bugs.webkit.org/show_bug.cgi?id=176391
1212 Reviewed by Filip Pizlo.
1214 * microbenchmarks/poly-proto-access.js: Added.
1217 (foo.C.prototype.get bar):
1220 * microbenchmarks/poly-proto-put-transition-speed.js: Added.
1222 (makePolyProtoObject.foo.C):
1223 (makePolyProtoObject.foo):
1224 (makePolyProtoObject):
1226 * microbenchmarks/poly-proto-setter-speed.js: Added.
1228 (makePolyProtoObject.foo.C):
1229 (makePolyProtoObject.foo.C.prototype.set p):
1230 (makePolyProtoObject.foo):
1231 (makePolyProtoObject):
1233 * stress/constructor-with-return.js:
1234 (i.tests.forEach.Constructor):
1236 (tests.forEach.Constructor): Deleted.
1237 (tests.forEach): Deleted.
1238 * stress/dom-jit-with-poly-proto.js: Added.
1240 (makePolyProtoObject.foo.C):
1241 (makePolyProtoObject.foo):
1242 (makePolyProtoObject):
1244 * stress/poly-proto-custom-value-and-accessor.js: Added.
1246 (makePolyProtoObject.foo.C):
1247 (makePolyProtoObject.foo):
1248 (makePolyProtoObject):
1251 * stress/poly-proto-intrinsic-getter-correctness.js: Added.
1253 (makePolyProtoObject.foo.C):
1254 (makePolyProtoObject.foo):
1255 (makePolyProtoObject):
1257 * stress/poly-proto-miss.js: Added.
1258 (makePolyProtoInstanceWithNullPrototype.foo.C):
1259 (makePolyProtoInstanceWithNullPrototype.foo):
1260 (makePolyProtoInstanceWithNullPrototype):
1263 * stress/poly-proto-op-in-caching.js: Added.
1265 (makePolyProtoObject.foo.C):
1266 (makePolyProtoObject.foo):
1267 (makePolyProtoObject):
1270 * stress/poly-proto-put-transition.js: Added.
1272 (makePolyProtoObject.foo.C):
1273 (makePolyProtoObject.foo):
1274 (makePolyProtoObject):
1276 (i.obj.__proto__.set p):
1277 * stress/poly-proto-set-prototype.js: Added.
1279 (let.alternateProto.get x):
1280 (let.alternateProto2.get y):
1281 (let.alternateProto2.get x):
1285 * stress/poly-proto-setter.js: Added.
1287 (makePolyProtoObject.foo.C):
1288 (makePolyProtoObject.foo.C.prototype.set p):
1289 (makePolyProtoObject.foo.C.prototype.get p):
1290 (makePolyProtoObject.foo):
1291 (makePolyProtoObject):
1293 * stress/poly-proto-using-inheritance.js: Added.
1296 (foo.C.prototype.get baz):
1301 * stress/primitive-poly-proto.js: Added.
1302 (makePolyProtoInstance.foo.C):
1303 (makePolyProtoInstance.foo):
1304 (makePolyProtoInstance):
1307 * stress/prototype-is-not-js-object.js: Added.
1312 * stress/try-get-by-id-poly-proto.js: Added.
1314 (makePolyProtoObject.foo.C):
1315 (makePolyProtoObject.foo):
1316 (makePolyProtoObject):
1318 (x.__proto__.get bar):
1320 * typeProfiler/overflow.js:
1322 2017-10-03 JF Bastien <jfbastien@apple.com>
1324 WebAssembly: no VM / JS version of everything but Instance
1325 https://bugs.webkit.org/show_bug.cgi?id=177473
1327 Reviewed by Filip Pizlo.
1329 - Exceeding max on memory growth now returns a range error as per
1330 spec. This is a (very minor) breaking change: it used to throw OOM
1331 error. Update the corresponding test.
1333 * wasm/js-api/memory-grow.js:
1335 * wasm/js-api/table.js:
1338 2017-10-03 Ryan Haddad <ryanhaddad@apple.com>
1340 Skip JSC test stress/regress-159779-2.js on debug.
1341 https://bugs.webkit.org/show_bug.cgi?id=177204
1343 Unreviewed test gardening.
1345 * stress/regress-159779-2.js:
1347 2017-10-02 Caio Lima <ticaiolima@gmail.com>
1349 ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
1350 https://bugs.webkit.org/show_bug.cgi?id=175642
1352 Reviewed by Darin Adler.
1354 * ChakraCore/test/Function/apply3.baseline-jsc:
1356 2017-10-01 Commit Queue <commit-queue@webkit.org>
1358 Unreviewed, rolling out r222564.
1359 https://bugs.webkit.org/show_bug.cgi?id=177720
1361 "It regressed JetStream by 2% on iOS caused by a 50%
1362 regression on the bigfib subtest" (Requested by saamyjoon on
1367 "Add Above/Below comparisons for UInt32 patterns"
1368 https://bugs.webkit.org/show_bug.cgi?id=177281
1369 http://trac.webkit.org/changeset/222564
1371 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com>
1373 [DFG] Support ArrayPush with multiple args
1374 https://bugs.webkit.org/show_bug.cgi?id=175823
1376 Reviewed by Saam Barati.
1378 * microbenchmarks/array-push-0.js: Added.
1380 * microbenchmarks/array-push-1.js: Added.
1382 * microbenchmarks/array-push-2.js: Added.
1384 * microbenchmarks/array-push-3.js: Added.
1386 * stress/array-push-multiple-contiguous.js: Added.
1389 * stress/array-push-multiple-double-nan.js: Added.
1392 * stress/array-push-multiple-double.js: Added.
1395 * stress/array-push-multiple-int32.js: Added.
1398 * stress/array-push-multiple-many-contiguous.js: Added.
1401 * stress/array-push-multiple-many-double.js: Added.
1404 * stress/array-push-multiple-many-int32.js: Added.
1407 * stress/array-push-multiple-many-storage.js: Added.
1410 * stress/array-push-multiple-storage.js: Added.
1413 * stress/array-push-with-force-exit.js: Added.
1414 (target.createBuiltin):
1416 2017-09-29 Saam Barati <sbarati@apple.com>
1418 Custom GetterSetterAccessCase does not use the correct slotBase when making call
1419 https://bugs.webkit.org/show_bug.cgi?id=177639
1421 Reviewed by Geoffrey Garen.
1423 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
1429 2017-09-29 Commit Queue <commit-queue@webkit.org>
1431 Unreviewed, rolling out r222563, r222565, and r222581.
1432 https://bugs.webkit.org/show_bug.cgi?id=177675
1434 "It causes a crash when playing youtube videos" (Requested by
1435 saamyjoon on #webkit).
1437 Reverted changesets:
1439 "[DFG] Support ArrayPush with multiple args"
1440 https://bugs.webkit.org/show_bug.cgi?id=175823
1441 http://trac.webkit.org/changeset/222563
1443 "Unreviewed, build fix after r222563"
1444 https://bugs.webkit.org/show_bug.cgi?id=175823
1445 http://trac.webkit.org/changeset/222565
1447 "Unreviewed, fix x86 breaking due to exhausted registers"
1448 https://bugs.webkit.org/show_bug.cgi?id=175823
1449 http://trac.webkit.org/changeset/222581
1451 2017-09-28 Mark Lam <mark.lam@apple.com>
1453 test262: Unexpected passes after r222617 and r222618.
1454 https://bugs.webkit.org/show_bug.cgi?id=177622
1455 <rdar://problem/34725960>
1457 Reviewed by Saam Barati.
1459 Update test262.yaml for tests that are now passing.
1463 2017-09-27 Michael Saboff <msaboff@apple.com>
1465 REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
1466 https://bugs.webkit.org/show_bug.cgi?id=177570
1468 Reviewed by Filip Pizlo.
1470 New regression test.
1472 * stress/regress-177570.js: Added.
1474 2017-09-28 Michael Saboff <msaboff@apple.com>
1476 Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
1477 https://bugs.webkit.org/show_bug.cgi?id=177423
1479 Reviewed by Mark Lam.
1481 Updated regression test.
1483 * stress/regress-177423.js:
1486 2017-09-27 Mark Lam <mark.lam@apple.com>
1488 JSArray::canFastCopy() should fail if the source and destination arrays are the same.
1489 https://bugs.webkit.org/show_bug.cgi?id=177584
1490 <rdar://problem/34463903>
1492 Reviewed by Saam Barati.
1494 * stress/regress-177584.js: Added.
1496 (Array.prototype.Symbol.species):
1498 2017-09-27 Saam Barati <sbarati@apple.com>
1500 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
1501 https://bugs.webkit.org/show_bug.cgi?id=177523
1503 Reviewed by Mark Lam.
1505 * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
1508 (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
1510 (i.Test.prototype.propName):
1512 2017-09-27 Mark Lam <mark.lam@apple.com>
1514 Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
1515 https://bugs.webkit.org/show_bug.cgi?id=177423
1516 <rdar://problem/34621320>
1518 Reviewed by Keith Miller.
1520 * stress/regress-177423.js: Added.
1522 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com>
1524 Add Above/Below comparisons for UInt32 patterns
1525 https://bugs.webkit.org/show_bug.cgi?id=177281
1527 Reviewed by Saam Barati.
1529 * stress/uint32-comparison-jump.js: Added.
1539 * stress/uint32-comparison.js: Added.
1550 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com>
1552 [DFG] Support ArrayPush with multiple args
1553 https://bugs.webkit.org/show_bug.cgi?id=175823
1555 Reviewed by Saam Barati.
1557 * microbenchmarks/array-push-0.js: Added.
1559 * microbenchmarks/array-push-1.js: Added.
1561 * microbenchmarks/array-push-2.js: Added.
1563 * microbenchmarks/array-push-3.js: Added.
1565 * stress/array-push-multiple-contiguous.js: Added.
1568 * stress/array-push-multiple-double-nan.js: Added.
1571 * stress/array-push-multiple-double.js: Added.
1574 * stress/array-push-multiple-int32.js: Added.
1577 * stress/array-push-multiple-many-contiguous.js: Added.
1580 * stress/array-push-multiple-many-double.js: Added.
1583 * stress/array-push-multiple-many-int32.js: Added.
1586 * stress/array-push-multiple-many-storage.js: Added.
1589 * stress/array-push-multiple-storage.js: Added.
1593 2017-09-26 Commit Queue <commit-queue@webkit.org>
1595 Unreviewed, rolling out r222518.
1596 https://bugs.webkit.org/show_bug.cgi?id=177507
1598 Break the High Sierra build (Requested by yusukesuzuki on
1603 "Add Above/Below comparisons for UInt32 patterns"
1604 https://bugs.webkit.org/show_bug.cgi?id=177281
1605 http://trac.webkit.org/changeset/222518
1607 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com>
1609 Add Above/Below comparisons for UInt32 patterns
1610 https://bugs.webkit.org/show_bug.cgi?id=177281
1612 Reviewed by Saam Barati.
1614 * stress/uint32-comparison-jump.js: Added.
1624 * stress/uint32-comparison.js: Added.
1635 2017-09-23 Keith Miller <keith_miller@apple.com>
1637 Fix infinite looping test262 test
1638 https://bugs.webkit.org/show_bug.cgi?id=177412
1640 Reviewed by Yusuke Suzuki.
1642 This test was poorly designed since failing it would cause the vm
1643 to inifinite loop. I've fixed it locally and will fix it on github pending
1644 the results of next weeks tc39 meeting.
1647 * test262/test/language/statements/for-of/iterator-next-reference.js:
1649 2017-09-23 Joseph Pecoraro <pecoraro@apple.com>
1651 test262: $.agent became $262.agent in test262 update
1652 https://bugs.webkit.org/show_bug.cgi?id=177407
1654 Reviewed by Yusuke Suzuki.
1657 ~320 tests pass now that we correctly make $262 available.
1659 2017-09-22 Keith Miller <keith_miller@apple.com>
1661 Speculatively change iteration protocall to use the same next function
1662 https://bugs.webkit.org/show_bug.cgi?id=175653
1664 Reviewed by Saam Barati.
1666 Change test to match the new iteration behavior.
1668 * stress/spread-optimized-properly.js:
1670 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com>
1672 [DFG][FTL] Profile array vector length for array allocation
1673 https://bugs.webkit.org/show_bug.cgi?id=177051
1675 Reviewed by Saam Barati.
1677 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1680 2017-09-22 Commit Queue <commit-queue@webkit.org>
1682 Unreviewed, rolling out r222380.
1683 https://bugs.webkit.org/show_bug.cgi?id=177352
1685 Octane/box2d shows 8% regression (Requested by yusukesuzuki on
1690 "[DFG][FTL] Profile array vector length for array allocation"
1691 https://bugs.webkit.org/show_bug.cgi?id=177051
1692 http://trac.webkit.org/changeset/222380
1694 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com>
1696 [DFG][FTL] Profile array vector length for array allocation
1697 https://bugs.webkit.org/show_bug.cgi?id=177051
1699 Reviewed by Saam Barati.
1701 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1704 2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
1706 Skip new hanging test262 tests.
1707 https://bugs.webkit.org/show_bug.cgi?id=177326
1709 Unreviewed test gardening.
1713 2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
1715 Mark 6 test262 tests as passing.
1716 https://bugs.webkit.org/show_bug.cgi?id=177307
1718 Unreviewed test gardening.
1722 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1724 Unreviewed follow-up to r222311.
1726 * test262/harness/sta.js:
1727 * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
1728 * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
1729 * test262/test/built-ins/Array/from/calling-from-valid-2.js:
1730 * test262/test/built-ins/Array/from/elements-added-after.js:
1731 * test262/test/built-ins/Array/from/elements-deleted-after.js:
1732 * test262/test/built-ins/Array/from/elements-updated-after.js:
1733 * test262/test/built-ins/Array/from/from-array.js:
1734 * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
1735 * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
1736 * test262/test/built-ins/Array/from/source-array-boundary.js:
1737 * test262/test/built-ins/Array/from/source-object-constructor.js:
1738 * test262/test/built-ins/Array/from/source-object-iterator-1.js:
1739 * test262/test/built-ins/Array/from/source-object-iterator-2.js:
1740 * test262/test/built-ins/Array/from/source-object-length.js:
1741 * test262/test/built-ins/Array/from/source-object-missing.js:
1742 * test262/test/built-ins/Array/from/source-object-without.js:
1743 * test262/test/built-ins/Array/from/this-null.js:
1744 * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
1745 * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
1746 * test262/test/language/literals/numeric/7.8.3-1gs.js:
1747 * test262/test/language/literals/numeric/7.8.3-2gs.js:
1748 * test262/test/language/literals/numeric/7.8.3-3gs.js:
1749 * test262/test/language/literals/regexp/7.8.5-1gs.js:
1750 * test262/test/language/literals/string/7.8.4-1gs.js:
1751 Fix some files that I failed to update when I applied my patch.
1753 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1755 Update test262 tests
1756 https://bugs.webkit.org/show_bug.cgi?id=177220
1758 Reviewed by Saam Barati and Yusuke Suzuki.
1761 * test262/test262-Revision.txt:
1762 New rebaselined expectations for all tests.
1767 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
1769 [DFG] Remove ToThis more aggressively
1770 https://bugs.webkit.org/show_bug.cgi?id=177056
1772 Reviewed by Saam Barati.
1774 * stress/generator-with-this-strict.js: Added.
1778 * stress/generator-with-this.js: Added.
1783 2017-09-17 Michael Saboff <msaboff@apple.com>
1785 https://bugs.webkit.org/show_bug.cgi?id=177038
1786 Add an option to run-jsc-stress-tests to limit tests variations to a basic set
1788 Reviewed by JF Bastien.
1790 * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
1791 as it dies using too much memory.
1793 2017-09-15 Saam Barati <sbarati@apple.com>
1795 Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
1796 https://bugs.webkit.org/show_bug.cgi?id=176981
1798 Reviewed by Yusuke Suzuki.
1800 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
1804 (const.bar.createBuiltin):
1806 2017-09-14 Saam Barati <sbarati@apple.com>
1808 It should be valid to exit before each set when doing arity fixup when inlining
1809 https://bugs.webkit.org/show_bug.cgi?id=176948
1811 Reviewed by Keith Miller.
1813 * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
1818 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com>
1820 [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
1821 https://bugs.webkit.org/show_bug.cgi?id=176867
1823 Reviewed by Sam Weinig.
1825 * microbenchmarks/object-get-own-property-symbols.js: Added.
1828 2017-09-13 Mark Lam <mark.lam@apple.com>
1830 Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
1831 https://bugs.webkit.org/show_bug.cgi?id=176888
1832 <rdar://problem/34381832>
1836 * stress/op_mod-ConstVar.js:
1837 * stress/op_mod-VarConst.js:
1838 * stress/op_mod-VarVar.js:
1840 2017-09-13 Ryan Haddad <ryanhaddad@apple.com>
1842 Skip 3 op_mod tests on Debug JSC bots.
1843 https://bugs.webkit.org/show_bug.cgi?id=176630
1845 Unreviewed test gardening.
1847 * stress/op_mod-ConstVar.js:
1848 * stress/op_mod-VarConst.js:
1849 * stress/op_mod-VarVar.js:
1851 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com>
1853 [JSC] Fix Array allocation in Object.keys
1854 https://bugs.webkit.org/show_bug.cgi?id=176826
1856 Reviewed by Saam Barati.
1858 * stress/object-own-property-keys.js: Added.
1861 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
1863 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1864 https://bugs.webkit.org/show_bug.cgi?id=176010
1866 Reviewed by Filip Pizlo.
1868 * microbenchmarks/weak-map-key.js: Added.
1871 (let.start.Date.now):
1873 2017-09-12 Mark Lam <mark.lam@apple.com>
1875 REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
1876 https://bugs.webkit.org/show_bug.cgi?id=176630
1878 Reviewed by JF Bastien.
1880 Debug builds are just slow, and these tests do a lot. They pass when I run them
1881 locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as
1882 a speculative fix for the bots that are seeing these fail.
1884 I also undid the skipping of the op_mod tests for debug builds.
1886 * stress/op_div-ConstVar.js:
1887 * stress/op_div-VarConst.js:
1888 * stress/op_div-VarVar.js:
1889 * stress/op_mod-ConstVar.js:
1890 * stress/op_mod-VarConst.js:
1891 * stress/op_mod-VarVar.js:
1893 2017-09-12 Ryan Haddad <ryanhaddad@apple.com>
1895 Skip stress/value-to-boolean.js on Debug bots.
1896 https://bugs.webkit.org/show_bug.cgi?id=176787
1898 Unreviewed test gardening.
1900 * stress/value-to-boolean.js:
1902 2017-09-11 Mark Lam <mark.lam@apple.com>
1904 Change test expectation for test262/test/language/statements/try/tco-catch.js
1905 https://bugs.webkit.org/show_bug.cgi?id=176749
1907 Rubber stamped by Keith Miller.
1909 It's been failing since at least r221821. I'm changing the test expectation to
1910 fail to green the bots while I investigate some more.
1914 2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
1916 Unreviewed, rolling out r221854.
1918 The test added with this change fails on 32-bit JSC bots.
1922 "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
1923 https://bugs.webkit.org/show_bug.cgi?id=176010
1924 http://trac.webkit.org/changeset/221854
1926 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
1928 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1929 https://bugs.webkit.org/show_bug.cgi?id=176010
1931 Reviewed by Filip Pizlo.
1933 * microbenchmarks/weak-map-key.js: Added.
1936 (let.start.Date.now):
1938 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com>
1940 [JSC] Optimize Object.keys by using careful array allocation
1941 https://bugs.webkit.org/show_bug.cgi?id=176654
1943 Reviewed by Darin Adler.
1945 * microbenchmarks/object-keys.js: Added.
1948 2017-09-09 Filip Pizlo <fpizlo@apple.com>
1950 Error should compute .stack and friends lazily
1951 https://bugs.webkit.org/show_bug.cgi?id=176645
1953 Reviewed by Saam Barati.
1955 * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
1956 * microbenchmarks/new-error.js: Added.
1957 * microbenchmarks/throw.js: Added.
1959 2017-09-09 Mark Lam <mark.lam@apple.com>
1961 [Re-landing] Use JIT probes for DFG OSR exit.
1962 https://bugs.webkit.org/show_bug.cgi?id=175144
1963 <rdar://problem/33437050>
1965 Not reviewed. Original patch reviewed by Saam Barati.
1967 Disable these tests for debug builds because they run too slow with the new OSR exit.
1969 * stress/op_mod-ConstVar.js:
1970 * stress/op_mod-VarConst.js:
1971 * stress/op_mod-VarVar.js:
1973 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1975 [DFG] NewArrayWithSize(size)'s size does not care negative zero
1976 https://bugs.webkit.org/show_bug.cgi?id=176300
1978 Reviewed by Saam Barati.
1980 * stress/new-array-with-size-div.js: Added.
1985 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1987 [DFG] PutByVal with Array::Generic is too generic
1988 https://bugs.webkit.org/show_bug.cgi?id=176345
1990 Reviewed by Filip Pizlo.
1992 * stress/object-assign-symbols.js: Added.
1995 * stress/object-assign.js: Added.
1998 (i.shouldBe.JSON.stringify.test):
2000 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2002 [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
2003 https://bugs.webkit.org/show_bug.cgi?id=176590
2005 Reviewed by Saam Barati.
2007 * microbenchmarks/object-iterate-symbols.js: Added.
2009 * microbenchmarks/object-iterate.js: Added.
2011 * stress/object-iterate-symbols.js: Added.
2014 * stress/object-iterate.js: Added.
2018 2017-09-07 Per Arne Vollan <pvollan@apple.com>
2020 [Win32] 10 JSC stress tests are failing.
2021 https://bugs.webkit.org/show_bug.cgi?id=176538
2023 Reviewed by Mark Lam.
2025 Skip tests on Windows to make the bots green.
2028 * stress/date-relaxed.js:
2030 2017-09-06 Mark Lam <mark.lam@apple.com>
2032 constructGenericTypedArrayViewWithArguments() is missing an exception check.
2033 https://bugs.webkit.org/show_bug.cgi?id=176485
2034 <rdar://problem/33898874>
2036 Reviewed by Keith Miller.
2038 * stress/regress-176485.js: Added.
2040 2017-09-05 Saam Barati <sbarati@apple.com>
2042 isNotCellSpeculation is wrong with respect to SpecEmpty
2043 https://bugs.webkit.org/show_bug.cgi?id=176429
2045 Reviewed by Michael Saboff.
2047 * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
2050 2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
2052 test262: Completion values for control flow do not match the spec
2053 https://bugs.webkit.org/show_bug.cgi?id=171265
2055 Reviewed by Saam Barati.
2057 * stress/completion-value.js:
2058 Condensed test for completion values in top level statements.
2060 * stress/super-get-by-id.js:
2061 ClassDeclaration when evaled no longer produce values. Convert
2062 these to ClassExpressions so they produce the class value.
2064 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
2065 This is a progression for currect spec behavior.
2067 * mozilla/mozilla-tests.yaml:
2068 This test is now outdated, so mark it as failing for that reason.
2071 Passing all "cptn" completion value tests.
2073 2017-09-04 Saam Barati <sbarati@apple.com>
2075 typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
2076 https://bugs.webkit.org/show_bug.cgi?id=176317
2078 Reviewed by Keith Miller.
2080 * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
2083 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
2085 [DFG][FTL] Efficiently execute number#toString()
2086 https://bugs.webkit.org/show_bug.cgi?id=170007
2088 Reviewed by Keith Miller.
2090 * microbenchmarks/number-to-string-strength-reduction.js: Added.
2092 * microbenchmarks/number-to-string-with-radix-10.js: Added.
2094 * microbenchmarks/number-to-string-with-radix-cse.js: Added.
2096 * microbenchmarks/number-to-string-with-radix.js: Added.
2098 * stress/number-to-string-strength-reduction.js: Added.
2101 * stress/number-to-string-with-radix-10.js: Added.
2104 * stress/number-to-string-with-radix-cse.js: Added.
2107 * stress/number-to-string-with-radix-invalid.js: Added.
2109 * stress/number-to-string-with-radix-watchpoint.js: Added.
2112 (i.i.1e3.Number.prototype.toString):
2113 * stress/number-to-string-with-radix.js: Added.
2117 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com>
2119 [DFG] Relax arity requirement
2120 https://bugs.webkit.org/show_bug.cgi?id=175523
2122 Reviewed by Saam Barati.
2124 * stress/arity-mismatch-arguments-length.js: Added.
2128 * stress/arity-mismatch-get-argument.js: Added.
2130 (builtin.createBuiltin):
2132 * stress/arity-mismatch-inlining-extra-slots.js: Added.
2136 * stress/arity-mismatch-inlining.js: Added.
2140 * stress/arity-mismatch-rest.js: Added.
2146 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2148 [JSC] Fix "name" and "length" of Proxy revoke function
2149 https://bugs.webkit.org/show_bug.cgi?id=176155
2151 Reviewed by Mark Lam.
2155 2017-08-31 Saam Barati <sbarati@apple.com>
2157 Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
2158 https://bugs.webkit.org/show_bug.cgi?id=176206
2160 Reviewed by Keith Miller.
2162 * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
2167 2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
2169 Skip two slow JSC tests after r221422.
2171 Unreviewed test gardening.
2173 * stress/regexp-prototype-match-on-too-long-rope.js:
2174 * stress/regexp-prototype-test-on-too-long-rope.js:
2176 2017-08-31 Filip Pizlo <fpizlo@apple.com>
2178 Unreviewed, skipping slow tests.
2180 These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
2181 work differently now.
2183 * stress/regexp-prototype-exec-on-too-long-rope.js:
2184 * stress/string-prototype-charCodeAt-on-too-long-rope.js:
2186 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2188 [JSC] Use reifying system for "name" property of builtin JSFunction
2189 https://bugs.webkit.org/show_bug.cgi?id=175260
2191 Reviewed by Saam Barati.
2193 * stress/accessors-get-set-prefix.js:
2194 * stress/builtin-function-name.js: Added.
2197 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2198 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2199 * stress/private-name-as-anonymous-builtin.js: Added.
2203 2017-08-30 Saam Barati <sbarati@apple.com>
2205 Unreviewed. Make test stop printing.
2207 * microbenchmarks/fake-iterators-that-throw-when-finished.js:
2209 2017-08-30 Ryan Haddad <ryanhaddad@apple.com>
2211 Unreviewed, rolling out r221327.
2213 This change caused test262 failures.
2217 "[JSC] Use reifying system for "name" property of builtin
2219 https://bugs.webkit.org/show_bug.cgi?id=175260
2220 http://trac.webkit.org/changeset/221327
2222 2017-08-30 Saam Barati <sbarati@apple.com>
2224 semicolon is being interpreted as an = in the LiteralParser
2225 https://bugs.webkit.org/show_bug.cgi?id=176114
2227 Reviewed by Oliver Hunt.
2229 * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
2230 * stress/resources/literal-parser-test-case.js: Added.
2232 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com>
2234 [ESNext] Async iteration - Implement async iteration statement: for-await-of
2235 https://bugs.webkit.org/show_bug.cgi?id=166698
2237 Reviewed by Yusuke Suzuki.
2239 * stress/async-iteration-for-await-of-syntax.js: Added.
2243 (checkSimpleAsyncGeneratorSloppyMode):
2244 (checkSimpleAsyncGeneratorStrictMode):
2245 (checkNestedAsyncGenerators):
2246 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2247 * stress/async-iteration-for-await-of.js: Added.
2253 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com>
2255 [JSC] Use reifying system for "name" property of builtin JSFunction
2256 https://bugs.webkit.org/show_bug.cgi?id=175260
2258 Reviewed by Saam Barati.
2260 * stress/accessors-get-set-prefix.js:
2261 * stress/builtin-function-name.js: Added.
2264 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2265 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2267 2017-08-25 Saam Barati <sbarati@apple.com>
2269 Support compiling catch in the DFG
2270 https://bugs.webkit.org/show_bug.cgi?id=174590
2271 <rdar://problem/34047845>
2273 Reviewed by Filip Pizlo.
2275 * microbenchmarks/delta-blue-try-catch.js: Added.
2278 (OrderedCollection):
2279 (OrderedCollection.prototype.add):
2280 (OrderedCollection.prototype.at):
2281 (OrderedCollection.prototype.size):
2282 (OrderedCollection.prototype.removeFirst):
2283 (OrderedCollection.prototype.remove):
2285 (Strength.stronger):
2287 (Strength.weakestOf):
2288 (Strength.strongest):
2289 (Strength.prototype.nextWeaker):
2291 (Constraint.prototype.addConstraint):
2292 (Constraint.prototype.satisfy):
2293 (Constraint.prototype.destroyConstraint):
2294 (Constraint.prototype.isInput):
2296 (UnaryConstraint.prototype.addToGraph):
2297 (UnaryConstraint.prototype.chooseMethod):
2298 (UnaryConstraint.prototype.isSatisfied):
2299 (UnaryConstraint.prototype.markInputs):
2300 (UnaryConstraint.prototype.output):
2301 (UnaryConstraint.prototype.recalculate):
2302 (UnaryConstraint.prototype.markUnsatisfied):
2303 (UnaryConstraint.prototype.inputsKnown):
2304 (UnaryConstraint.prototype.removeFromGraph):
2306 (StayConstraint.prototype.execute):
2307 (EditConstraint.prototype.isInput):
2308 (EditConstraint.prototype.execute):
2310 (BinaryConstraint.prototype.chooseMethod):
2311 (BinaryConstraint.prototype.addToGraph):
2312 (BinaryConstraint.prototype.isSatisfied):
2313 (BinaryConstraint.prototype.markInputs):
2314 (BinaryConstraint.prototype.input):
2315 (BinaryConstraint.prototype.output):
2316 (BinaryConstraint.prototype.recalculate):
2317 (BinaryConstraint.prototype.markUnsatisfied):
2318 (BinaryConstraint.prototype.inputsKnown):
2319 (BinaryConstraint.prototype.removeFromGraph):
2321 (ScaleConstraint.prototype.addToGraph):
2322 (ScaleConstraint.prototype.removeFromGraph):
2323 (ScaleConstraint.prototype.markInputs):
2324 (ScaleConstraint.prototype.execute):
2325 (ScaleConstraint.prototype.recalculate):
2326 (EqualityConstraint):
2327 (EqualityConstraint.prototype.execute):
2329 (Variable.prototype.addConstraint):
2330 (Variable.prototype.removeConstraint):
2332 (Planner.prototype.incrementalAdd):
2333 (Planner.prototype.incrementalRemove):
2334 (Planner.prototype.newMark):
2335 (Planner.prototype.makePlan):
2336 (Planner.prototype.extractPlanFromConstraints):
2337 (Planner.prototype.addPropagate):
2338 (Planner.prototype.removePropagateFrom):
2339 (Planner.prototype.addConstraintsConsumingTo):
2341 (Plan.prototype.addConstraint):
2342 (Plan.prototype.size):
2343 (Plan.prototype.constraintAt):
2344 (Plan.prototype.execute):
2349 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2352 (Numbers.prototype.next):
2354 (return.Transpose.prototype.next):
2360 * microbenchmarks/try-catch-word-count.js: Added.
2375 (A.prototype.getValue):
2376 (B.prototype.getParentValue):
2386 (set delete.set has.set add):
2387 * stress/catch-set-argument-speculation-failure.js: Added.
2395 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2401 2017-08-24 Commit Queue <commit-queue@webkit.org>
2403 Unreviewed, rolling out r221119, r221124, and r221143.
2404 https://bugs.webkit.org/show_bug.cgi?id=175973
2406 "I think it regressed JSBench by 20%" (Requested by saamyjoon
2409 Reverted changesets:
2411 "Support compiling catch in the DFG"
2412 https://bugs.webkit.org/show_bug.cgi?id=174590
2413 http://trac.webkit.org/changeset/221119
2415 "Unreviewed, build fix in GTK port"
2416 https://bugs.webkit.org/show_bug.cgi?id=174590
2417 http://trac.webkit.org/changeset/221124
2419 "DFG::JITCode::osrEntry should get sorted since we perform a
2420 binary search on it"
2421 https://bugs.webkit.org/show_bug.cgi?id=175893
2422 http://trac.webkit.org/changeset/221143
2424 2017-08-24 Michael Saboff <msaboff@apple.com>
2426 Add support for RegExp "dotAll" flag
2427 https://bugs.webkit.org/show_bug.cgi?id=175924
2429 Reviewed by Keith Miller.
2431 Updated tests for new dotAll ('s' flag) changes.
2433 * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
2434 * stress/static-getter-in-names.js:
2436 2017-08-24 Mark Lam <mark.lam@apple.com>
2438 Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
2439 https://bugs.webkit.org/show_bug.cgi?id=175940
2440 <rdar://problem/29003921>
2442 Reviewed by Saam Barati.
2444 * stress/regress-164081.js: Added.
2448 2017-08-24 Ryan Haddad <ryanhaddad@apple.com>
2450 Skip flaky JSC test stress/test-finally.js.
2451 https://bugs.webkit.org/show_bug.cgi?id=160283
2453 Unreviewed test gardening.
2455 * stress/test-finally.js:
2457 2017-08-23 Saam Barati <sbarati@apple.com>
2459 Support compiling catch in the DFG
2460 https://bugs.webkit.org/show_bug.cgi?id=174590
2462 Reviewed by Filip Pizlo.
2464 * microbenchmarks/delta-blue-try-catch.js: Added.
2467 (OrderedCollection):
2468 (OrderedCollection.prototype.add):
2469 (OrderedCollection.prototype.at):
2470 (OrderedCollection.prototype.size):
2471 (OrderedCollection.prototype.removeFirst):
2472 (OrderedCollection.prototype.remove):
2474 (Strength.stronger):
2476 (Strength.weakestOf):
2477 (Strength.strongest):
2478 (Strength.prototype.nextWeaker):
2480 (Constraint.prototype.addConstraint):
2481 (Constraint.prototype.satisfy):
2482 (Constraint.prototype.destroyConstraint):
2483 (Constraint.prototype.isInput):
2485 (UnaryConstraint.prototype.addToGraph):
2486 (UnaryConstraint.prototype.chooseMethod):
2487 (UnaryConstraint.prototype.isSatisfied):
2488 (UnaryConstraint.prototype.markInputs):
2489 (UnaryConstraint.prototype.output):
2490 (UnaryConstraint.prototype.recalculate):
2491 (UnaryConstraint.prototype.markUnsatisfied):
2492 (UnaryConstraint.prototype.inputsKnown):
2493 (UnaryConstraint.prototype.removeFromGraph):
2495 (StayConstraint.prototype.execute):
2496 (EditConstraint.prototype.isInput):
2497 (EditConstraint.prototype.execute):
2499 (BinaryConstraint.prototype.chooseMethod):
2500 (BinaryConstraint.prototype.addToGraph):
2501 (BinaryConstraint.prototype.isSatisfied):
2502 (BinaryConstraint.prototype.markInputs):
2503 (BinaryConstraint.prototype.input):
2504 (BinaryConstraint.prototype.output):
2505 (BinaryConstraint.prototype.recalculate):
2506 (BinaryConstraint.prototype.markUnsatisfied):
2507 (BinaryConstraint.prototype.inputsKnown):
2508 (BinaryConstraint.prototype.removeFromGraph):
2510 (ScaleConstraint.prototype.addToGraph):
2511 (ScaleConstraint.prototype.removeFromGraph):
2512 (ScaleConstraint.prototype.markInputs):
2513 (ScaleConstraint.prototype.execute):
2514 (ScaleConstraint.prototype.recalculate):
2515 (EqualityConstraint):
2516 (EqualityConstraint.prototype.execute):
2518 (Variable.prototype.addConstraint):
2519 (Variable.prototype.removeConstraint):
2521 (Planner.prototype.incrementalAdd):
2522 (Planner.prototype.incrementalRemove):
2523 (Planner.prototype.newMark):
2524 (Planner.prototype.makePlan):
2525 (Planner.prototype.extractPlanFromConstraints):
2526 (Planner.prototype.addPropagate):
2527 (Planner.prototype.removePropagateFrom):
2528 (Planner.prototype.addConstraintsConsumingTo):
2530 (Plan.prototype.addConstraint):
2531 (Plan.prototype.size):
2532 (Plan.prototype.constraintAt):
2533 (Plan.prototype.execute):
2538 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2541 (Numbers.prototype.next):
2543 (return.Transpose.prototype.next):
2549 * microbenchmarks/try-catch-word-count.js: Added.
2564 (A.prototype.getValue):
2565 (B.prototype.getParentValue):
2575 (set delete.set has.set add):
2576 * stress/catch-set-argument-speculation-failure.js: Added.
2584 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2590 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
2592 [JSC] Optimize Map iteration with intrinsic
2593 https://bugs.webkit.org/show_bug.cgi?id=174355
2595 Reviewed by Saam Barati.
2597 * stress/map-iterator-result-should-have-expected-shape.js: Added.
2600 * stress/set-iterator-result-should-have-expected-shape.js: Added.
2602 (throw.new.Error.let.iterator.set Symbol):
2603 (throw.new.Error.set add):
2604 (let.iterator.set Symbol):
2606 2017-08-23 Robin Morisset <rmorisset@apple.com>
2608 Add a micro-benchmark for checking that accessing a variable within a 'with'
2609 block does not automatically prevent type prediction.
2610 https://bugs.webkit.org/show_bug.cgi?id=175738
2612 Reviewed by Saam Barati.
2614 * stress/with_and_arith.js: Added.
2617 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com>
2619 [ESNext] Async iteration - Implement Async Generator - runtime
2620 https://bugs.webkit.org/show_bug.cgi?id=175240
2622 Reviewed by Yusuke Suzuki.
2624 * stress/async-iteration-async-from-sync.js: Added.
2628 (this.fullfilledDone):
2633 (const.assertLogger):
2634 (const.getPromise.promiseHolder.return.new.Promise):
2640 * stress/async-iteration-basic.js: Added.
2644 (this.fullfilledDone):
2649 (const.assertLogger):
2650 (const.getPromise.promiseHolder.return.new.Promise):
2652 (iterator.next.then):
2657 (A.prototype.async.foo):
2658 (A.prototype.async.boo):
2660 (asyncGenExp.async):
2673 * stress/async-iteration-evaluation.js: Added.
2677 * stress/async-iteration-syntax.js:
2678 * stress/async-iteration-yield-promise.js: Added.
2682 (this.fullfilledDone):
2687 (const.assertLogger):
2688 (const.getPromise.promiseHolder.return.new.Promise):
2692 * stress/async-iteration-yield-star-interface.js: Added.
2694 (const.getPromise.promiseHolder.return.new.Promise):
2697 (this.fullfilledDone):
2703 (const.assertLogger):
2704 (let.asyncIter.Symbol.asyncIterator):
2705 (let.asyncIter.next):
2706 (let.asyncIter.throw):
2707 (let.asyncIter.return):
2709 (asyncIter.Symbol.asyncIterator):
2716 * stress/async-iteration-yield-star.js: Added.
2720 (this.fullfilledDone):
2726 (const.assertLogger):
2727 (const.getPromise.promiseHolder.return.new.Promise):
2736 (let.asyncIter.Symbol.asyncIterator):
2737 (let.asyncIter.next):
2738 (let.asyncIter.throw):
2739 (let.asyncIter.return):
2744 2017-08-23 JF Bastien <jfbastien@apple.com>
2746 Fix printing in test
2748 Unreviewed: fixing verbosity, shouldn't have been there.
2750 * wasm/regress/175693.js:
2754 2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
2756 Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
2757 https://bugs.webkit.org/show_bug.cgi?id=172543
2759 Unreviewed test gardening.
2761 * microbenchmarks/generator-with-several-types.js:
2763 2017-08-17 JF Bastien <jfbastien@apple.com>
2765 WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
2766 https://bugs.webkit.org/show_bug.cgi?id=175693
2767 <rdar://problem/33952443>
2769 Reviewed by Saam Barati.
2771 Add a regression directory for WebAssembly tests.
2774 * wasm/regress/175693.js: Added.
2776 (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
2778 * wasm/regress/175693.wasm: Added.
2780 2017-08-15 Robin Morisset <rmorisset@apple.com>
2782 Support the 'with' keyword in FTL.
2783 https://bugs.webkit.org/show_bug.cgi?id=175585
2785 Reviewed by Saam Barati.
2787 Also improve the JSTest/stress/with.js file to test
2788 what happens when non-objects are passed to with.
2795 2017-08-14 Keith Miller <keith_miller@apple.com>
2797 Add testing tool to lie to the DFG about profiles
2798 https://bugs.webkit.org/show_bug.cgi?id=175487
2800 Reviewed by Saam Barati.
2802 * stress/compare-eq-incomplete-profile.js: Added.
2803 (const.test.createBuiltin):
2805 2017-08-14 Robin Morisset <rmorisset@apple.com>
2807 Support the with keyword in DFG
2808 https://bugs.webkit.org/show_bug.cgi?id=175470
2810 Reviewed by Saam Barati.
2812 Added a new stress-test for the 'with' keyword, that caught a bug in a
2813 previous version of this code.
2815 * stress/with.js: Added.
2818 2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
2820 Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
2821 https://bugs.webkit.org/show_bug.cgi?id=175544
2823 Unreviewed test gardening.
2827 2017-08-09 Caitlin Potter <caitp@igalia.com>
2829 Early error on ANY operator before new.target
2830 https://bugs.webkit.org/show_bug.cgi?id=157970
2832 Reviewed by Saam Barati.
2834 Instead of throwing if any unary operator precedes new.target, only
2835 throw if the unary operator updates the reference.
2837 The following become legal in JSC:
2847 All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
2849 * stress/new-target-syntax-errors.js:
2850 * stress/new-target.js:
2852 2017-08-09 Ryan Haddad <ryanhaddad@apple.com>
2854 Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
2855 https://bugs.webkit.org/show_bug.cgi?id=175255
2857 Unreviewed test gardening.
2859 * stress/regress-169783.js:
2860 * wasm/stress/oom.js:
2862 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com>
2864 REGRESSION: 2 test262/test/language/statements/async-function failures
2865 https://bugs.webkit.org/show_bug.cgi?id=175334
2867 Reviewed by Yusuke Suzuki.
2869 Add @skip parameters to tests, and remove test for async iterator from
2870 async await syntax test because it is already covered by async-iterator-syntax.js
2872 * stress/async-await-syntax.js:
2873 * stress/async-iteration-syntax.js:
2875 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com>
2877 Unreviewed, gardening test262 for Promise resolve / reject function length
2878 https://bugs.webkit.org/show_bug.cgi?id=175333
2882 2017-08-07 Robin Morisset <rmorisset@apple.com>
2884 GetOwnProperty of TypedArray indexed fields is wrongly configurable
2885 https://bugs.webkit.org/show_bug.cgi?id=175307
2887 Reviewed by Saam Barati.
2889 * stress/typedarray-getownproperty-not-configurable.js: Added.
2893 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com>
2895 Promise resolve and reject function should have length = 1
2896 https://bugs.webkit.org/show_bug.cgi?id=175242
2898 Reviewed by Saam Barati.
2900 * stress/builtin-function-length.js: Added.
2903 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2904 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2906 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com>
2908 [ESNext] Async iteration - Implement Async Generator - parser
2909 https://bugs.webkit.org/show_bug.cgi?id=175210
2911 Reviewed by Yusuke Suzuki.
2913 * stress/async-await-syntax.js:
2914 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
2915 * stress/async-iteration-syntax.js: Added.
2919 (checkSimpleAsyncGeneratorSloppyMode):
2920 (checkSimpleAsyncGeneratorStrictMode):
2921 (checkNestedAsyncGenerators):
2922 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2923 * stress/generator-class-methods-syntax.js:
2925 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
2927 JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
2928 https://bugs.webkit.org/show_bug.cgi?id=175150
2930 Unreviewed test gardening.
2932 * wasm/js-api/test_memory_constructor.js:
2934 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
2936 [Linux] JSTests/wasm/stress/oom.js should not run on Linux
2937 https://bugs.webkit.org/show_bug.cgi?id=175100
2939 Reviewed by Mark Lam.
2941 The JSC test JSTests/wasm/stress/oom.js tries to use all the
2942 available memory until an out of memory exception happens.
2944 The Linux kernel is more tuned for server workloads than for GUI
2945 responsiveness. When a process tries to use a lot of memory, Linux
2946 will do its best to serve the request. This usually translates to
2947 free physical RAM by writing to disk dirty pages and/or moving out
2948 less recently used pages to swap (disk storage).
2949 Meanwhile it does this, the system will become unresponsive and this
2950 leads to freezes that can last even some minutes on the worst cases.
2952 Therefore, let's skip this test on Linux as it will cause more harm
2953 than good on the Linux bots or on the machines of Linux developers.
2955 * wasm/stress/oom.js:
2957 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com>
2959 [JSC] Remove unnecessary print from stress\promise-finally.js test
2960 https://bugs.webkit.org/show_bug.cgi?id=175015
2962 Reviewed by Yusuke Suzuki.
2964 * stress/promise-finally.js:
2968 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2970 Unreviewed, update test262 results for optional catch binding
2974 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2976 [JSC] Support optional catch binding
2977 https://bugs.webkit.org/show_bug.cgi?id=174981
2979 Reviewed by Saam Barati.
2981 * stress/optional-catch-binding-syntax.js: Added.
2985 * stress/optional-catch-binding.js: Added.
2989 2017-07-28 Mark Lam <mark.lam@apple.com>
2991 ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
2992 https://bugs.webkit.org/show_bug.cgi?id=174948
2993 <rdar://problem/33495680>
2995 Reviewed by Filip Pizlo.
2997 * stress/regress-174948.js: Added.
2999 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com>
3001 ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
3002 https://bugs.webkit.org/show_bug.cgi?id=174900
3004 Reviewed by Saam Barati.
3006 * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
3011 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com>
3013 Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
3014 https://bugs.webkit.org/show_bug.cgi?id=171637
3016 Reviewed by Darin Adler.
3018 * stress/domjit-getter-complex-with-incorrect-object.js:
3020 * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
3024 2017-07-26 JF Bastien <jfbastien@apple.com>
3026 WebAssembly: test throwing out of the start function
3027 https://bugs.webkit.org/show_bug.cgi?id=165714
3028 <rdar://problem/29760251>
3030 Reviewed by Keith Miller.
3033 * wasm/function-tests/trap-from-start.js: Added.
3035 * wasm/function-tests/trap-from-start-async.js: Added.
3036 (async.StartTrapsAsync):
3038 2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com>
3040 [FTL] Arguments elimination is suppressed by unreachable blocks
3041 https://bugs.webkit.org/show_bug.cgi?id=174352
3043 Reviewed by Filip Pizlo.
3045 * stress/arguments-elimination-force-exit.js: Added.
3049 * stress/arguments-elimination-throw.js: Added.
3055 2017-07-13 Mark Lam <mark.lam@apple.com>
3057 Add some additional test cases for bug 170896.
3058 https://bugs.webkit.org/show_bug.cgi?id=174491
3060 Reviewed by Filip Pizlo.
3062 * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js.
3063 * stress/regress-170896-with-double-shape-profile.js: Added.
3065 * stress/regress-170896-with-int32-shape-profile.js: Added.
3067 * stress/regress-170896.js: Removed.
3069 2017-07-13 Saam Barati <sbarati@apple.com>
3071 Missing exception check in JSObject::hasInstance
3072 https://bugs.webkit.org/show_bug.cgi?id=174455
3073 <rdar://problem/31384608>
3075 Reviewed by Mark Lam.
3077 * stress/has-instance-exception-check.js: Added.
3079 (let.getter.Object.getOwnPropertyDescriptor.get foo):
3081 2017-07-13 Caio Lima <ticaiolima@gmail.com>
3083 [ESnext] Implement Object Spread
3084 https://bugs.webkit.org/show_bug.cgi?id=167963
3086 Reviewed by Saam Barati.
3088 * stress/obj-rest-destructuring-order.js: Added.
3092 * stress/obj-spread-order.js: Added.
3096 * stress/object-spread.js: Added.
3105 (try.let.obj.get foo):
3108 2017-07-12 Saam Barati <sbarati@apple.com>
3110 GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments
3111 https://bugs.webkit.org/show_bug.cgi?id=174411
3112 <rdar://problem/31696186>
3114 Reviewed by Mark Lam.
3116 * stress/generic-arguments-correct-delete-behavior.js: Added.
3120 2017-07-07 Mark Lam <mark.lam@apple.com>
3122 \n\r is not the same as \r\n.
3123 https://bugs.webkit.org/show_bug.cgi?id=173053
3125 Reviewed by Keith Miller.
3127 * stress/regress-173053.js: Added.
3128 * stress/template-literal-line-terminators.js:
3130 2017-07-06 Saam Barati <sbarati@apple.com>
3132 We are missing places where we invalidate the for-in context
3133 https://bugs.webkit.org/show_bug.cgi?id=174184
3135 Reviewed by Geoffrey Garen.
3137 * stress/for-in-invalidate-context-weird-assignments.js: Added.
3141 2017-07-05 Saam Barati <sbarati@apple.com>
3143 NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
3144 https://bugs.webkit.org/show_bug.cgi?id=174188
3145 <rdar://problem/30581423>
3147 Reviewed by Mark Lam.
3149 * stress/new-array-having-a-bad-time-double.js: Added.
3153 2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
3155 WTF::StringImpl::copyChars segfaults when built with GCC 7
3156 https://bugs.webkit.org/show_bug.cgi?id=173407
3158 Reviewed by Andreas Kling.
3160 * stress/string-repeat-copy-chars-crash.js: Added.
3163 2017-07-03 Saam Barati <sbarati@apple.com>
3165 Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.
3167 * stress/unshiftCountSlowCase-correct-postCapacity.js:
3169 2017-07-03 Yusuke Suzuki <utatane.tea@gmail.com>
3171 Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited
3173 It requires too much memory.
3175 * stress/dont-reserve-huge-capacity-lexer.js:
3177 2017-06-30 Michael Saboff <msaboff@apple.com>
3179 Skip a test on ARM64 platform since we run out of address space.
3181 Rubber stamped by Saam Barati.
3183 * stress/dont-reserve-huge-capacity-lexer.js:
3185 2017-06-30 Michael Saboff <msaboff@apple.com>
3187 RegExp's anchored with .* with \g flag can return wrong match start for strings with multiple matches
3188 https://bugs.webkit.org/show_bug.cgi?id=174044
3190 Reviewed by Oliver Hunt.
3192 New regression test.
3194 * stress/regress-174044.js: Added.
3198 2017-06-30 Filip Pizlo <fpizlo@apple.com>
3200 RegExpCachedResult::setInput should reify left and right contexts
3201 https://bugs.webkit.org/show_bug.cgi?id=173818
3203 Reviewed by Keith Miller.
3205 * stress/right-left-context-invalidated-by-input.js: Added.
3206 (test.validateContexts):
3209 2017-06-29 Saam Barati <sbarati@apple.com>
3211 Calculating postCapacity in unshiftCountSlowCase is wrong
3212 https://bugs.webkit.org/show_bug.cgi?id=173992
3213 <rdar://problem/32283199>
3215 Reviewed by Keith Miller.
3217 * stress/unshiftCountSlowCase-correct-postCapacity.js: Added.
3220 2017-06-29 Commit Queue <commit-queue@webkit.org>
3222 Unreviewed, rolling out r218512.
3223 https://bugs.webkit.org/show_bug.cgi?id=173981
3225 "It changes the behavior of the JS API's JSEvaluateScript
3226 which breaks TurboTax" (Requested by saamyjoon on #webkit).
3230 "test262: Completion values for control flow do not match the
3232 https://bugs.webkit.org/show_bug.cgi?id=171265
3233 http://trac.webkit.org/changeset/218512
3235 2017-06-27 JF Bastien <jfbastien@apple.com>
3237 WebAssembly: running out of executable memory should throw OoM
3238 https://bugs.webkit.org/show_bug.cgi?id=171537
3239 <rdar://problem/32963338>
3241 Reviewed by Saam Barati.
3244 * wasm/lowExecutableMemory/executable-memory-oom.js: Added.
3246 (failCount.0.catch):
3247 (failCount.0.module.undefined.catch):
3248 * wasm/lowExecutableMemory/exports-oom.js: Added.
3251 (const.randomProgram):
3252 (failCount.0.catch):
3253 (failCount.0.module.undefined.catch):
3254 * wasm/lowExecutableMemory/imports-oom.js: Added.
3257 (const.randomProgram):
3259 (failCount.0.catch):
3260 (failCount.0.module.undefined.catch):
3262 2017-06-27 Caio Lima <ticaiolima@gmail.com>
3264 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
3265 https://bugs.webkit.org/show_bug.cgi?id=167962
3267 Reviewed by Saam Barati.
3269 * stress/object-rest-deconstruct.js: Added.
3271 (let.assertPropDescriptor):
3279 2017-06-27 Saam Barati <sbarati@apple.com>
3281 Function constructor needs to follow the spec and validate parameters and body independently
3282 https://bugs.webkit.org/show_bug.cgi?id=173303
3283 <rdar://problem/32732526>
3285 Reviewed by Keith Miller.
3287 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
3288 * stress/function-constructor-semantics.js: Added.
3297 2017-06-26 Saam Barati <sbarati@apple.com>
3299 RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect
3300 https://bugs.webkit.org/show_bug.cgi?id=173740
3302 Reviewed by Mark Lam.
3304 * stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added.
3305 (Array.prototype.Symbol.iterator):
3307 2017-06-26 Saam Barati <sbarati@apple.com>
3309 Skip a test on 32-bit platforms since we run out of address space.
3311 Rubber stamped by Mark Lam.
3313 * stress/dont-reserve-huge-capacity-lexer.js:
3315 2017-06-26 Saam Barati <sbarati@apple.com>
3317 Crash in JSC::Lexer<unsigned char>::setCode
3318 https://bugs.webkit.org/show_bug.cgi?id=172754
3320 Reviewed by Mark Lam.
3322 * stress/dont-reserve-huge-capacity-lexer.js: Added.
3325 2017-06-24 Yusuke Suzuki <utatane.tea@gmail.com>
3327 [JSC] Clean up Object.entries implementation
3328 https://bugs.webkit.org/show_bug.cgi?id=173759
3330 Reviewed by Sam Weinig.
3332 * microbenchmarks/object-entries.js: Added.
3335 2017-06-24 Joseph Pecoraro <pecoraro@apple.com>
3337 Remove Reflect.enumerate
3338 https://bugs.webkit.org/show_bug.cgi?id=173806
3340 Reviewed by Yusuke Suzuki.
3344 These tests now fail because they use Reflect.enumerate.
3347 This test now passes, it checked that Reflect.enumerate is undefined!
3349 * stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:
3350 Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>
3352 * stress/reflect-enumerate.js: Removed.
3353 Remove a test solely for Reflect.enumerate.
3355 2017-06-22 Saam Barati <sbarati@apple.com>
3357 ValueRep(DoubleRep(@v)) can not simply convert to @v
3358 https://bugs.webkit.org/show_bug.cgi?id=173687
3359 <rdar://problem/32855563>
3361 Reviewed by Mark Lam.
3363 * stress/dont-strength-reduce-valuerep-of-doublerep.js: Added.
3366 2017-06-22 Yusuke Suzuki <utatane.tea@gmail.com>
3368 [JSC] Object.values should be implemented in C++
3369 https://bugs.webkit.org/show_bug.cgi?id=173703
3371 Reviewed by Sam Weinig.
3373 * microbenchmarks/object-keys-map-values.js: Added.
3375 * microbenchmarks/object-values.js: Added.
3377 * stress/object-values-changing-properties.js: Added.
3379 (throw.new.Error.let.source.get x):
3381 (shouldBe.let.handler.get order):
3383 (shouldBe.let.handler.get return):
3384 (let.handler.get order):
3386 2017-06-21 Saam Barati <sbarati@apple.com>
3388 eval virtual call is incorrect in the baseline JIT
3389 https://bugs.webkit.org/show_bug.cgi?id=173587
3390 <rdar://problem/32867897>
3392 Reviewed by Michael Saboff.
3394 * stress/do-eval-virtual-call-correctly.js: Added.
3400 2017-06-20 Ryan Haddad <ryanhaddad@apple.com>
3402 Update test262 test expectations after r218581.
3404 Unreviewed test gardening.
3408 2017-06-20 Oleksandr Skachkov <gskachkov@gmail.com>
3410 Revert changes in bug#160417 about extending `null` not being a derived class
3411 https://bugs.webkit.org/show_bug.cgi?id=169293
3413 Reviewed by Saam Barati.
3415 * stress/class-derived-from-null.js:
3424 2017-06-13 Yusuke Suzuki <utatane.tea@gmail.com>
3426 [DFG] More ArrayIndexOf fixups for various types
3427 https://bugs.webkit.org/show_bug.cgi?id=173176
3429 Reviewed by Saam Barati.
3431 * stress/array-indexof-arraystorage.js: Added.
3433 (indexOfInt32Other):
3435 (indexOfInt32Boolean):
3436 (indexOfDoubleOther):
3437 (indexOfDoubleCell):
3438 (indexOfDoubleBoolean):
3441 * stress/array-indexof-constant-folding.js: Added.
3443 (indexOfInt32Other):
3445 (indexOfInt32Boolean):
3446 (indexOfDoubleOther):
3447 (indexOfDoubleCell):
3448 (indexOfDoubleBoolean):
3449 * stress/array-indexof-hole-and-other.js: Added.
3452 * stress/array-indexof-other.js: Added.
3458 * stress/array-indexof-symbol.js: Added.
3465 2017-06-19 Joseph Pecoraro <pecoraro@apple.com>
3467 test262: Completion values for control flow do not match the spec
3468 https://bugs.webkit.org/show_bug.cgi?id=171265
3470 Reviewed by Saam Barati.
3472 * stress/completion-value.js:
3473 Condensed test for completion values in top level statements.
3475 * stress/super-get-by-id.js:
3476 ClassDeclaration when evaled no longer produce values. Convert
3477 these to ClassExpressions so they produce the class value.
3479 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
3480 This is a progression for currect spec behavior.
3482 * mozilla/mozilla-tests.yaml:
3483 This test is now outdated, so mark it as failing for that reason.
3486 Passing all "cptn" completion value tests.
3488 2017-06-17 Keith Miller <keith_miller@apple.com>
3490 ArrayBuffer constructor needs to create subclass structures before its buffer
3491 https://bugs.webkit.org/show_bug.cgi?id=173510
3493 Reviewed by Yusuke Suzuki.
3497 2017-06-17 Keith Miller <keith_miller@apple.com>
3499 ArrayPrototype methods should use JSValue::toLength for non-Arrays.
3500 https://bugs.webkit.org/show_bug.cgi?id=173506
3502 Reviewed by Ryosuke Niwa.
3506 * ChakraCore/test/Function/apply3.baseline-jsc:
3509 2017-06-16 Yusuke Suzuki <utatane.tea@gmail.com>
3511 [JSC] Add fast path for Object.assign
3512 https://bugs.webkit.org/show_bug.cgi?id=173416
3514 Reviewed by Mark Lam.
3516 * stress/object-assign-changing-properties.js: Added.
3518 (throw.new.Error.let.source.get x):
3520 (shouldBe.let.source.get x):
3521 (shouldBe.let.target.set x):
3522 (shouldBe.let.target.get x):
3523 * stress/object-assign-proxy.js: Added.
3525 (throw.new.Error.let.handler.get order):
3527 2017-06-15 Yusuke Suzuki <utatane.tea@gmail.com>
3529 [JSC] Implement Object.assign in C++
3530 https://bugs.webkit.org/show_bug.cgi?id=173414
3532 Reviewed by Saam Barati.
3534 * stress/object-assign-string-first.js: Added.
3536 (source.get Symbol):
3540 2017-06-14 JF Bastien <jfbastien@apple.com>
3542 WebAssembly: remove empty test files
3543 https://bugs.webkit.org/show_bug.cgi?id=173382
3545 Reviewed by Saam Barati.
3547 The following files:
3548 JSTests/wasm/function-tests/call-indirect-params.js
3549 JSTests/wasm/function-tests/call-indirect.js
3550 JSTests/wasm/js-api/call-indirect-results.js
3551 Were changed to empty files in https://trac.webkit.org/changeset/209771
3553 They were testing call_indirect with the wrong semantics, before
3554 we implemented tables. That change implemented tables and
3555 therefore removed the erroneous tests.
3557 We have a few tests for call_indirect which already do the right thing:
3558 JSTests/wasm/function-tests/context-switch.js
3559 JSTests/wasm/function-tests/exceptions.js
3560 JSTests/wasm/function-tests/grow-memory-2.js
3561 JSTests/wasm/function-tests/stack-overflow.js
3562 JSTests/wasm/function-tests/table-basic-2.js
3563 JSTests/wasm/function-tests/table-basic.js
3564 JSTests/wasm/js-api/call-indirect.js
3565 JSTests/wasm/js-api/table.js
3566 JSTests/wasm/js-api/unique-signature.js
3567 JSTests/wasm/js-api/wrapper-function.js
3569 I also just imported the updated spec tests which, among other
3570 things, test call_indirect:
3573 core/call_indirect.wast
3577 core/left-to-right.wast
3582 core/unreachable.wast
3584 So I think it's OK to just delete the tests which should just have
3585 been deleted back when tables were added.
3587 * wasm/function-tests/call-indirect-params.js: Removed.
3588 * wasm/function-tests/call-indirect.js: Removed.
3589 * wasm/js-api/call-indirect-results.js: Removed.
3591 2017-06-13 JF Bastien <jfbastien@apple.com>
3593 WebAssembly: import updated spec tests
3594 https://bugs.webkit.org/show_bug.cgi?id=173287
3595 <rdar://problem/32725975>
3597 Reviewed by Saam Barati.
3599 Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b,
3600 with a few modifications so things work.
3602 Fix a bunch of bugs found through this process, and punt a few tests (which I
3603 marked as blocked by this bug).
3607 Fix load / store alignment: r216908 erroneously implemented it as bit alignment
3608 instead of byte alignment. It was also missing memory-alignment.js despite it
3609 being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to
3612 Tables can be imported or in a section. There can be only one, but sections can
3613 be empty. An Elements section can exist if there's no Table, as long as it is
3616 Memories can be imported or in a section. There can be only one, but sections
3617 can be empty. A Data section can exist if there's no Memory, as long as it is
3620 Prototypes: stringify without .prototype. in the string.
3622 WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter,
3623 not a final size, and throws a RangeError on failure, not a TypeError.
3625 Fix compile / instantiate so the reject the promise if given an argument of the
3626 wrong type (instead of failing instantly).
3628 Fix async on neuter test.
3630 Element section shouldn't affect any Table if any of the elements are out of
3631 bounds. We need to process it in two passes.
3633 Segment section shouldn't affect any Data if any of the segments are out of
3634 bounds. We need to process it in two passes.
3636 Empty data segments are valid, but only when there is no memory. Their index
3637 still gets validated, and has to be zero.
3641 Error messages with context, the test seems overly restrictive but this is
3644 compile/instantiate/validate property descriptors.
3648 Temporarily disable NaN tests. We need to go back and implement the following
3649 semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as
3650 much as getting all the other tests passing.
3652 Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as
3653 no_fold_promote_demote (an interesting corner case which we get wrong). mul by
3654 one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const
3655 0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN
3656 to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\"
3657 (i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure
3658 why they're not allowed.
3661 * wasm/function-tests/i32-load8-s.js:
3662 * wasm/function-tests/memory-access-past-4gib.js:
3663 (const.op.of.WASM.opcodes):
3664 * wasm/function-tests/memory-alignment.js: Added.
3665 (const.op.of.WASM.opcodes):
3666 * wasm/function-tests/memory-section-and-import.js:
3667 * wasm/js-api/Module-compile.js:
3668 (async.testPromiseAPI):
3669 * wasm/js-api/dont-mmap-zero-byte-memory.js:
3671 * wasm/js-api/element.js:
3672 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3673 * wasm/js-api/neutered-inputs.js:
3674 (const.testFunction): Deleted.
3675 (const.testConstructor): Deleted.
3676 * wasm/js-api/table.js:
3677 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3678 (new.WebAssembly.Module):
3680 (assertBadTableImport):
3681 (assert.throws.WebAssembly.Table.prototype.grow):
3682 (assertBadTableInstance): Deleted.
3683 * wasm/js-api/test_Data.js:
3684 (DataSectionWithoutMemory):
3685 * wasm/spec-harness/index.js:
3687 (uniqueTest): Deleted.
3688 (assert_invalid): Deleted.
3689 (assert_soft_invalid): Deleted.
3690 (register): Deleted.
3692 (get instance): Deleted.
3695 (assert_unlinkable): Deleted.
3696 (assert_uninstantiable): Deleted.
3697 (assert_trap): Deleted.
3700 (assert_exhaustion): Deleted.
3701 (assert_return): Deleted.
3702 (assert_return_nan): Deleted.
3703 * wasm/spec-harness/testharness.css: Removed.
3704 * wasm/spec-harness/testharness.js: Removed.
3705 * wasm/spec-harness/testharnessreport.js: Removed.
3706 * wasm/spec-harness/wasm-constants.js:
3709 * wasm/spec-harness/wasm-module-builder.js:
3710 (Binary.prototype.emit_section):
3712 (WasmFunctionBuilder.prototype.addBody):
3713 (WasmFunctionBuilder.prototype.end):
3714 (WasmFunctionBuilder):
3715 (WasmModuleBuilder.prototype.stringToBytes):
3716 (WasmModuleBuilder.prototype.addCustomSection):
3717 (WasmModuleBuilder.prototype.addFunctionTableInit):
3718 (WasmModuleBuilder.prototype.appendToTable):
3719 (WasmModuleBuilder.prototype.toArray):
3720 (WasmModuleBuilder.prototype.toBuffer):
3721 (WasmModuleBuilder.prototype.instantiate):
3722 (WasmModuleBuilder):
3723 * wasm/spec-tests/address.wast.js:
3724 * wasm/spec-tests/align.wast.js: Added.
3725 * wasm/spec-tests/binary.wast.js:
3726 * wasm/spec-tests/block.wast.js:
3727 * wasm/spec-tests/br.wast.js:
3728 * wasm/spec-tests/br_if.wast.js:
3729 * wasm/spec-tests/br_table.wast.js:
3730 * wasm/spec-tests/call.wast.js:
3731 * wasm/spec-tests/call_indirect.wast.js:
3732 * wasm/spec-tests/comments.wast.js:
3733 * wasm/spec-tests/const.wast.js: Added.
3734 * wasm/spec-tests/conversions.wast.js: Added.
3735 * wasm/spec-tests/custom_section.wast.js:
3736 * wasm/spec-tests/exports.wast.js:
3737 * wasm/spec-tests/f32.wast.js: Added.
3738 * wasm/spec-tests/f64.wast.js: Added.
3739 * wasm/spec-tests/fac.wast.js:
3740 * wasm/spec-tests/float_exprs.wast.js: Added.
3741 * wasm/spec-tests/float_misc.wast.js: Added.
3742 * wasm/spec-tests/func.wast.js:
3743 * wasm/spec-tests/globals.wast.js:
3744 * wasm/spec-tests/if.wast.js:
3745 * wasm/spec-tests/imports.wast.js:
3746 * wasm/spec-tests/inline-module.wast.js: Added.
3747 * wasm/spec-tests/jsapi.js:
3750 * wasm/spec-tests/labels.wast.js:
3751 * wasm/spec-tests/loop.wast.js:
3752 * wasm/spec-tests/memory.wast.js:
3753 * wasm/spec-tests/memory_trap.wast.js: Added.
3754 * wasm/spec-tests/names.wast.js:
3755 * wasm/spec-tests/nop.wast.js:
3756 * wasm/spec-tests/return.wast.js:
3757 * wasm/spec-tests/stack.wast.js:
3758 * wasm/spec-tests/token.wast.js: Added.
3759 * wasm/spec-tests/type.wast.js: Added.
3760 * wasm/spec-tests/typecheck.wast.js:
3761 * wasm/spec-tests/unreachable.wast.js:
3762 * wasm/spec-tests/unreached-invalid.wast.js:
3763 * wasm/spec-tests/unwind.wast.js:
3764 * wasm/spec-tests/utf8-custom-section-id.wast.js: Added.
3765 * wasm/spec-tests/utf8-import-field.wast.js: Added.
3766 * wasm/spec-tests/utf8-import-module.wast.js: Added.
3768 2017-06-13 Ryan Haddad <ryanhaddad@apple.com>
3770 Unreviewed JSC test gardening.
3772 * stress/check-string-ident.js:
3773 * stress/new-largeish-contiguous-array-with-size.js:
3775 2017-06-13 Michael Saboff <msaboff@apple.com>
3777 DFG doesn't properly handle a property that is change to read only in a prototype
3778 https://bugs.webkit.org/show_bug.cgi?id=173321
3780 Reviewed by Filip Pizlo.
3782 * ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js.
3783 * stress/regress-173321.js: Added new regression test.
3788 2017-06-12 Saam Barati <sbarati@apple.com>
3790 Update test262 test expectation since r218082 makes new tests pass.
3794 2017-06-12 Saam Barati <sbarati@apple.com>
3796 We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms
3797 https://bugs.webkit.org/show_bug.cgi?id=172957
3798 <rdar://problem/32602704>
3800 Reviewed by Filip Pizlo.
3802 * stress/spec-empty-flows-through-cell-checks.js: Added.
3807 2017-06-12 Oleksandr Skachkov <gskachkov@gmail.com>
3809 We incorrectly allow escaped characters in keyword tokens
3810 https://bugs.webkit.org/show_bug.cgi?id=171310
3812 Reviewed by Yusuke Suzuki.
3814 * stress/destructuring-assignment-syntax.js:
3815 * stress/error-messages-for-in-operator-should-not-crash.js:
3817 * stress/reserved-word-with-escape.js:
3818 (testSyntaxError.String.raw.v):
3819 (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
3820 (testSyntaxError.String.raw.a):
3821 * JSTests/ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc:
3823 2017-06-09 Yusuke Suzuki <utatane.tea@gmail.com>
3825 [DFG] Add ArrayIndexOf intrinsic
3826 https://bugs.webkit.org/show_bug.cgi?id=172421
3828 Reviewed by Saam Barati.
3830 * stress/array-indexof-array-prototype-change.js: Added.
3833 * stress/array-indexof-have-a-bad-time-getter.js: Added.
3836 * stress/array-indexof-have-a-bad-time.js: Added.
3839 * stress/array-indexof-hole-with-prototype.js: Added.
3842 * stress/array-indexof-hole.js: Added.
3845 * stress/array-indexof-index.js: Added.
3852 * stress/array-indexof-negative-index.js: Added.
3859 * stress/array-indexof-non-int32-start-index.js: Added.
3863 * stress/array-indexof-object-prototype-change.js: Added.
3866 * stress/array-indexof-object.js: Added.
3869 * stress/array-indexof-original-array.js: Added.
3872 * stress/array-indexof-string.js: Added.
3875 * stress/array-indexof-structure-change-convert.js: Added.
3878 * stress/array-indexof-structure-change.js: Added.
3881 * stress/array-indexof.js: Added.
3885 2017-06-11 Keith Miller <keith_miller@apple.com>
3887 TypedArray constructor with string shouldn't throw
3888 https://bugs.webkit.org/show_bug.cgi?id=173181
3890 Reviewed by JF Bastien.
3892 We should be coercing primitive arguments to numbers in the various
3893 TypedArray constructors.
3895 * stress/typedarray-constructor.js:
3897 2017-06-11 Yusuke Suzuki <utatane.tea@gmail.com>
3899 Unreviewed, update test results part 3
3900 https://bugs.webkit.org/show_bug.cgi?id=173227
3902 * microbenchmarks/regexp-prototype-search-observable-side-effects.js:
3904 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3906 Unreviewed, update test results part 2
3907 https://bugs.webkit.org/show_bug.cgi?id=173227
3911 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3913 Unreviewed, update test results
3914 https://bugs.webkit.org/show_bug.cgi?id=173227
3916 * microbenchmarks/string-prototype-search-observable-side-effects.js:
3919 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3921 [JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec
3922 https://bugs.webkit.org/show_bug.cgi?id=173227
3924 Reviewed by Mark Lam.
3928 * es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js:
3930 2017-06-08 Keith Miller <keith_miller@apple.com>
3932 WebAssembly: We should only create wrappers for functions that can be exported
3933 https://bugs.webkit.org/show_bug.cgi?id=173088
3935 Reviewed by Saam Barati.
3937 Remove a bunch of old tests that are actually duplicates of the spec-tests and rely
3938 on the old testWasmModuleFunctions api, which has been removed.
3940 * wasm/function-tests/copysign.js: Removed.
3941 * wasm/function-tests/ctz.js: Removed.
3942 * wasm/function-tests/drop.js: Removed.
3943 * wasm/function-tests/dumb-eq-if-then-else.js: Removed.
3944 * wasm/function-tests/dumb-less-than-fallthrough.js: Removed.
3945 * wasm/function-tests/dumb-less-than-ite.js: Removed.
3946 * wasm/function-tests/eqz.js: Removed.
3947 * wasm/function-tests/i32-trunc-s-f32.js: Removed.
3948 * wasm/function-tests/i32-trunc-s-f64.js: Removed.
3949 * wasm/function-tests/i32-trunc-u-f32.js: Removed.
3950 * wasm/function-tests/i32-trunc-u-f64.js: Removed.
3951 * wasm/function-tests/i64-trunc-s-f32.js: Removed.
3952 * wasm/function-tests/i64-trunc-s-f64.js: Removed.
3953 * wasm/function-tests/i64-trunc-u-f32.js: Removed.
3954 * wasm/function-tests/i64-trunc-u-f64.js: Removed.
3955 * wasm/function-tests/if-then-else-fallthrough.js: Removed.
3956 * wasm/function-tests/if-then-fallthrough.js: Removed.
3957 * wasm/function-tests/int-to-floating-point.js: Removed.
3958 * wasm/function-tests/loop-mult.js:
3959 * wasm/function-tests/loop-sum.js:
3960 * wasm/function-tests/max.js: Removed.
3961 * wasm/function-tests/min.js: Removed.
3962 * wasm/function-tests/nearest.js: Removed.
3963 * wasm/function-tests/nop.js: Removed.
3964 * wasm/function-tests/popcnt.js: Removed.
3965 * wasm/function-tests/ret5.js:
3966 * wasm/function-tests/select.js: Removed.
3967 * wasm/function-tests/tee-local.js: Removed.
3968 * wasm/function-tests/trunc.js: Removed.
3970 2017-06-07 JF Bastien <jfbastien@apple.com>
3972 WebAssembly: test imports and exports with 16-bit characters
3973 https://bugs.webkit.org/show_bug.cgi?id=165977
3974 <rdar://problem/29760130>
3976 Reviewed by Saam Barati.
3978 The output for import failure was improved, so many tests need to
3979 be updated here. Only one has new tests as noted below.
3981 * wasm/function-tests/memory-import-and-grow.js:
3982 * wasm/js-api/Instance.imports.exports.unicode.js: Added. Main new test.
3984 * wasm/js-api/global-error.js:
3987 * wasm/js-api/table.js:
3989 (new.WebAssembly.Table):
3990 * wasm/js-api/test_memory.js:
3992 * wasm/js-api/wasm-to-wasm-bad-signature.js:
3993 (BadSignatureDropStartParams.):
3994 (BadSignatureDropStartParams):
3995 (BadSignatureDropEndParams.):
3996 (BadSignatureSwapParam.):
3998 * wasm/js-api/web-assembly-instantiate.js:
3999 (assert.asyncTest.async.test):
4001 * wasm/js-api/wrapper-function.js:
4002 (return.new.WebAssembly.Module):
4004 2017-06-07 Mark Lam <mark.lam@apple.com>
4006 Restrict the regress-173035.js test to only run on Darwin x86-64.
4007 https://bugs.webkit.org/show_bug.cgi?id=173075
4009 Reviewed by Saam Barati.
4011 This is because the 32-bit x86 build will fail to mmap the 0x3f900000 bytes that
4012 this test will require to succeed. Here's an example of this failure:
4013 https://build.webkit.org/builders/Apple%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/866/steps/webkit-32bit-jsc-test/logs/stdio
4015 Since the issue is due to allocation of a very large amount of memory, the test
4016 will probably fail on iOS and other platforms as well. Hence, we should just
4017 skip this test for any platforms that is not Darwin x86-64.
4019 * stress/regress-173035.js:
4021 2017-06-07 Mark Lam <mark.lam@apple.com>
4023 ASSERTION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())
4024 https://bugs.webkit.org/show_bug.cgi?id=168587
4028 Unskipping the test because the issue has been fixed in https://bugs.webkit.org/show_bug.cgi?id=172673.
4030 * stress/test-finally.js:
4032 2017-06-06 Mark Lam <mark.lam@apple.com>
4034 Contiguous storage butterfly length should not exceed MAX_STORAGE_VECTOR_LENGTH.
4035 https://bugs.webkit.org/show_bug.cgi?id=173035
4036 <rdar://problem/32554593>
4038 Reviewed by Geoffrey Garen and Filip Pizlo.
4040 * stress/regress-173035.js: Added.
4042 2017-06-06 Saam Barati <sbarati@apple.com>
4044 Make sure we restore SP when doing calls that could be to JS
4045 https://bugs.webkit.org/show_bug.cgi?id=172946
4046 <rdar://problem/32579026>
4048 Reviewed by JF Bastien.
4050 * wasm/function-tests/many-args-tail-call-sp-restored.js: Added.
4051 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f1):
4052 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.end):
4053 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f2):
4054 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.instance.new.WebAssembly.Instance.new.WebAssembly.Module.builder.WebAssembly):
4056 2017-06-06 Joseph Pecoraro <pecoraro@apple.com>
4058 Unreviewed rollout r217807. Caused a test to crash.
4060 * heapProfiler/class-names.js: Removed.
4061 * heapProfiler/driver/driver.js:
4062 (CheapHeapSnapshotNode):
4063 (CheapHeapSnapshot):
4064 (createCheapHeapSnapshot):
4066 (createHeapSnapshot):
4067 * typeProfiler/inheritance.js:
4073 2017-06-06 Filip Pizlo <fpizlo@apple.com>
4075 index out of bound in bytecodebasicblock
4076 https://bugs.webkit.org/show_bug.cgi?id=172963
4078 Reviewed by Saam Barati and Mark Lam.
4080 * stress/dfg-call-class-constructor.js: Added.
4084 2017-06-05 Joseph Pecoraro <pecoraro@apple.com>
4086 Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
4087 https://bugs.webkit.org/show_bug.cgi?id=172848
4088 <rdar://problem/25709212>
4090 Reviewed by Saam Barati.
4092 * typeProfiler/inheritance.js:
4093 Rewrite the test slightly for clarity. The hoisting was confusing.
4095 * heapProfiler/class-names.js: Added.
4099 Test object types and improved class names.
4101 * heapProfiler/driver/driver.js:
4102 (CheapHeapSnapshotNode):
4103 (CheapHeapSnapshot):
4104 (createCheapHeapSnapshot):
4106 (createHeapSnapshot):
4107 Update snapshot parsing from version 1 to version 2.
4109 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com>
4111 ASSERTION FAILED: "We should only declare a function as a lexically scoped variable in scopes where var declarations aren't allowed. ..." for function redeclaration with async function module export
4112 https://bugs.webkit.org/show_bug.cgi?id=168844
4114 Reviewed by Saam Barati.
4116 * modules/async-function-export.js: Added.
4120 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com>
4122 ES2015 modules - Export default function hoisting
4123 https://bugs.webkit.org/show_bug.cgi?id=170174
4125 Reviewed by Saam Barati.
4127 This issue itself is solved by fixing function declaration hoisting rules.
4128 This patch just adds the specific test to modules tests to ensure the bug
4131 * modules/export-default-function-hoisting.js: Added.
4132 * modules/export-default-function-hoisting/cappuccino.js: Added.
4133 (import.drinkCocoa.from.string_appeared_here.export.default.drinkCappuccino):
4134 * modules/export-default-function-hoisting/cocoa.js: Added.
4135 (export.default.drinkCocoa):
4137 2017-06-01 Oleksandr Skachkov <gskachkov@gmail.com>
4139 Class Proxy can't be extended
4140 https://bugs.webkit.org/show_bug.cgi?id=169040
4142 Reviewed by Saam Barati.
4144 Adding tests that check correctness of Proxy to ES6 `class`
4145 Bug is already fixed in https://bugs.webkit.org/show_bug.cgi?id=164849
4147 * stress/proxy-class.js: Added.
4149 (throw.new.Error.SuperClass):
4150 (throw.new.Error.A):
4153 2017-05-31 Yusuke Suzuki <utatane.tea@gmail.com>
4155 [JSC] Implement String.prototype.concat in JS builtins
4156 https://bugs.webkit.org/show_bug.cgi?id=172798
4158 Reviewed by Sam Weinig.
4160 * microbenchmarks/string-concat-convert.js: Added.
4162 * microbenchmarks/string-concat-long-convert.js: Added.
4164 * microbenchmarks/string-concat-long.js: Added.
4166 * microbenchmarks/string-concat.js: Added.
4169 2017-05-31 Oleksandr Skachkov <gskachkov@gmail.com>
4171 Rolling out: Prevent async methods named 'function'
4172 https://bugs.webkit.org/show_bug.cgi?id=172776
4174 Reviewed by Mark Lam.
4176 * stress/async-await-syntax.js:
4177 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
4178 (testTopLevelAsyncAwaitSyntaxSloppyMode):
4179 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
4180 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
4181 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
4183 2017-05-31 Ryan Haddad <ryanhaddad@apple.com>
4185 Skip flaky JSC test stress/test-finally.js
4186 https://bugs.webkit.org/show_bug.cgi?id=168587
4188 Unreviewed test gardening.
4190 * stress/test-finally.js:
4192 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
4194 Prevent async methods named 'function' in Object literal
4195 https://bugs.webkit.org/show_bug.cgi?id=172660
4197 Reviewed by Saam Barati.
4199 * stress/async-await-syntax.js:
4200 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
4202 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
4204 ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext
4205 https://bugs.webkit.org/show_bug.cgi?id=171274
4207 Reviewed by Saam Barati.
4209 * stress/async-arrow-functions-lexical-binding-in-class.js:
4211 (shouldBeAsyncAndStoreBind):
4212 (promise.new.Promise):
4214 (ChildClass4.prototype.classValue):
4215 (ChildClass4.prototype.get classProperty):
4216 * stress/async-arrow-functions-lexical-super-binding.js:
4218 (const.childA1.new.prototype.var.f.async):
4219 (const.childA1.new.var):
4220 (const.childA1.new):
4221 (const.childA2.new.prototype.var.f.async):
4222 (const.childA2.new.var):
4223 (const.childA2.new):
4224 (const.childA3.new.prototype.var.f.async):
4225 (const.childA3.new.var):
4226 (const.childA3.new):
4227 (try.childA4.new.prototype.var.f.async):
4228 (try.childA4.new.var):
4231 (const.childA5.new.prototype.var.f.async):
4232 (const.childA5.new.var):
4233 (const.childA5.new):
4235 (checkClass.new.prototype.var.f.async):
4236 (checkClass.new.var):
4238 (checkClass.new.prototype.method):
4239 (checkClass.new.prototype.prop):
4241 2017-05-27 Yusuke Suzuki <utatane.tea@gmail.com>
4243 [JSC] Map and Set constructors should have fast path for cloning
4244 https://bugs.webkit.org/show_bug.cgi?id=172413
4246 Reviewed by Saam Barati.
4248 * stress/map-clone-instance-iterator-change.js: Added.
4250 (map.Symbol.iterator):
4251 * stress/map-clone-iterator-change.js: Added.
4253 (Map.prototype.Symbol.iterator):
4254 * stress/map-clone-next-change.js: Added.
4256 (map.Symbol.iterator.__proto__.next):
4257 * stress/map-clone.js: Added.
4260 * stress/map-inherit-set.js: Added.
4264 * stress/set-clone-instance-iterator-change.js: Added.
4266 (set Symbol.iterator):
4267 * stress/set-clone-iterator-change.js: Added.
4269 (set Set.prototype.Symbol.iterator):
4270 * stress/set-clone-next-change.js: Added.
4272 (set Symbol.iterator.__proto__.next):
4273 * stress/set-clone.js: Added.
4275 (set Set.prototype.add):
4276 * stress/set-inherit-add.js: Added.
4278 (DerivedSet.set add):
4280 2017-05-26 Ryan Haddad <ryanhaddad@apple.com>
4282 Unreviewed, rolling out r217458.
4284 This change caused 55 JSC test failures.
4288 "Date should use historical data if it's available."
4289 https://bugs.webkit.org/show_bug.cgi?id=172592
4290 http://trac.webkit.org/changeset/217458
4292 2017-05-26 Yusuke Suzuki <utatane.tea@gmail.com>
4294 Give ModuleProgram the same treatment that we did for ProgramCode in bug#167725
4295 https://bugs.webkit.org/show_bug.cgi?id=167805
4297 Reviewed by Saam Barati.
4299 * modules/module-jit-reachability.js: Added.
4301 2017-05-26 Oleksandr Skachkov <gskachkov@gmail.com>
4303 Prevent async methods named 'function'
4304 https://bugs.webkit.org/show_bug.cgi?id=172598
4306 Reviewed by Mark Lam.
4308 * stress/async-await-syntax.js:
4309 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
4310 (testTopLevelAsyncAwaitSyntaxSloppyMode):
4311 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
4312 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
4313 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
4315 2017-05-25 Keith Miller <keith_miller@apple.com>
4317 Date should use historical data if it's available.
4318 https://bugs.webkit.org/show_bug.cgi?id=172592
4320 Reviewed by Mark Lam.
4322 Remove parts of the date tests that rely on the absence of
4323 historical data in Date.
4325 * mozilla/ecma/Date/15.9.5.31-1.js:
4327 * mozilla/ecma/Date/15.9.5.35-1.js:
4330 2017-05-25 Saam Barati <sbarati@apple.com>
4332 Our for-in optimization in the bytecode generator does its static analysis incorrectly
4333 https://bugs.webkit.org/show_bug.cgi?id=172532
4334 <rdar://problem/32369452>
4336 Reviewed by Mark Lam.
4338 * stress/for-in-invalidation-for-any-write.js: Added.
4343 2017-05-25 Mark Lam <mark.lam@apple.com>
4345 ObjectToStringAdaptiveInferredPropertyValueWatchpoint should not reinstall itself nor handleFire if it's dying shortly.
4346 https://bugs.webkit.org/show_bug.cgi?id=172548
4347 <rdar://problem/31458393>
4349 Reviewed by Filip Pizlo.
4351 * stress/regress-172548.patch: Added.
4353 2017-05-23 Saam Barati <sbarati@apple.com>
4355 We should not mmap zero bytes for a memory in Wasm
4356 https://bugs.webkit.org/show_bug.cgi?id=172528
4357 <rdar://problem/32257076>
4359 Reviewed by Mark Lam.
4361 * wasm/js-api/dont-mmap-zero-byte-memory.js: Added.
4364 2017-05-23 Saam Barati <sbarati@apple.com>
4366 CFGSimplificationPhase should not merge a block with itself
4367 https://bugs.webkit.org/show_bug.cgi?id=172508
4368 <rdar://problem/28424006>
4370 Reviewed by Keith Miller.
4372 * stress/dont-crash-in-cfg-simplification.js: Added.
4377 2017-05-20 Yusuke Suzuki <utatane.tea@gmail.com>
4379 [FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
4380 https://bugs.webkit.org/show_bug.cgi?id=172216
4382 Reviewed by Saam Barati.
4384 * stress/array-storage-get-by-val.js: Added.
4388 (testSlowPutOutOfBound):
4389 (testSlowPutInBound):
4391 2017-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
4393 Unreviewed, fix commented out tests
4394 https://bugs.webkit.org/show_bug.cgi?id=172225
4396 * stress/get-by-val-string.js:
4399 (Hello.prototype.get 42):
4400 (Hello.prototype.43):
4403 (throw.new.Error): Deleted.
4405 2017-05-21 Saam Barati <sbarati@apple.com>
4407 We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
4408 https://bugs.webkit.org/show_bug.cgi?id=171041
4409 <rdar://problem/32082516>
4411 Reviewed by Yusuke Suzuki.
4413 * stress/lexical-scoping-for-loop.js: Added.
4428 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>