1 2017-10-26 Michael Saboff <msaboff@apple.com>
3 REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum
4 https://bugs.webkit.org/show_bug.cgi?id=178890
6 Reviewed by Keith Miller.
10 * stress/regress-178890.js: Added.
12 2017-10-26 Mark Lam <mark.lam@apple.com>
14 JSRopeString::RopeBuilder::append() should check for overflows.
15 https://bugs.webkit.org/show_bug.cgi?id=178385
16 <rdar://problem/35027468>
18 Reviewed by Saam Barati.
20 * stress/regress-178385.js: Added.
22 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
24 Unreviewed, rolling out r223961.
26 The change that required this has been rolled out.
30 "Mark test262.yaml/test262/test/language/statements/try/tco-
32 https://bugs.webkit.org/show_bug.cgi?id=178592
33 https://trac.webkit.org/changeset/223961
35 2017-10-25 Commit Queue <commit-queue@webkit.org>
37 Unreviewed, rolling out r223691 and r223729.
38 https://bugs.webkit.org/show_bug.cgi?id=178834
40 Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
45 "Turn recursive tail calls into loops"
46 https://bugs.webkit.org/show_bug.cgi?id=176601
47 https://trac.webkit.org/changeset/223691
49 "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
50 comparison is always false due to limited range of data type
52 https://bugs.webkit.org/show_bug.cgi?id=178543
53 https://trac.webkit.org/changeset/223729
55 2017-10-25 Ryan Haddad <ryanhaddad@apple.com>
57 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
58 https://bugs.webkit.org/show_bug.cgi?id=178592
60 Unreviewed test gardening.
64 2017-10-24 Yusuke Suzuki <utatane.tea@gmail.com>
66 [FTL] Support NewStringObject
67 https://bugs.webkit.org/show_bug.cgi?id=178737
69 Reviewed by Saam Barati.
71 * stress/new-string-object.js: Added.
75 2017-10-15 Yusuke Suzuki <utatane.tea@gmail.com>
77 [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
78 https://bugs.webkit.org/show_bug.cgi?id=178308
84 2017-10-23 Yusuke Suzuki <utatane.tea@gmail.com>
86 [JSC] Use fastJoin in Array#toString
87 https://bugs.webkit.org/show_bug.cgi?id=178062
89 Reviewed by Darin Adler.
91 * microbenchmarks/contiguous-array-to-string.js: Added.
93 * microbenchmarks/double-array-to-string.js: Added.
95 * microbenchmarks/int32-array-to-string.js: Added.
98 2017-10-22 Zan Dobersek <zdobersek@igalia.com>
100 stress/check-string-ident.js is improperly skipped
101 https://bugs.webkit.org/show_bug.cgi?id=178642
103 Reviewed by Saam Barati.
105 * stress/check-string-ident.js: Drop the defaultNoEagerRun directive
106 since it enforces the run-jsc-stress-tests script to still set up the
107 test to run, despite the skip directive that's used before.
109 2017-10-20 Mark Lam <mark.lam@apple.com>
111 Add a test case for r214334.
112 https://bugs.webkit.org/show_bug.cgi?id=169941
113 <rdar://problem/31221258>
115 Reviewed by JF Bastien.
117 * stress/regress-169941.js: Added.
119 2017-10-19 JF Bastien <jfbastien@apple.com>
121 WebAssembly: no VM / JS version of everything but Instance
122 https://bugs.webkit.org/show_bug.cgi?id=177473
124 Reviewed by Filip Pizlo, Saam Barati.
126 - Exceeding max on memory growth now returns a range error as per
127 spec. This is a (very minor) breaking change: it used to throw OOM
128 error. Update the corresponding test.
130 * wasm/js-api/memory-grow.js:
132 * wasm/js-api/table.js:
135 2017-10-19 Mark Lam <mark.lam@apple.com>
137 Stringifier::appendStringifiedValue() is missing an exception check.
138 https://bugs.webkit.org/show_bug.cgi?id=178386
139 <rdar://problem/35027610>
141 Reviewed by Saam Barati.
143 * stress/regress-178386.js: Added.
145 2017-10-19 Michael Saboff <msaboff@apple.com>
147 Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
148 https://bugs.webkit.org/show_bug.cgi?id=178521
150 Reviewed by JF Bastien.
152 * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
153 now passes with the current version (5.0) of the Emoji spec.
155 2017-10-19 Robin Morisset <rmorisset@apple.com>
157 Turn recursive tail calls into loops
158 https://bugs.webkit.org/show_bug.cgi?id=176601
160 Reviewed by Saam Barati.
162 Add some simple test that computes factorial in several ways, and other trivial computations.
163 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
164 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
165 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
166 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
168 * stress/inline-call-to-recursive-tail-call.js: Added.
180 2017-10-18 Mark Lam <mark.lam@apple.com>
182 RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
183 https://bugs.webkit.org/show_bug.cgi?id=177600
184 <rdar://problem/34710985>
186 Reviewed by Saam Barati.
188 * stress/regress-177600.js: Added.
190 2017-10-18 Mark Lam <mark.lam@apple.com>
192 The compiler should always register a structure when it adds its transitionWatchPointSet.
193 https://bugs.webkit.org/show_bug.cgi?id=178420
194 <rdar://problem/34814024>
196 Reviewed by Saam Barati and Filip Pizlo.
198 * stress/regress-178420.js: Added.
199 (new.Array.10000.map):
201 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com>
203 [JSC] __proto__ getter should be fast
204 https://bugs.webkit.org/show_bug.cgi?id=178067
206 Reviewed by Saam Barati.
208 * stress/dfg-object-proto-accessor.js: Added.
212 * stress/dfg-object-proto-getter.js: Added.
216 * stress/dfg-object-prototype-of.js: Added.
220 * stress/dfg-reflect-get-prototype-of.js: Added.
224 * stress/intrinsic-getter-with-poly-proto.js: Added.
226 (makePolyProtoObject.foo.C):
227 (makePolyProtoObject.foo):
228 (makePolyProtoObject):
230 * stress/object-get-prototype-of-filtered.js: Added.
235 * stress/object-get-prototype-of-mono-proto.js: Added.
237 (makePolyProtoObject.foo.C):
238 (makePolyProtoObject.foo):
239 (makePolyProtoObject):
241 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
243 (makePolyProtoObject.foo.C):
244 (makePolyProtoObject.foo):
245 (makePolyProtoObject):
247 * stress/object-get-prototype-of-poly-proto.js: Added.
249 (makePolyProtoObject.foo.C):
250 (makePolyProtoObject.foo):
251 (makePolyProtoObject):
253 * stress/object-proto-getter-filtered.js: Added.
258 * stress/object-proto-getter-poly-mono-proto.js: Added.
260 (makePolyProtoObject.foo.C):
261 (makePolyProtoObject.foo):
262 (makePolyProtoObject):
264 * stress/object-proto-getter-poly-proto.js: Added.
266 (makePolyProtoObject.foo.C):
267 (makePolyProtoObject.foo):
268 (makePolyProtoObject):
270 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
271 * stress/string-proto.js: Added.
275 2017-10-17 Ryan Haddad <ryanhaddad@apple.com>
277 Unreviewed, rolling out r223523.
279 A test for this change is failing on debug JSC bots.
283 "[JSC] __proto__ getter should be fast"
284 https://bugs.webkit.org/show_bug.cgi?id=178067
285 https://trac.webkit.org/changeset/223523
287 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com>
289 [JSC] __proto__ getter should be fast
290 https://bugs.webkit.org/show_bug.cgi?id=178067
292 Reviewed by Saam Barati.
294 * stress/dfg-object-proto-accessor.js: Added.
298 * stress/dfg-object-proto-getter.js: Added.
302 * stress/dfg-object-prototype-of.js: Added.
306 * stress/dfg-reflect-get-prototype-of.js: Added.
310 * stress/object-get-prototype-of-filtered.js: Added.
315 * stress/object-get-prototype-of-mono-proto.js: Added.
317 (makePolyProtoObject.foo.C):
318 (makePolyProtoObject.foo):
319 (makePolyProtoObject):
321 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
323 (makePolyProtoObject.foo.C):
324 (makePolyProtoObject.foo):
325 (makePolyProtoObject):
327 * stress/object-get-prototype-of-poly-proto.js: Added.
329 (makePolyProtoObject.foo.C):
330 (makePolyProtoObject.foo):
331 (makePolyProtoObject):
333 * stress/object-proto-getter-filtered.js: Added.
338 * stress/object-proto-getter-poly-mono-proto.js: Added.
340 (makePolyProtoObject.foo.C):
341 (makePolyProtoObject.foo):
342 (makePolyProtoObject):
344 * stress/object-proto-getter-poly-proto.js: Added.
346 (makePolyProtoObject.foo.C):
347 (makePolyProtoObject.foo):
348 (makePolyProtoObject):
350 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
351 * stress/string-proto.js: Added.
355 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com>
357 Reland "Add Above/Below comparisons for UInt32 patterns"
358 https://bugs.webkit.org/show_bug.cgi?id=177281
360 Reviewed by Saam Barati.
362 * stress/uint32-comparison-jump.js: Added.
372 * stress/uint32-comparison.js: Added.
383 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com>
385 WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
386 https://bugs.webkit.org/show_bug.cgi?id=178210
388 Reviewed by Saam Barati.
390 * wasm/function-tests/trap-from-start-async.js:
391 (async.StartTrapsAsync):
392 * wasm/function-tests/trap-from-start.js:
394 * wasm/js-api/web-assembly-function.js:
395 (assert.eq.Object.getPrototypeOf):
396 * wasm/js-api/wrapper-function.js:
397 (return.new.WebAssembly.Module):
398 (assert.throws.makeInstance): Deleted.
399 (assert.throws.Bar): Deleted.
400 (assert.throws): Deleted.
402 2017-09-29 Filip Pizlo <fpizlo@apple.com>
404 Enable gigacage on iOS
405 https://bugs.webkit.org/show_bug.cgi?id=177586
407 Reviewed by JF Bastien.
409 Add tests for when Gigacage gets runtime disabled.
411 * stress/disable-gigacage-arrays.js: Added.
413 * stress/disable-gigacage-strings.js: Added.
415 * stress/disable-gigacage-typed-arrays.js: Added.
418 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com>
420 import.meta should not be assignable
421 https://bugs.webkit.org/show_bug.cgi?id=178202
423 Reviewed by Saam Barati.
425 * modules/import-meta-assignment.js: Added.
427 (SyntaxError.import.meta.can.shouldThrow):
429 2017-10-11 Saam Barati <sbarati@apple.com>
431 Unreviewed. Actually skip certain type profiler tests in debug.
434 * typeProfiler/deltablue-for-of.js:
435 * typeProfiler/getter-richards.js:
437 2017-10-11 Commit Queue <commit-queue@webkit.org>
439 Unreviewed, rolling out r223113 and r223121.
440 https://bugs.webkit.org/show_bug.cgi?id=178182
442 Reintroduced 20% regression on Kraken (Requested by rniwa on
447 "Enable gigacage on iOS"
448 https://bugs.webkit.org/show_bug.cgi?id=177586
449 https://trac.webkit.org/changeset/223113
451 "Use one virtual allocation for all gigacages and their
453 https://bugs.webkit.org/show_bug.cgi?id=178050
454 https://trac.webkit.org/changeset/223121
456 2017-10-11 Michael Saboff <msaboff@apple.com>
458 Disable test262 named capture group tests with direct unicode names and with references before definitions
459 https://bugs.webkit.org/show_bug.cgi?id=178177
461 Reviewed by Keith Miller.
463 Bugs to track fixing these test are:
464 https://bugs.webkit.org/show_bug.cgi?id=178174 -
465 "Add support in named capture group identifiers for direct surrogate pairs"
466 https://bugs.webkit.org/show_bug.cgi?id=178175 -
467 "Test262 failure with Named Capture Groups - using a reference before the group is defined"
471 2017-10-11 Caio Lima <ticaiolima@gmail.com>
473 Object properties are undefined in super.call() but not in this.call()
474 https://bugs.webkit.org/show_bug.cgi?id=177230
476 Reviewed by Saam Barati.
478 * stress/super-call-function-subclass.js: Added.
482 * stress/super-dot-call-and-apply.js: Added.
487 (B.prototype.testSuper):
489 (const.obj.new.B.string_appeared_here.obj.testSuper.C):
490 (D.prototype.testSuper):
493 2017-10-10 Saam Barati <sbarati@apple.com>
495 The prototype cache should be aware of the Executable it generates a Structure for
496 https://bugs.webkit.org/show_bug.cgi?id=177907
498 Reviewed by Filip Pizlo.
500 * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
510 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com>
512 `async` should be able to be used as an imported binding name
513 https://bugs.webkit.org/show_bug.cgi?id=176573
515 Reviewed by Saam Barati.
517 * modules/import-default-async.js: Added.
518 * modules/import-named-async-as.js: Added.
519 * modules/import-named-async.js: Added.
520 * modules/import-named-async/target.js: Added.
521 * modules/import-namespace-async.js: Added.
524 2017-09-29 Filip Pizlo <fpizlo@apple.com>
526 Enable gigacage on iOS
527 https://bugs.webkit.org/show_bug.cgi?id=177586
529 Reviewed by JF Bastien.
531 Add tests for when Gigacage gets runtime disabled.
533 * stress/disable-gigacage-arrays.js: Added.
535 * stress/disable-gigacage-strings.js: Added.
537 * stress/disable-gigacage-typed-arrays.js: Added.
540 2017-10-09 Michael Saboff <msaboff@apple.com>
542 Implement RegExp Unicode property escapes
543 https://bugs.webkit.org/show_bug.cgi?id=172069
545 Reviewed by JF Bastien.
547 Enabled Unicode Property tests.
551 2017-10-09 Commit Queue <commit-queue@webkit.org>
553 Unreviewed, rolling out r223015 and r223025.
554 https://bugs.webkit.org/show_bug.cgi?id=178093
556 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
561 "Enable gigacage on iOS"
562 https://bugs.webkit.org/show_bug.cgi?id=177586
563 http://trac.webkit.org/changeset/223015
565 "Unreviewed, disable Gigacage on ARM64 Linux"
566 https://bugs.webkit.org/show_bug.cgi?id=177586
567 http://trac.webkit.org/changeset/223025
569 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
571 Update expectations for test262 tests that pass after r223043.
572 https://bugs.webkit.org/show_bug.cgi?id=176685
574 Unreviewed test gardening.
578 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
580 Unreviewed, rolling out r223022.
582 This change introduced 18 test262 failures.
586 "`async` should be able to be used as an imported binding
588 https://bugs.webkit.org/show_bug.cgi?id=176573
589 http://trac.webkit.org/changeset/223022
591 2017-10-09 Saam Barati <sbarati@apple.com>
593 3 poly-proto JSC tests timing out on debug after r222827
594 https://bugs.webkit.org/show_bug.cgi?id=177880
595 <rdar://problem/34817122>
599 I'm skipping these type profiler tests on debug since they are long running.
601 * typeProfiler/deltablue-for-of.js:
602 * typeProfiler/getter-richards.js:
604 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com>
606 Safari 10 /11 problem with if (!await get(something)).
607 https://bugs.webkit.org/show_bug.cgi?id=176685
609 Reviewed by Saam Barati.
611 * stress/async-await-basic.js:
612 (awaitEpression.async):
613 * stress/async-await-syntax.js:
614 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
615 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
617 2017-10-08 Saam Barati <sbarati@apple.com>
619 Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
621 * typeProfiler/deltablue-for-of.js:
622 * typeProfiler/getter-richards.js:
624 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com>
626 `async` should be able to be used as an imported binding name
627 https://bugs.webkit.org/show_bug.cgi?id=176573
629 Reviewed by Darin Adler.
631 * modules/import-default-async.js: Added.
632 * modules/import-named-async-as.js: Added.
633 * modules/import-named-async.js: Added.
634 * modules/import-named-async/target.js: Added.
635 * modules/import-namespace-async.js: Added.
637 2017-09-29 Filip Pizlo <fpizlo@apple.com>
639 Enable gigacage on iOS
640 https://bugs.webkit.org/show_bug.cgi?id=177586
642 Reviewed by JF Bastien.
644 Add tests for when Gigacage gets runtime disabled.
646 * stress/disable-gigacage-arrays.js: Added.
648 * stress/disable-gigacage-strings.js: Added.
650 * stress/disable-gigacage-typed-arrays.js: Added.
653 2017-10-06 Commit Queue <commit-queue@webkit.org>
655 Unreviewed, rolling out r222791 and r222873.
656 https://bugs.webkit.org/show_bug.cgi?id=178031
658 Caused crashes with workers/wasm LayoutTests (Requested by
659 ryanhaddad on #webkit).
663 "WebAssembly: no VM / JS version of everything but Instance"
664 https://bugs.webkit.org/show_bug.cgi?id=177473
665 http://trac.webkit.org/changeset/222791
667 "WebAssembly: address no VM / JS follow-ups"
668 https://bugs.webkit.org/show_bug.cgi?id=177887
669 http://trac.webkit.org/changeset/222873
671 2017-10-05 Saam Barati <sbarati@apple.com>
673 Make sure all prototypes under poly proto get added into the VM's prototype map
674 https://bugs.webkit.org/show_bug.cgi?id=177909
676 Reviewed by Keith Miller.
678 * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
684 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com>
686 [JSC] Introduce import.meta
687 https://bugs.webkit.org/show_bug.cgi?id=177703
689 Reviewed by Filip Pizlo.
691 * modules/import-meta-syntax.js: Added.
694 * modules/import-meta.js: Added.
695 * modules/import-meta/cocoa.js: Added.
696 * modules/resources/assert.js:
697 (export.shouldNotThrow):
698 * stress/import-syntax.js:
700 2017-10-04 Saam Barati <sbarati@apple.com>
702 Make pertinent AccessCases watch the poly proto watchpoint
703 https://bugs.webkit.org/show_bug.cgi?id=177765
705 Reviewed by Keith Miller.
707 * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
712 * stress/poly-proto-clear-stub.js: Added.
717 2017-10-04 Ryan Haddad <ryanhaddad@apple.com>
719 Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
721 Unreviewed test gardening.
725 2017-10-04 Saam Barati <sbarati@apple.com>
727 3 poly-proto JSC tests timing out on debug after r222827
728 https://bugs.webkit.org/show_bug.cgi?id=177880
730 Rubber stamped by Mark Lam.
732 * microbenchmarks/poly-proto-access.js:
733 * typeProfiler/deltablue-for-of.js:
734 * typeProfiler/getter-richards.js:
736 2017-10-04 Joseph Pecoraro <pecoraro@apple.com>
738 Unreviewed, marking tco-catch.js as a failure after test262 update
739 https://bugs.webkit.org/show_bug.cgi?id=177859
743 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
745 Unreviewed, marking one async iterator test262 test failed
746 https://bugs.webkit.org/show_bug.cgi?id=177859
750 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
752 [Test262] Update Test262 to Oct 4 version
753 https://bugs.webkit.org/show_bug.cgi?id=177859
755 Reviewed by Sam Weinig.
757 Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
758 we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
761 * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
763 * test262/harness/typeCoercion.js:
764 (testCoercibleToIndexZero):
765 (testCoercibleToIndexOne):
766 (testCoercibleToIndexFromIndex):
767 (testNotCoercibleToIndex.testPrimitiveValue):
768 (testNotCoercibleToInteger):
769 (testCoercibleToBigIntZero.testPrimitiveValue):
770 (testCoercibleToBigIntZero):
771 (testCoercibleToBigIntOne.testPrimitiveValue):
772 (testCoercibleToBigIntOne):
773 (testPrimitiveValue):
774 (testCoercibleToBigIntFromBigInt):
775 (testNotCoercibleToBigInt.testPrimitiveValue):
776 (testNotCoercibleToBigInt.testStringValue):
777 (testNotCoercibleToBigInt):
778 * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
779 * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
780 * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
781 * test262/test/built-ins/Array/proto-from-ctor-realm.js:
782 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
783 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
784 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
785 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
786 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
787 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
788 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
789 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
790 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
791 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
792 * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
793 * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
794 (testCoercibleToBigIntZero):
795 (testCoercibleToBigIntOne):
796 (testNotCoercibleToBigInt):
800 (Symbol.toPrimitive): Deleted.
801 * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
802 (testCoercibleToIndexZero):
803 (testCoercibleToIndexOne):
804 (testNotCoercibleToIndex):
806 (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
807 (assert.sameValue.BigInt.asIntN.toString): Deleted.
808 (BigInt.asIntN.Symbol.toPrimitive): Deleted.
809 (BigInt.asIntN.valueOf): Deleted.
810 (BigInt.asIntN.toString): Deleted.
811 * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
812 * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
813 * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
814 (testCoercibleToBigIntZero):
815 (testCoercibleToBigIntOne):
816 (testNotCoercibleToBigInt):
817 * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
818 (testCoercibleToIndexZero):
819 (testCoercibleToIndexOne):
820 (testNotCoercibleToIndex):
821 * test262/test/built-ins/BigInt/asUintN/length.js: Added.
822 * test262/test/built-ins/BigInt/asUintN/name.js: Added.
823 * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
826 * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
827 * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
828 * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
829 * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
830 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
831 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
832 * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
833 * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
834 * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
835 * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
836 * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
837 * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
838 * test262/test/built-ins/Error/proto-from-ctor-realm.js:
839 * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
840 * test262/test/built-ins/Function/call-bind-this-realm-value.js:
841 * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
842 * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
843 * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
844 * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
845 * test262/test/built-ins/Function/proto-from-ctor-realm.js:
846 * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
847 * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
848 * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
849 * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
851 (BigInt.prototype.toJSON):
852 * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
854 * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
855 (BigInt.prototype.toJSON):
856 * test262/test/built-ins/JSON/stringify/bigint.js:
857 * test262/test/built-ins/Map/proto-from-ctor-realm.js:
858 * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
859 * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
860 * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
861 * test262/test/built-ins/Number/proto-from-ctor-realm.js:
862 * test262/test/built-ins/Object/proto-from-ctor.js:
863 * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
864 * test262/test/built-ins/Proxy/apply/arguments-realm.js:
865 * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
866 * test262/test/built-ins/Proxy/construct/arguments-realm.js:
867 * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
868 * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
869 * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
870 * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
871 * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
872 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
873 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
874 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
875 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
876 * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
877 * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
878 * test262/test/built-ins/Proxy/get-fn-realm.js:
879 * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
880 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
881 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
882 * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
883 * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
884 * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
885 * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
886 * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
887 * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
888 * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
889 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
890 * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
893 * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
894 * test262/test/built-ins/RegExp/dotall/with-dotall.js:
895 * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
896 * test262/test/built-ins/RegExp/dotall/without-dotall.js:
897 * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
898 * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
899 * test262/test/built-ins/RegExp/u180e.js: Added.
900 * test262/test/built-ins/Set/proto-from-ctor-realm.js:
901 * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
902 * test262/test/built-ins/String/proto-from-ctor-realm.js:
903 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
904 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
905 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
906 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
907 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
908 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
909 * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
910 * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
911 * test262/test/built-ins/String/prototype/endsWith/length.js:
912 * test262/test/built-ins/String/prototype/endsWith/name.js:
913 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
914 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
915 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
916 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
917 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
918 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
919 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
920 * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
921 * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
922 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
923 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
924 * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
925 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
926 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
927 * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
928 * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
929 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
930 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
931 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
932 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
933 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
934 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
935 * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
936 * test262/test/built-ins/String/prototype/includes/includes.js:
937 * test262/test/built-ins/String/prototype/includes/length.js:
938 * test262/test/built-ins/String/prototype/includes/name.js:
939 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
940 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
941 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
942 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
943 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
944 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
945 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
946 * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
947 * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
948 * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
949 * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
950 * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
951 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
952 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
953 * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
954 * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
955 * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
956 * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
957 * test262/test/built-ins/String/prototype/trim/u180e.js:
958 * test262/test/built-ins/Symbol/for/cross-realm.js:
959 * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
960 * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
961 * test262/test/built-ins/Symbol/iterator/cross-realm.js:
962 * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
963 * test262/test/built-ins/Symbol/match/cross-realm.js:
964 * test262/test/built-ins/Symbol/replace/cross-realm.js:
965 * test262/test/built-ins/Symbol/search/cross-realm.js:
966 * test262/test/built-ins/Symbol/species/cross-realm.js:
967 * test262/test/built-ins/Symbol/split/cross-realm.js:
968 * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
969 * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
970 * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
971 * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
972 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
973 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
974 * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
975 * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
976 * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
977 * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
978 * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
979 * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
980 * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
981 * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
982 * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
983 * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
984 * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
985 * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
986 * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
987 * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
988 * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
989 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
990 * test262/test/language/comments/mongolian-vowel-separator-multi.js:
991 * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
992 * test262/test/language/comments/mongolian-vowel-separator-single.js:
993 * test262/test/language/eval-code/indirect/realm.js:
994 * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
997 * test262/test/language/expressions/call/eval-realm-indirect.js:
998 * test262/test/language/expressions/generators/eval-body-proto-realm.js:
999 * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
1000 * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
1001 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
1002 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
1003 * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
1004 * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
1005 * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
1006 * test262/test/language/expressions/greater-than/bigint-and-number.js:
1007 * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
1008 * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
1009 * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
1010 * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
1011 * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
1012 * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
1013 * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
1014 * test262/test/language/expressions/less-than/bigint-and-number.js:
1015 * test262/test/language/expressions/new/non-ctor-err-realm.js:
1016 * test262/test/language/expressions/super/realm.js:
1017 * test262/test/language/expressions/tagged-template/cache-realm.js:
1018 * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
1019 * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
1020 * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
1021 * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
1022 * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
1023 * test262/test/language/literals/string/mongolian-vowel-separator.js:
1024 * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
1027 * test262/test/language/statements/for-of/iterator-next-reference.js:
1029 (iterator.next): Deleted.
1030 (x.of.iterable.): Deleted.
1031 (x.of.iterable.get return): Deleted.
1032 (x.of.iterable.iterator.next): Deleted.
1033 * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
1034 * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
1035 * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
1036 * test262/test/language/white-space/mongolian-vowel-separator.js:
1037 * test262/test262-Revision.txt:
1039 2017-10-03 Saam Barati <sbarati@apple.com>
1041 Implement polymorphic prototypes
1042 https://bugs.webkit.org/show_bug.cgi?id=176391
1044 Reviewed by Filip Pizlo.
1046 * microbenchmarks/poly-proto-access.js: Added.
1049 (foo.C.prototype.get bar):
1052 * microbenchmarks/poly-proto-put-transition-speed.js: Added.
1054 (makePolyProtoObject.foo.C):
1055 (makePolyProtoObject.foo):
1056 (makePolyProtoObject):
1058 * microbenchmarks/poly-proto-setter-speed.js: Added.
1060 (makePolyProtoObject.foo.C):
1061 (makePolyProtoObject.foo.C.prototype.set p):
1062 (makePolyProtoObject.foo):
1063 (makePolyProtoObject):
1065 * stress/constructor-with-return.js:
1066 (i.tests.forEach.Constructor):
1068 (tests.forEach.Constructor): Deleted.
1069 (tests.forEach): Deleted.
1070 * stress/dom-jit-with-poly-proto.js: Added.
1072 (makePolyProtoObject.foo.C):
1073 (makePolyProtoObject.foo):
1074 (makePolyProtoObject):
1076 * stress/poly-proto-custom-value-and-accessor.js: Added.
1078 (makePolyProtoObject.foo.C):
1079 (makePolyProtoObject.foo):
1080 (makePolyProtoObject):
1083 * stress/poly-proto-intrinsic-getter-correctness.js: Added.
1085 (makePolyProtoObject.foo.C):
1086 (makePolyProtoObject.foo):
1087 (makePolyProtoObject):
1089 * stress/poly-proto-miss.js: Added.
1090 (makePolyProtoInstanceWithNullPrototype.foo.C):
1091 (makePolyProtoInstanceWithNullPrototype.foo):
1092 (makePolyProtoInstanceWithNullPrototype):
1095 * stress/poly-proto-op-in-caching.js: Added.
1097 (makePolyProtoObject.foo.C):
1098 (makePolyProtoObject.foo):
1099 (makePolyProtoObject):
1102 * stress/poly-proto-put-transition.js: Added.
1104 (makePolyProtoObject.foo.C):
1105 (makePolyProtoObject.foo):
1106 (makePolyProtoObject):
1108 (i.obj.__proto__.set p):
1109 * stress/poly-proto-set-prototype.js: Added.
1111 (let.alternateProto.get x):
1112 (let.alternateProto2.get y):
1113 (let.alternateProto2.get x):
1117 * stress/poly-proto-setter.js: Added.
1119 (makePolyProtoObject.foo.C):
1120 (makePolyProtoObject.foo.C.prototype.set p):
1121 (makePolyProtoObject.foo.C.prototype.get p):
1122 (makePolyProtoObject.foo):
1123 (makePolyProtoObject):
1125 * stress/poly-proto-using-inheritance.js: Added.
1128 (foo.C.prototype.get baz):
1133 * stress/primitive-poly-proto.js: Added.
1134 (makePolyProtoInstance.foo.C):
1135 (makePolyProtoInstance.foo):
1136 (makePolyProtoInstance):
1139 * stress/prototype-is-not-js-object.js: Added.
1144 * stress/try-get-by-id-poly-proto.js: Added.
1146 (makePolyProtoObject.foo.C):
1147 (makePolyProtoObject.foo):
1148 (makePolyProtoObject):
1150 (x.__proto__.get bar):
1152 * typeProfiler/overflow.js:
1154 2017-10-03 JF Bastien <jfbastien@apple.com>
1156 WebAssembly: no VM / JS version of everything but Instance
1157 https://bugs.webkit.org/show_bug.cgi?id=177473
1159 Reviewed by Filip Pizlo.
1161 - Exceeding max on memory growth now returns a range error as per
1162 spec. This is a (very minor) breaking change: it used to throw OOM
1163 error. Update the corresponding test.
1165 * wasm/js-api/memory-grow.js:
1167 * wasm/js-api/table.js:
1170 2017-10-03 Ryan Haddad <ryanhaddad@apple.com>
1172 Skip JSC test stress/regress-159779-2.js on debug.
1173 https://bugs.webkit.org/show_bug.cgi?id=177204
1175 Unreviewed test gardening.
1177 * stress/regress-159779-2.js:
1179 2017-10-02 Caio Lima <ticaiolima@gmail.com>
1181 ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
1182 https://bugs.webkit.org/show_bug.cgi?id=175642
1184 Reviewed by Darin Adler.
1186 * ChakraCore/test/Function/apply3.baseline-jsc:
1188 2017-10-01 Commit Queue <commit-queue@webkit.org>
1190 Unreviewed, rolling out r222564.
1191 https://bugs.webkit.org/show_bug.cgi?id=177720
1193 "It regressed JetStream by 2% on iOS caused by a 50%
1194 regression on the bigfib subtest" (Requested by saamyjoon on
1199 "Add Above/Below comparisons for UInt32 patterns"
1200 https://bugs.webkit.org/show_bug.cgi?id=177281
1201 http://trac.webkit.org/changeset/222564
1203 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com>
1205 [DFG] Support ArrayPush with multiple args
1206 https://bugs.webkit.org/show_bug.cgi?id=175823
1208 Reviewed by Saam Barati.
1210 * microbenchmarks/array-push-0.js: Added.
1212 * microbenchmarks/array-push-1.js: Added.
1214 * microbenchmarks/array-push-2.js: Added.
1216 * microbenchmarks/array-push-3.js: Added.
1218 * stress/array-push-multiple-contiguous.js: Added.
1221 * stress/array-push-multiple-double-nan.js: Added.
1224 * stress/array-push-multiple-double.js: Added.
1227 * stress/array-push-multiple-int32.js: Added.
1230 * stress/array-push-multiple-many-contiguous.js: Added.
1233 * stress/array-push-multiple-many-double.js: Added.
1236 * stress/array-push-multiple-many-int32.js: Added.
1239 * stress/array-push-multiple-many-storage.js: Added.
1242 * stress/array-push-multiple-storage.js: Added.
1245 * stress/array-push-with-force-exit.js: Added.
1246 (target.createBuiltin):
1248 2017-09-29 Saam Barati <sbarati@apple.com>
1250 Custom GetterSetterAccessCase does not use the correct slotBase when making call
1251 https://bugs.webkit.org/show_bug.cgi?id=177639
1253 Reviewed by Geoffrey Garen.
1255 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
1261 2017-09-29 Commit Queue <commit-queue@webkit.org>
1263 Unreviewed, rolling out r222563, r222565, and r222581.
1264 https://bugs.webkit.org/show_bug.cgi?id=177675
1266 "It causes a crash when playing youtube videos" (Requested by
1267 saamyjoon on #webkit).
1269 Reverted changesets:
1271 "[DFG] Support ArrayPush with multiple args"
1272 https://bugs.webkit.org/show_bug.cgi?id=175823
1273 http://trac.webkit.org/changeset/222563
1275 "Unreviewed, build fix after r222563"
1276 https://bugs.webkit.org/show_bug.cgi?id=175823
1277 http://trac.webkit.org/changeset/222565
1279 "Unreviewed, fix x86 breaking due to exhausted registers"
1280 https://bugs.webkit.org/show_bug.cgi?id=175823
1281 http://trac.webkit.org/changeset/222581
1283 2017-09-28 Mark Lam <mark.lam@apple.com>
1285 test262: Unexpected passes after r222617 and r222618.
1286 https://bugs.webkit.org/show_bug.cgi?id=177622
1287 <rdar://problem/34725960>
1289 Reviewed by Saam Barati.
1291 Update test262.yaml for tests that are now passing.
1295 2017-09-27 Michael Saboff <msaboff@apple.com>
1297 REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
1298 https://bugs.webkit.org/show_bug.cgi?id=177570
1300 Reviewed by Filip Pizlo.
1302 New regression test.
1304 * stress/regress-177570.js: Added.
1306 2017-09-28 Michael Saboff <msaboff@apple.com>
1308 Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
1309 https://bugs.webkit.org/show_bug.cgi?id=177423
1311 Reviewed by Mark Lam.
1313 Updated regression test.
1315 * stress/regress-177423.js:
1318 2017-09-27 Mark Lam <mark.lam@apple.com>
1320 JSArray::canFastCopy() should fail if the source and destination arrays are the same.
1321 https://bugs.webkit.org/show_bug.cgi?id=177584
1322 <rdar://problem/34463903>
1324 Reviewed by Saam Barati.
1326 * stress/regress-177584.js: Added.
1328 (Array.prototype.Symbol.species):
1330 2017-09-27 Saam Barati <sbarati@apple.com>
1332 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
1333 https://bugs.webkit.org/show_bug.cgi?id=177523
1335 Reviewed by Mark Lam.
1337 * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
1340 (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
1342 (i.Test.prototype.propName):
1344 2017-09-27 Mark Lam <mark.lam@apple.com>
1346 Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
1347 https://bugs.webkit.org/show_bug.cgi?id=177423
1348 <rdar://problem/34621320>
1350 Reviewed by Keith Miller.
1352 * stress/regress-177423.js: Added.
1354 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com>
1356 Add Above/Below comparisons for UInt32 patterns
1357 https://bugs.webkit.org/show_bug.cgi?id=177281
1359 Reviewed by Saam Barati.
1361 * stress/uint32-comparison-jump.js: Added.
1371 * stress/uint32-comparison.js: Added.
1382 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com>
1384 [DFG] Support ArrayPush with multiple args
1385 https://bugs.webkit.org/show_bug.cgi?id=175823
1387 Reviewed by Saam Barati.
1389 * microbenchmarks/array-push-0.js: Added.
1391 * microbenchmarks/array-push-1.js: Added.
1393 * microbenchmarks/array-push-2.js: Added.
1395 * microbenchmarks/array-push-3.js: Added.
1397 * stress/array-push-multiple-contiguous.js: Added.
1400 * stress/array-push-multiple-double-nan.js: Added.
1403 * stress/array-push-multiple-double.js: Added.
1406 * stress/array-push-multiple-int32.js: Added.
1409 * stress/array-push-multiple-many-contiguous.js: Added.
1412 * stress/array-push-multiple-many-double.js: Added.
1415 * stress/array-push-multiple-many-int32.js: Added.
1418 * stress/array-push-multiple-many-storage.js: Added.
1421 * stress/array-push-multiple-storage.js: Added.
1425 2017-09-26 Commit Queue <commit-queue@webkit.org>
1427 Unreviewed, rolling out r222518.
1428 https://bugs.webkit.org/show_bug.cgi?id=177507
1430 Break the High Sierra build (Requested by yusukesuzuki on
1435 "Add Above/Below comparisons for UInt32 patterns"
1436 https://bugs.webkit.org/show_bug.cgi?id=177281
1437 http://trac.webkit.org/changeset/222518
1439 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com>
1441 Add Above/Below comparisons for UInt32 patterns
1442 https://bugs.webkit.org/show_bug.cgi?id=177281
1444 Reviewed by Saam Barati.
1446 * stress/uint32-comparison-jump.js: Added.
1456 * stress/uint32-comparison.js: Added.
1467 2017-09-23 Keith Miller <keith_miller@apple.com>
1469 Fix infinite looping test262 test
1470 https://bugs.webkit.org/show_bug.cgi?id=177412
1472 Reviewed by Yusuke Suzuki.
1474 This test was poorly designed since failing it would cause the vm
1475 to inifinite loop. I've fixed it locally and will fix it on github pending
1476 the results of next weeks tc39 meeting.
1479 * test262/test/language/statements/for-of/iterator-next-reference.js:
1481 2017-09-23 Joseph Pecoraro <pecoraro@apple.com>
1483 test262: $.agent became $262.agent in test262 update
1484 https://bugs.webkit.org/show_bug.cgi?id=177407
1486 Reviewed by Yusuke Suzuki.
1489 ~320 tests pass now that we correctly make $262 available.
1491 2017-09-22 Keith Miller <keith_miller@apple.com>
1493 Speculatively change iteration protocall to use the same next function
1494 https://bugs.webkit.org/show_bug.cgi?id=175653
1496 Reviewed by Saam Barati.
1498 Change test to match the new iteration behavior.
1500 * stress/spread-optimized-properly.js:
1502 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com>
1504 [DFG][FTL] Profile array vector length for array allocation
1505 https://bugs.webkit.org/show_bug.cgi?id=177051
1507 Reviewed by Saam Barati.
1509 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1512 2017-09-22 Commit Queue <commit-queue@webkit.org>
1514 Unreviewed, rolling out r222380.
1515 https://bugs.webkit.org/show_bug.cgi?id=177352
1517 Octane/box2d shows 8% regression (Requested by yusukesuzuki on
1522 "[DFG][FTL] Profile array vector length for array allocation"
1523 https://bugs.webkit.org/show_bug.cgi?id=177051
1524 http://trac.webkit.org/changeset/222380
1526 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com>
1528 [DFG][FTL] Profile array vector length for array allocation
1529 https://bugs.webkit.org/show_bug.cgi?id=177051
1531 Reviewed by Saam Barati.
1533 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1536 2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
1538 Skip new hanging test262 tests.
1539 https://bugs.webkit.org/show_bug.cgi?id=177326
1541 Unreviewed test gardening.
1545 2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
1547 Mark 6 test262 tests as passing.
1548 https://bugs.webkit.org/show_bug.cgi?id=177307
1550 Unreviewed test gardening.
1554 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1556 Unreviewed follow-up to r222311.
1558 * test262/harness/sta.js:
1559 * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
1560 * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
1561 * test262/test/built-ins/Array/from/calling-from-valid-2.js:
1562 * test262/test/built-ins/Array/from/elements-added-after.js:
1563 * test262/test/built-ins/Array/from/elements-deleted-after.js:
1564 * test262/test/built-ins/Array/from/elements-updated-after.js:
1565 * test262/test/built-ins/Array/from/from-array.js:
1566 * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
1567 * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
1568 * test262/test/built-ins/Array/from/source-array-boundary.js:
1569 * test262/test/built-ins/Array/from/source-object-constructor.js:
1570 * test262/test/built-ins/Array/from/source-object-iterator-1.js:
1571 * test262/test/built-ins/Array/from/source-object-iterator-2.js:
1572 * test262/test/built-ins/Array/from/source-object-length.js:
1573 * test262/test/built-ins/Array/from/source-object-missing.js:
1574 * test262/test/built-ins/Array/from/source-object-without.js:
1575 * test262/test/built-ins/Array/from/this-null.js:
1576 * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
1577 * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
1578 * test262/test/language/literals/numeric/7.8.3-1gs.js:
1579 * test262/test/language/literals/numeric/7.8.3-2gs.js:
1580 * test262/test/language/literals/numeric/7.8.3-3gs.js:
1581 * test262/test/language/literals/regexp/7.8.5-1gs.js:
1582 * test262/test/language/literals/string/7.8.4-1gs.js:
1583 Fix some files that I failed to update when I applied my patch.
1585 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1587 Update test262 tests
1588 https://bugs.webkit.org/show_bug.cgi?id=177220
1590 Reviewed by Saam Barati and Yusuke Suzuki.
1593 * test262/test262-Revision.txt:
1594 New rebaselined expectations for all tests.
1599 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
1601 [DFG] Remove ToThis more aggressively
1602 https://bugs.webkit.org/show_bug.cgi?id=177056
1604 Reviewed by Saam Barati.
1606 * stress/generator-with-this-strict.js: Added.
1610 * stress/generator-with-this.js: Added.
1615 2017-09-17 Michael Saboff <msaboff@apple.com>
1617 https://bugs.webkit.org/show_bug.cgi?id=177038
1618 Add an option to run-jsc-stress-tests to limit tests variations to a basic set
1620 Reviewed by JF Bastien.
1622 * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
1623 as it dies using too much memory.
1625 2017-09-15 Saam Barati <sbarati@apple.com>
1627 Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
1628 https://bugs.webkit.org/show_bug.cgi?id=176981
1630 Reviewed by Yusuke Suzuki.
1632 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
1636 (const.bar.createBuiltin):
1638 2017-09-14 Saam Barati <sbarati@apple.com>
1640 It should be valid to exit before each set when doing arity fixup when inlining
1641 https://bugs.webkit.org/show_bug.cgi?id=176948
1643 Reviewed by Keith Miller.
1645 * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
1650 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com>
1652 [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
1653 https://bugs.webkit.org/show_bug.cgi?id=176867
1655 Reviewed by Sam Weinig.
1657 * microbenchmarks/object-get-own-property-symbols.js: Added.
1660 2017-09-13 Mark Lam <mark.lam@apple.com>
1662 Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
1663 https://bugs.webkit.org/show_bug.cgi?id=176888
1664 <rdar://problem/34381832>
1668 * stress/op_mod-ConstVar.js:
1669 * stress/op_mod-VarConst.js:
1670 * stress/op_mod-VarVar.js:
1672 2017-09-13 Ryan Haddad <ryanhaddad@apple.com>
1674 Skip 3 op_mod tests on Debug JSC bots.
1675 https://bugs.webkit.org/show_bug.cgi?id=176630
1677 Unreviewed test gardening.
1679 * stress/op_mod-ConstVar.js:
1680 * stress/op_mod-VarConst.js:
1681 * stress/op_mod-VarVar.js:
1683 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com>
1685 [JSC] Fix Array allocation in Object.keys
1686 https://bugs.webkit.org/show_bug.cgi?id=176826
1688 Reviewed by Saam Barati.
1690 * stress/object-own-property-keys.js: Added.
1693 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
1695 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1696 https://bugs.webkit.org/show_bug.cgi?id=176010
1698 Reviewed by Filip Pizlo.
1700 * microbenchmarks/weak-map-key.js: Added.
1703 (let.start.Date.now):
1705 2017-09-12 Mark Lam <mark.lam@apple.com>
1707 REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
1708 https://bugs.webkit.org/show_bug.cgi?id=176630
1710 Reviewed by JF Bastien.
1712 Debug builds are just slow, and these tests do a lot. They pass when I run them
1713 locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as
1714 a speculative fix for the bots that are seeing these fail.
1716 I also undid the skipping of the op_mod tests for debug builds.
1718 * stress/op_div-ConstVar.js:
1719 * stress/op_div-VarConst.js:
1720 * stress/op_div-VarVar.js:
1721 * stress/op_mod-ConstVar.js:
1722 * stress/op_mod-VarConst.js:
1723 * stress/op_mod-VarVar.js:
1725 2017-09-12 Ryan Haddad <ryanhaddad@apple.com>
1727 Skip stress/value-to-boolean.js on Debug bots.
1728 https://bugs.webkit.org/show_bug.cgi?id=176787
1730 Unreviewed test gardening.
1732 * stress/value-to-boolean.js:
1734 2017-09-11 Mark Lam <mark.lam@apple.com>
1736 Change test expectation for test262/test/language/statements/try/tco-catch.js
1737 https://bugs.webkit.org/show_bug.cgi?id=176749
1739 Rubber stamped by Keith Miller.
1741 It's been failing since at least r221821. I'm changing the test expectation to
1742 fail to green the bots while I investigate some more.
1746 2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
1748 Unreviewed, rolling out r221854.
1750 The test added with this change fails on 32-bit JSC bots.
1754 "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
1755 https://bugs.webkit.org/show_bug.cgi?id=176010
1756 http://trac.webkit.org/changeset/221854
1758 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
1760 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1761 https://bugs.webkit.org/show_bug.cgi?id=176010
1763 Reviewed by Filip Pizlo.
1765 * microbenchmarks/weak-map-key.js: Added.
1768 (let.start.Date.now):
1770 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com>
1772 [JSC] Optimize Object.keys by using careful array allocation
1773 https://bugs.webkit.org/show_bug.cgi?id=176654
1775 Reviewed by Darin Adler.
1777 * microbenchmarks/object-keys.js: Added.
1780 2017-09-09 Filip Pizlo <fpizlo@apple.com>
1782 Error should compute .stack and friends lazily
1783 https://bugs.webkit.org/show_bug.cgi?id=176645
1785 Reviewed by Saam Barati.
1787 * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
1788 * microbenchmarks/new-error.js: Added.
1789 * microbenchmarks/throw.js: Added.
1791 2017-09-09 Mark Lam <mark.lam@apple.com>
1793 [Re-landing] Use JIT probes for DFG OSR exit.
1794 https://bugs.webkit.org/show_bug.cgi?id=175144
1795 <rdar://problem/33437050>
1797 Not reviewed. Original patch reviewed by Saam Barati.
1799 Disable these tests for debug builds because they run too slow with the new OSR exit.
1801 * stress/op_mod-ConstVar.js:
1802 * stress/op_mod-VarConst.js:
1803 * stress/op_mod-VarVar.js:
1805 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1807 [DFG] NewArrayWithSize(size)'s size does not care negative zero
1808 https://bugs.webkit.org/show_bug.cgi?id=176300
1810 Reviewed by Saam Barati.
1812 * stress/new-array-with-size-div.js: Added.
1817 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1819 [DFG] PutByVal with Array::Generic is too generic
1820 https://bugs.webkit.org/show_bug.cgi?id=176345
1822 Reviewed by Filip Pizlo.
1824 * stress/object-assign-symbols.js: Added.
1827 * stress/object-assign.js: Added.
1830 (i.shouldBe.JSON.stringify.test):
1832 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1834 [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
1835 https://bugs.webkit.org/show_bug.cgi?id=176590
1837 Reviewed by Saam Barati.
1839 * microbenchmarks/object-iterate-symbols.js: Added.
1841 * microbenchmarks/object-iterate.js: Added.
1843 * stress/object-iterate-symbols.js: Added.
1846 * stress/object-iterate.js: Added.
1850 2017-09-07 Per Arne Vollan <pvollan@apple.com>
1852 [Win32] 10 JSC stress tests are failing.
1853 https://bugs.webkit.org/show_bug.cgi?id=176538
1855 Reviewed by Mark Lam.
1857 Skip tests on Windows to make the bots green.
1860 * stress/date-relaxed.js:
1862 2017-09-06 Mark Lam <mark.lam@apple.com>
1864 constructGenericTypedArrayViewWithArguments() is missing an exception check.
1865 https://bugs.webkit.org/show_bug.cgi?id=176485
1866 <rdar://problem/33898874>
1868 Reviewed by Keith Miller.
1870 * stress/regress-176485.js: Added.
1872 2017-09-05 Saam Barati <sbarati@apple.com>
1874 isNotCellSpeculation is wrong with respect to SpecEmpty
1875 https://bugs.webkit.org/show_bug.cgi?id=176429
1877 Reviewed by Michael Saboff.
1879 * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
1882 2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
1884 test262: Completion values for control flow do not match the spec
1885 https://bugs.webkit.org/show_bug.cgi?id=171265
1887 Reviewed by Saam Barati.
1889 * stress/completion-value.js:
1890 Condensed test for completion values in top level statements.
1892 * stress/super-get-by-id.js:
1893 ClassDeclaration when evaled no longer produce values. Convert
1894 these to ClassExpressions so they produce the class value.
1896 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
1897 This is a progression for currect spec behavior.
1899 * mozilla/mozilla-tests.yaml:
1900 This test is now outdated, so mark it as failing for that reason.
1903 Passing all "cptn" completion value tests.
1905 2017-09-04 Saam Barati <sbarati@apple.com>
1907 typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
1908 https://bugs.webkit.org/show_bug.cgi?id=176317
1910 Reviewed by Keith Miller.
1912 * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
1915 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
1917 [DFG][FTL] Efficiently execute number#toString()
1918 https://bugs.webkit.org/show_bug.cgi?id=170007
1920 Reviewed by Keith Miller.
1922 * microbenchmarks/number-to-string-strength-reduction.js: Added.
1924 * microbenchmarks/number-to-string-with-radix-10.js: Added.
1926 * microbenchmarks/number-to-string-with-radix-cse.js: Added.
1928 * microbenchmarks/number-to-string-with-radix.js: Added.
1930 * stress/number-to-string-strength-reduction.js: Added.
1933 * stress/number-to-string-with-radix-10.js: Added.
1936 * stress/number-to-string-with-radix-cse.js: Added.
1939 * stress/number-to-string-with-radix-invalid.js: Added.
1941 * stress/number-to-string-with-radix-watchpoint.js: Added.
1944 (i.i.1e3.Number.prototype.toString):
1945 * stress/number-to-string-with-radix.js: Added.
1949 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com>
1951 [DFG] Relax arity requirement
1952 https://bugs.webkit.org/show_bug.cgi?id=175523
1954 Reviewed by Saam Barati.
1956 * stress/arity-mismatch-arguments-length.js: Added.
1960 * stress/arity-mismatch-get-argument.js: Added.
1962 (builtin.createBuiltin):
1964 * stress/arity-mismatch-inlining-extra-slots.js: Added.
1968 * stress/arity-mismatch-inlining.js: Added.
1972 * stress/arity-mismatch-rest.js: Added.
1978 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
1980 [JSC] Fix "name" and "length" of Proxy revoke function
1981 https://bugs.webkit.org/show_bug.cgi?id=176155
1983 Reviewed by Mark Lam.
1987 2017-08-31 Saam Barati <sbarati@apple.com>
1989 Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
1990 https://bugs.webkit.org/show_bug.cgi?id=176206
1992 Reviewed by Keith Miller.
1994 * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
1999 2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
2001 Skip two slow JSC tests after r221422.
2003 Unreviewed test gardening.
2005 * stress/regexp-prototype-match-on-too-long-rope.js:
2006 * stress/regexp-prototype-test-on-too-long-rope.js:
2008 2017-08-31 Filip Pizlo <fpizlo@apple.com>
2010 Unreviewed, skipping slow tests.
2012 These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
2013 work differently now.
2015 * stress/regexp-prototype-exec-on-too-long-rope.js:
2016 * stress/string-prototype-charCodeAt-on-too-long-rope.js:
2018 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2020 [JSC] Use reifying system for "name" property of builtin JSFunction
2021 https://bugs.webkit.org/show_bug.cgi?id=175260
2023 Reviewed by Saam Barati.
2025 * stress/accessors-get-set-prefix.js:
2026 * stress/builtin-function-name.js: Added.
2029 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2030 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2031 * stress/private-name-as-anonymous-builtin.js: Added.
2035 2017-08-30 Saam Barati <sbarati@apple.com>
2037 Unreviewed. Make test stop printing.
2039 * microbenchmarks/fake-iterators-that-throw-when-finished.js:
2041 2017-08-30 Ryan Haddad <ryanhaddad@apple.com>
2043 Unreviewed, rolling out r221327.
2045 This change caused test262 failures.
2049 "[JSC] Use reifying system for "name" property of builtin
2051 https://bugs.webkit.org/show_bug.cgi?id=175260
2052 http://trac.webkit.org/changeset/221327
2054 2017-08-30 Saam Barati <sbarati@apple.com>
2056 semicolon is being interpreted as an = in the LiteralParser
2057 https://bugs.webkit.org/show_bug.cgi?id=176114
2059 Reviewed by Oliver Hunt.
2061 * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
2062 * stress/resources/literal-parser-test-case.js: Added.
2064 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com>
2066 [ESNext] Async iteration - Implement async iteration statement: for-await-of
2067 https://bugs.webkit.org/show_bug.cgi?id=166698
2069 Reviewed by Yusuke Suzuki.
2071 * stress/async-iteration-for-await-of-syntax.js: Added.
2075 (checkSimpleAsyncGeneratorSloppyMode):
2076 (checkSimpleAsyncGeneratorStrictMode):
2077 (checkNestedAsyncGenerators):
2078 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2079 * stress/async-iteration-for-await-of.js: Added.
2085 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com>
2087 [JSC] Use reifying system for "name" property of builtin JSFunction
2088 https://bugs.webkit.org/show_bug.cgi?id=175260
2090 Reviewed by Saam Barati.
2092 * stress/accessors-get-set-prefix.js:
2093 * stress/builtin-function-name.js: Added.
2096 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2097 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2099 2017-08-25 Saam Barati <sbarati@apple.com>
2101 Support compiling catch in the DFG
2102 https://bugs.webkit.org/show_bug.cgi?id=174590
2103 <rdar://problem/34047845>
2105 Reviewed by Filip Pizlo.
2107 * microbenchmarks/delta-blue-try-catch.js: Added.
2110 (OrderedCollection):
2111 (OrderedCollection.prototype.add):
2112 (OrderedCollection.prototype.at):
2113 (OrderedCollection.prototype.size):
2114 (OrderedCollection.prototype.removeFirst):
2115 (OrderedCollection.prototype.remove):
2117 (Strength.stronger):
2119 (Strength.weakestOf):
2120 (Strength.strongest):
2121 (Strength.prototype.nextWeaker):
2123 (Constraint.prototype.addConstraint):
2124 (Constraint.prototype.satisfy):
2125 (Constraint.prototype.destroyConstraint):
2126 (Constraint.prototype.isInput):
2128 (UnaryConstraint.prototype.addToGraph):
2129 (UnaryConstraint.prototype.chooseMethod):
2130 (UnaryConstraint.prototype.isSatisfied):
2131 (UnaryConstraint.prototype.markInputs):
2132 (UnaryConstraint.prototype.output):
2133 (UnaryConstraint.prototype.recalculate):
2134 (UnaryConstraint.prototype.markUnsatisfied):
2135 (UnaryConstraint.prototype.inputsKnown):
2136 (UnaryConstraint.prototype.removeFromGraph):
2138 (StayConstraint.prototype.execute):
2139 (EditConstraint.prototype.isInput):
2140 (EditConstraint.prototype.execute):
2142 (BinaryConstraint.prototype.chooseMethod):
2143 (BinaryConstraint.prototype.addToGraph):
2144 (BinaryConstraint.prototype.isSatisfied):
2145 (BinaryConstraint.prototype.markInputs):
2146 (BinaryConstraint.prototype.input):
2147 (BinaryConstraint.prototype.output):
2148 (BinaryConstraint.prototype.recalculate):
2149 (BinaryConstraint.prototype.markUnsatisfied):
2150 (BinaryConstraint.prototype.inputsKnown):
2151 (BinaryConstraint.prototype.removeFromGraph):
2153 (ScaleConstraint.prototype.addToGraph):
2154 (ScaleConstraint.prototype.removeFromGraph):
2155 (ScaleConstraint.prototype.markInputs):
2156 (ScaleConstraint.prototype.execute):
2157 (ScaleConstraint.prototype.recalculate):
2158 (EqualityConstraint):
2159 (EqualityConstraint.prototype.execute):
2161 (Variable.prototype.addConstraint):
2162 (Variable.prototype.removeConstraint):
2164 (Planner.prototype.incrementalAdd):
2165 (Planner.prototype.incrementalRemove):
2166 (Planner.prototype.newMark):
2167 (Planner.prototype.makePlan):
2168 (Planner.prototype.extractPlanFromConstraints):
2169 (Planner.prototype.addPropagate):
2170 (Planner.prototype.removePropagateFrom):
2171 (Planner.prototype.addConstraintsConsumingTo):
2173 (Plan.prototype.addConstraint):
2174 (Plan.prototype.size):
2175 (Plan.prototype.constraintAt):
2176 (Plan.prototype.execute):
2181 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2184 (Numbers.prototype.next):
2186 (return.Transpose.prototype.next):
2192 * microbenchmarks/try-catch-word-count.js: Added.
2207 (A.prototype.getValue):
2208 (B.prototype.getParentValue):
2218 (set delete.set has.set add):
2219 * stress/catch-set-argument-speculation-failure.js: Added.
2227 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2233 2017-08-24 Commit Queue <commit-queue@webkit.org>
2235 Unreviewed, rolling out r221119, r221124, and r221143.
2236 https://bugs.webkit.org/show_bug.cgi?id=175973
2238 "I think it regressed JSBench by 20%" (Requested by saamyjoon
2241 Reverted changesets:
2243 "Support compiling catch in the DFG"
2244 https://bugs.webkit.org/show_bug.cgi?id=174590
2245 http://trac.webkit.org/changeset/221119
2247 "Unreviewed, build fix in GTK port"
2248 https://bugs.webkit.org/show_bug.cgi?id=174590
2249 http://trac.webkit.org/changeset/221124
2251 "DFG::JITCode::osrEntry should get sorted since we perform a
2252 binary search on it"
2253 https://bugs.webkit.org/show_bug.cgi?id=175893
2254 http://trac.webkit.org/changeset/221143
2256 2017-08-24 Michael Saboff <msaboff@apple.com>
2258 Add support for RegExp "dotAll" flag
2259 https://bugs.webkit.org/show_bug.cgi?id=175924
2261 Reviewed by Keith Miller.
2263 Updated tests for new dotAll ('s' flag) changes.
2265 * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
2266 * stress/static-getter-in-names.js:
2268 2017-08-24 Mark Lam <mark.lam@apple.com>
2270 Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
2271 https://bugs.webkit.org/show_bug.cgi?id=175940
2272 <rdar://problem/29003921>
2274 Reviewed by Saam Barati.
2276 * stress/regress-164081.js: Added.
2280 2017-08-24 Ryan Haddad <ryanhaddad@apple.com>
2282 Skip flaky JSC test stress/test-finally.js.
2283 https://bugs.webkit.org/show_bug.cgi?id=160283
2285 Unreviewed test gardening.
2287 * stress/test-finally.js:
2289 2017-08-23 Saam Barati <sbarati@apple.com>
2291 Support compiling catch in the DFG
2292 https://bugs.webkit.org/show_bug.cgi?id=174590
2294 Reviewed by Filip Pizlo.
2296 * microbenchmarks/delta-blue-try-catch.js: Added.
2299 (OrderedCollection):
2300 (OrderedCollection.prototype.add):
2301 (OrderedCollection.prototype.at):
2302 (OrderedCollection.prototype.size):
2303 (OrderedCollection.prototype.removeFirst):
2304 (OrderedCollection.prototype.remove):
2306 (Strength.stronger):
2308 (Strength.weakestOf):
2309 (Strength.strongest):
2310 (Strength.prototype.nextWeaker):
2312 (Constraint.prototype.addConstraint):
2313 (Constraint.prototype.satisfy):
2314 (Constraint.prototype.destroyConstraint):
2315 (Constraint.prototype.isInput):
2317 (UnaryConstraint.prototype.addToGraph):
2318 (UnaryConstraint.prototype.chooseMethod):
2319 (UnaryConstraint.prototype.isSatisfied):
2320 (UnaryConstraint.prototype.markInputs):
2321 (UnaryConstraint.prototype.output):
2322 (UnaryConstraint.prototype.recalculate):
2323 (UnaryConstraint.prototype.markUnsatisfied):
2324 (UnaryConstraint.prototype.inputsKnown):
2325 (UnaryConstraint.prototype.removeFromGraph):
2327 (StayConstraint.prototype.execute):
2328 (EditConstraint.prototype.isInput):
2329 (EditConstraint.prototype.execute):
2331 (BinaryConstraint.prototype.chooseMethod):
2332 (BinaryConstraint.prototype.addToGraph):
2333 (BinaryConstraint.prototype.isSatisfied):
2334 (BinaryConstraint.prototype.markInputs):
2335 (BinaryConstraint.prototype.input):
2336 (BinaryConstraint.prototype.output):
2337 (BinaryConstraint.prototype.recalculate):
2338 (BinaryConstraint.prototype.markUnsatisfied):
2339 (BinaryConstraint.prototype.inputsKnown):
2340 (BinaryConstraint.prototype.removeFromGraph):
2342 (ScaleConstraint.prototype.addToGraph):
2343 (ScaleConstraint.prototype.removeFromGraph):
2344 (ScaleConstraint.prototype.markInputs):
2345 (ScaleConstraint.prototype.execute):
2346 (ScaleConstraint.prototype.recalculate):
2347 (EqualityConstraint):
2348 (EqualityConstraint.prototype.execute):
2350 (Variable.prototype.addConstraint):
2351 (Variable.prototype.removeConstraint):
2353 (Planner.prototype.incrementalAdd):
2354 (Planner.prototype.incrementalRemove):
2355 (Planner.prototype.newMark):
2356 (Planner.prototype.makePlan):
2357 (Planner.prototype.extractPlanFromConstraints):
2358 (Planner.prototype.addPropagate):
2359 (Planner.prototype.removePropagateFrom):
2360 (Planner.prototype.addConstraintsConsumingTo):
2362 (Plan.prototype.addConstraint):
2363 (Plan.prototype.size):
2364 (Plan.prototype.constraintAt):
2365 (Plan.prototype.execute):
2370 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2373 (Numbers.prototype.next):
2375 (return.Transpose.prototype.next):
2381 * microbenchmarks/try-catch-word-count.js: Added.
2396 (A.prototype.getValue):
2397 (B.prototype.getParentValue):
2407 (set delete.set has.set add):
2408 * stress/catch-set-argument-speculation-failure.js: Added.
2416 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2422 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
2424 [JSC] Optimize Map iteration with intrinsic
2425 https://bugs.webkit.org/show_bug.cgi?id=174355
2427 Reviewed by Saam Barati.
2429 * stress/map-iterator-result-should-have-expected-shape.js: Added.
2432 * stress/set-iterator-result-should-have-expected-shape.js: Added.
2434 (throw.new.Error.let.iterator.set Symbol):
2435 (throw.new.Error.set add):
2436 (let.iterator.set Symbol):
2438 2017-08-23 Robin Morisset <rmorisset@apple.com>
2440 Add a micro-benchmark for checking that accessing a variable within a 'with'
2441 block does not automatically prevent type prediction.
2442 https://bugs.webkit.org/show_bug.cgi?id=175738
2444 Reviewed by Saam Barati.
2446 * stress/with_and_arith.js: Added.
2449 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com>
2451 [ESNext] Async iteration - Implement Async Generator - runtime
2452 https://bugs.webkit.org/show_bug.cgi?id=175240
2454 Reviewed by Yusuke Suzuki.
2456 * stress/async-iteration-async-from-sync.js: Added.
2460 (this.fullfilledDone):
2465 (const.assertLogger):
2466 (const.getPromise.promiseHolder.return.new.Promise):
2472 * stress/async-iteration-basic.js: Added.
2476 (this.fullfilledDone):
2481 (const.assertLogger):
2482 (const.getPromise.promiseHolder.return.new.Promise):
2484 (iterator.next.then):
2489 (A.prototype.async.foo):
2490 (A.prototype.async.boo):
2492 (asyncGenExp.async):
2505 * stress/async-iteration-evaluation.js: Added.
2509 * stress/async-iteration-syntax.js:
2510 * stress/async-iteration-yield-promise.js: Added.
2514 (this.fullfilledDone):
2519 (const.assertLogger):
2520 (const.getPromise.promiseHolder.return.new.Promise):
2524 * stress/async-iteration-yield-star-interface.js: Added.
2526 (const.getPromise.promiseHolder.return.new.Promise):
2529 (this.fullfilledDone):
2535 (const.assertLogger):
2536 (let.asyncIter.Symbol.asyncIterator):
2537 (let.asyncIter.next):
2538 (let.asyncIter.throw):
2539 (let.asyncIter.return):
2541 (asyncIter.Symbol.asyncIterator):
2548 * stress/async-iteration-yield-star.js: Added.
2552 (this.fullfilledDone):
2558 (const.assertLogger):
2559 (const.getPromise.promiseHolder.return.new.Promise):
2568 (let.asyncIter.Symbol.asyncIterator):
2569 (let.asyncIter.next):
2570 (let.asyncIter.throw):
2571 (let.asyncIter.return):
2576 2017-08-23 JF Bastien <jfbastien@apple.com>
2578 Fix printing in test
2580 Unreviewed: fixing verbosity, shouldn't have been there.
2582 * wasm/regress/175693.js:
2586 2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
2588 Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
2589 https://bugs.webkit.org/show_bug.cgi?id=172543
2591 Unreviewed test gardening.
2593 * microbenchmarks/generator-with-several-types.js:
2595 2017-08-17 JF Bastien <jfbastien@apple.com>
2597 WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
2598 https://bugs.webkit.org/show_bug.cgi?id=175693
2599 <rdar://problem/33952443>
2601 Reviewed by Saam Barati.
2603 Add a regression directory for WebAssembly tests.
2606 * wasm/regress/175693.js: Added.
2608 (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
2610 * wasm/regress/175693.wasm: Added.
2612 2017-08-15 Robin Morisset <rmorisset@apple.com>
2614 Support the 'with' keyword in FTL.
2615 https://bugs.webkit.org/show_bug.cgi?id=175585
2617 Reviewed by Saam Barati.
2619 Also improve the JSTest/stress/with.js file to test
2620 what happens when non-objects are passed to with.
2627 2017-08-14 Keith Miller <keith_miller@apple.com>
2629 Add testing tool to lie to the DFG about profiles
2630 https://bugs.webkit.org/show_bug.cgi?id=175487
2632 Reviewed by Saam Barati.
2634 * stress/compare-eq-incomplete-profile.js: Added.
2635 (const.test.createBuiltin):
2637 2017-08-14 Robin Morisset <rmorisset@apple.com>
2639 Support the with keyword in DFG
2640 https://bugs.webkit.org/show_bug.cgi?id=175470
2642 Reviewed by Saam Barati.
2644 Added a new stress-test for the 'with' keyword, that caught a bug in a
2645 previous version of this code.
2647 * stress/with.js: Added.
2650 2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
2652 Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
2653 https://bugs.webkit.org/show_bug.cgi?id=175544
2655 Unreviewed test gardening.
2659 2017-08-09 Caitlin Potter <caitp@igalia.com>
2661 Early error on ANY operator before new.target
2662 https://bugs.webkit.org/show_bug.cgi?id=157970
2664 Reviewed by Saam Barati.
2666 Instead of throwing if any unary operator precedes new.target, only
2667 throw if the unary operator updates the reference.
2669 The following become legal in JSC:
2679 All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
2681 * stress/new-target-syntax-errors.js:
2682 * stress/new-target.js:
2684 2017-08-09 Ryan Haddad <ryanhaddad@apple.com>
2686 Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
2687 https://bugs.webkit.org/show_bug.cgi?id=175255
2689 Unreviewed test gardening.
2691 * stress/regress-169783.js:
2692 * wasm/stress/oom.js:
2694 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com>
2696 REGRESSION: 2 test262/test/language/statements/async-function failures
2697 https://bugs.webkit.org/show_bug.cgi?id=175334
2699 Reviewed by Yusuke Suzuki.
2701 Add @skip parameters to tests, and remove test for async iterator from
2702 async await syntax test because it is already covered by async-iterator-syntax.js
2704 * stress/async-await-syntax.js:
2705 * stress/async-iteration-syntax.js:
2707 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com>
2709 Unreviewed, gardening test262 for Promise resolve / reject function length
2710 https://bugs.webkit.org/show_bug.cgi?id=175333
2714 2017-08-07 Robin Morisset <rmorisset@apple.com>
2716 GetOwnProperty of TypedArray indexed fields is wrongly configurable
2717 https://bugs.webkit.org/show_bug.cgi?id=175307
2719 Reviewed by Saam Barati.
2721 * stress/typedarray-getownproperty-not-configurable.js: Added.
2725 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com>
2727 Promise resolve and reject function should have length = 1
2728 https://bugs.webkit.org/show_bug.cgi?id=175242
2730 Reviewed by Saam Barati.
2732 * stress/builtin-function-length.js: Added.
2735 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2736 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2738 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com>
2740 [ESNext] Async iteration - Implement Async Generator - parser
2741 https://bugs.webkit.org/show_bug.cgi?id=175210
2743 Reviewed by Yusuke Suzuki.
2745 * stress/async-await-syntax.js:
2746 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
2747 * stress/async-iteration-syntax.js: Added.
2751 (checkSimpleAsyncGeneratorSloppyMode):
2752 (checkSimpleAsyncGeneratorStrictMode):
2753 (checkNestedAsyncGenerators):
2754 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2755 * stress/generator-class-methods-syntax.js:
2757 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
2759 JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
2760 https://bugs.webkit.org/show_bug.cgi?id=175150
2762 Unreviewed test gardening.
2764 * wasm/js-api/test_memory_constructor.js:
2766 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
2768 [Linux] JSTests/wasm/stress/oom.js should not run on Linux
2769 https://bugs.webkit.org/show_bug.cgi?id=175100
2771 Reviewed by Mark Lam.
2773 The JSC test JSTests/wasm/stress/oom.js tries to use all the
2774 available memory until an out of memory exception happens.
2776 The Linux kernel is more tuned for server workloads than for GUI
2777 responsiveness. When a process tries to use a lot of memory, Linux
2778 will do its best to serve the request. This usually translates to
2779 free physical RAM by writing to disk dirty pages and/or moving out
2780 less recently used pages to swap (disk storage).
2781 Meanwhile it does this, the system will become unresponsive and this
2782 leads to freezes that can last even some minutes on the worst cases.
2784 Therefore, let's skip this test on Linux as it will cause more harm
2785 than good on the Linux bots or on the machines of Linux developers.
2787 * wasm/stress/oom.js:
2789 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com>
2791 [JSC] Remove unnecessary print from stress\promise-finally.js test
2792 https://bugs.webkit.org/show_bug.cgi?id=175015
2794 Reviewed by Yusuke Suzuki.
2796 * stress/promise-finally.js:
2800 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2802 Unreviewed, update test262 results for optional catch binding
2806 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2808 [JSC] Support optional catch binding
2809 https://bugs.webkit.org/show_bug.cgi?id=174981
2811 Reviewed by Saam Barati.
2813 * stress/optional-catch-binding-syntax.js: Added.
2817 * stress/optional-catch-binding.js: Added.
2821 2017-07-28 Mark Lam <mark.lam@apple.com>
2823 ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
2824 https://bugs.webkit.org/show_bug.cgi?id=174948
2825 <rdar://problem/33495680>
2827 Reviewed by Filip Pizlo.
2829 * stress/regress-174948.js: Added.
2831 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com>
2833 ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
2834 https://bugs.webkit.org/show_bug.cgi?id=174900
2836 Reviewed by Saam Barati.
2838 * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
2843 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com>
2845 Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
2846 https://bugs.webkit.org/show_bug.cgi?id=171637
2848 Reviewed by Darin Adler.
2850 * stress/domjit-getter-complex-with-incorrect-object.js:
2852 * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
2856 2017-07-26 JF Bastien <jfbastien@apple.com>
2858 WebAssembly: test throwing out of the start function
2859 https://bugs.webkit.org/show_bug.cgi?id=165714
2860 <rdar://problem/29760251>
2862 Reviewed by Keith Miller.
2865 * wasm/function-tests/trap-from-start.js: Added.
2867 * wasm/function-tests/trap-from-start-async.js: Added.
2868 (async.StartTrapsAsync):
2870 2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com>
2872 [FTL] Arguments elimination is suppressed by unreachable blocks
2873 https://bugs.webkit.org/show_bug.cgi?id=174352
2875 Reviewed by Filip Pizlo.
2877 * stress/arguments-elimination-force-exit.js: Added.
2881 * stress/arguments-elimination-throw.js: Added.
2887 2017-07-13 Mark Lam <mark.lam@apple.com>
2889 Add some additional test cases for bug 170896.
2890 https://bugs.webkit.org/show_bug.cgi?id=174491
2892 Reviewed by Filip Pizlo.
2894 * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js.
2895 * stress/regress-170896-with-double-shape-profile.js: Added.
2897 * stress/regress-170896-with-int32-shape-profile.js: Added.
2899 * stress/regress-170896.js: Removed.
2901 2017-07-13 Saam Barati <sbarati@apple.com>
2903 Missing exception check in JSObject::hasInstance
2904 https://bugs.webkit.org/show_bug.cgi?id=174455
2905 <rdar://problem/31384608>
2907 Reviewed by Mark Lam.
2909 * stress/has-instance-exception-check.js: Added.
2911 (let.getter.Object.getOwnPropertyDescriptor.get foo):
2913 2017-07-13 Caio Lima <ticaiolima@gmail.com>
2915 [ESnext] Implement Object Spread
2916 https://bugs.webkit.org/show_bug.cgi?id=167963
2918 Reviewed by Saam Barati.
2920 * stress/obj-rest-destructuring-order.js: Added.
2924 * stress/obj-spread-order.js: Added.
2928 * stress/object-spread.js: Added.
2937 (try.let.obj.get foo):
2940 2017-07-12 Saam Barati <sbarati@apple.com>
2942 GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments
2943 https://bugs.webkit.org/show_bug.cgi?id=174411
2944 <rdar://problem/31696186>
2946 Reviewed by Mark Lam.
2948 * stress/generic-arguments-correct-delete-behavior.js: Added.
2952 2017-07-07 Mark Lam <mark.lam@apple.com>
2954 \n\r is not the same as \r\n.
2955 https://bugs.webkit.org/show_bug.cgi?id=173053
2957 Reviewed by Keith Miller.
2959 * stress/regress-173053.js: Added.
2960 * stress/template-literal-line-terminators.js:
2962 2017-07-06 Saam Barati <sbarati@apple.com>
2964 We are missing places where we invalidate the for-in context
2965 https://bugs.webkit.org/show_bug.cgi?id=174184
2967 Reviewed by Geoffrey Garen.
2969 * stress/for-in-invalidate-context-weird-assignments.js: Added.
2973 2017-07-05 Saam Barati <sbarati@apple.com>
2975 NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
2976 https://bugs.webkit.org/show_bug.cgi?id=174188
2977 <rdar://problem/30581423>
2979 Reviewed by Mark Lam.
2981 * stress/new-array-having-a-bad-time-double.js: Added.
2985 2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
2987 WTF::StringImpl::copyChars segfaults when built with GCC 7
2988 https://bugs.webkit.org/show_bug.cgi?id=173407
2990 Reviewed by Andreas Kling.
2992 * stress/string-repeat-copy-chars-crash.js: Added.
2995 2017-07-03 Saam Barati <sbarati@apple.com>
2997 Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.
2999 * stress/unshiftCountSlowCase-correct-postCapacity.js:
3001 2017-07-03 Yusuke Suzuki <utatane.tea@gmail.com>
3003 Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited
3005 It requires too much memory.
3007 * stress/dont-reserve-huge-capacity-lexer.js:
3009 2017-06-30 Michael Saboff <msaboff@apple.com>
3011 Skip a test on ARM64 platform since we run out of address space.
3013 Rubber stamped by Saam Barati.
3015 * stress/dont-reserve-huge-capacity-lexer.js:
3017 2017-06-30 Michael Saboff <msaboff@apple.com>
3019 RegExp's anchored with .* with \g flag can return wrong match start for strings with multiple matches
3020 https://bugs.webkit.org/show_bug.cgi?id=174044
3022 Reviewed by Oliver Hunt.
3024 New regression test.
3026 * stress/regress-174044.js: Added.
3030 2017-06-30 Filip Pizlo <fpizlo@apple.com>
3032 RegExpCachedResult::setInput should reify left and right contexts
3033 https://bugs.webkit.org/show_bug.cgi?id=173818
3035 Reviewed by Keith Miller.
3037 * stress/right-left-context-invalidated-by-input.js: Added.
3038 (test.validateContexts):
3041 2017-06-29 Saam Barati <sbarati@apple.com>
3043 Calculating postCapacity in unshiftCountSlowCase is wrong
3044 https://bugs.webkit.org/show_bug.cgi?id=173992
3045 <rdar://problem/32283199>
3047 Reviewed by Keith Miller.
3049 * stress/unshiftCountSlowCase-correct-postCapacity.js: Added.
3052 2017-06-29 Commit Queue <commit-queue@webkit.org>
3054 Unreviewed, rolling out r218512.
3055 https://bugs.webkit.org/show_bug.cgi?id=173981
3057 "It changes the behavior of the JS API's JSEvaluateScript
3058 which breaks TurboTax" (Requested by saamyjoon on #webkit).
3062 "test262: Completion values for control flow do not match the
3064 https://bugs.webkit.org/show_bug.cgi?id=171265
3065 http://trac.webkit.org/changeset/218512
3067 2017-06-27 JF Bastien <jfbastien@apple.com>
3069 WebAssembly: running out of executable memory should throw OoM
3070 https://bugs.webkit.org/show_bug.cgi?id=171537
3071 <rdar://problem/32963338>
3073 Reviewed by Saam Barati.
3076 * wasm/lowExecutableMemory/executable-memory-oom.js: Added.
3078 (failCount.0.catch):
3079 (failCount.0.module.undefined.catch):
3080 * wasm/lowExecutableMemory/exports-oom.js: Added.
3083 (const.randomProgram):
3084 (failCount.0.catch):
3085 (failCount.0.module.undefined.catch):
3086 * wasm/lowExecutableMemory/imports-oom.js: Added.
3089 (const.randomProgram):
3091 (failCount.0.catch):
3092 (failCount.0.module.undefined.catch):
3094 2017-06-27 Caio Lima <ticaiolima@gmail.com>
3096 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
3097 https://bugs.webkit.org/show_bug.cgi?id=167962
3099 Reviewed by Saam Barati.
3101 * stress/object-rest-deconstruct.js: Added.
3103 (let.assertPropDescriptor):
3111 2017-06-27 Saam Barati <sbarati@apple.com>
3113 Function constructor needs to follow the spec and validate parameters and body independently
3114 https://bugs.webkit.org/show_bug.cgi?id=173303
3115 <rdar://problem/32732526>
3117 Reviewed by Keith Miller.
3119 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
3120 * stress/function-constructor-semantics.js: Added.
3129 2017-06-26 Saam Barati <sbarati@apple.com>
3131 RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect
3132 https://bugs.webkit.org/show_bug.cgi?id=173740
3134 Reviewed by Mark Lam.
3136 * stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added.
3137 (Array.prototype.Symbol.iterator):
3139 2017-06-26 Saam Barati <sbarati@apple.com>
3141 Skip a test on 32-bit platforms since we run out of address space.
3143 Rubber stamped by Mark Lam.
3145 * stress/dont-reserve-huge-capacity-lexer.js:
3147 2017-06-26 Saam Barati <sbarati@apple.com>
3149 Crash in JSC::Lexer<unsigned char>::setCode
3150 https://bugs.webkit.org/show_bug.cgi?id=172754
3152 Reviewed by Mark Lam.
3154 * stress/dont-reserve-huge-capacity-lexer.js: Added.
3157 2017-06-24 Yusuke Suzuki <utatane.tea@gmail.com>
3159 [JSC] Clean up Object.entries implementation
3160 https://bugs.webkit.org/show_bug.cgi?id=173759
3162 Reviewed by Sam Weinig.
3164 * microbenchmarks/object-entries.js: Added.
3167 2017-06-24 Joseph Pecoraro <pecoraro@apple.com>
3169 Remove Reflect.enumerate
3170 https://bugs.webkit.org/show_bug.cgi?id=173806
3172 Reviewed by Yusuke Suzuki.
3176 These tests now fail because they use Reflect.enumerate.
3179 This test now passes, it checked that Reflect.enumerate is undefined!
3181 * stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:
3182 Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>
3184 * stress/reflect-enumerate.js: Removed.
3185 Remove a test solely for Reflect.enumerate.
3187 2017-06-22 Saam Barati <sbarati@apple.com>
3189 ValueRep(DoubleRep(@v)) can not simply convert to @v
3190 https://bugs.webkit.org/show_bug.cgi?id=173687
3191 <rdar://problem/32855563>
3193 Reviewed by Mark Lam.
3195 * stress/dont-strength-reduce-valuerep-of-doublerep.js: Added.
3198 2017-06-22 Yusuke Suzuki <utatane.tea@gmail.com>
3200 [JSC] Object.values should be implemented in C++
3201 https://bugs.webkit.org/show_bug.cgi?id=173703
3203 Reviewed by Sam Weinig.
3205 * microbenchmarks/object-keys-map-values.js: Added.
3207 * microbenchmarks/object-values.js: Added.
3209 * stress/object-values-changing-properties.js: Added.
3211 (throw.new.Error.let.source.get x):
3213 (shouldBe.let.handler.get order):
3215 (shouldBe.let.handler.get return):
3216 (let.handler.get order):
3218 2017-06-21 Saam Barati <sbarati@apple.com>
3220 eval virtual call is incorrect in the baseline JIT
3221 https://bugs.webkit.org/show_bug.cgi?id=173587
3222 <rdar://problem/32867897>
3224 Reviewed by Michael Saboff.
3226 * stress/do-eval-virtual-call-correctly.js: Added.
3232 2017-06-20 Ryan Haddad <ryanhaddad@apple.com>
3234 Update test262 test expectations after r218581.
3236 Unreviewed test gardening.
3240 2017-06-20 Oleksandr Skachkov <gskachkov@gmail.com>
3242 Revert changes in bug#160417 about extending `null` not being a derived class
3243 https://bugs.webkit.org/show_bug.cgi?id=169293
3245 Reviewed by Saam Barati.
3247 * stress/class-derived-from-null.js:
3256 2017-06-13 Yusuke Suzuki <utatane.tea@gmail.com>
3258 [DFG] More ArrayIndexOf fixups for various types
3259 https://bugs.webkit.org/show_bug.cgi?id=173176
3261 Reviewed by Saam Barati.
3263 * stress/array-indexof-arraystorage.js: Added.
3265 (indexOfInt32Other):
3267 (indexOfInt32Boolean):
3268 (indexOfDoubleOther):
3269 (indexOfDoubleCell):
3270 (indexOfDoubleBoolean):
3273 * stress/array-indexof-constant-folding.js: Added.
3275 (indexOfInt32Other):
3277 (indexOfInt32Boolean):
3278 (indexOfDoubleOther):
3279 (indexOfDoubleCell):
3280 (indexOfDoubleBoolean):
3281 * stress/array-indexof-hole-and-other.js: Added.
3284 * stress/array-indexof-other.js: Added.
3290 * stress/array-indexof-symbol.js: Added.
3297 2017-06-19 Joseph Pecoraro <pecoraro@apple.com>
3299 test262: Completion values for control flow do not match the spec
3300 https://bugs.webkit.org/show_bug.cgi?id=171265
3302 Reviewed by Saam Barati.
3304 * stress/completion-value.js:
3305 Condensed test for completion values in top level statements.
3307 * stress/super-get-by-id.js:
3308 ClassDeclaration when evaled no longer produce values. Convert
3309 these to ClassExpressions so they produce the class value.
3311 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
3312 This is a progression for currect spec behavior.
3314 * mozilla/mozilla-tests.yaml:
3315 This test is now outdated, so mark it as failing for that reason.
3318 Passing all "cptn" completion value tests.
3320 2017-06-17 Keith Miller <keith_miller@apple.com>
3322 ArrayBuffer constructor needs to create subclass structures before its buffer
3323 https://bugs.webkit.org/show_bug.cgi?id=173510
3325 Reviewed by Yusuke Suzuki.
3329 2017-06-17 Keith Miller <keith_miller@apple.com>
3331 ArrayPrototype methods should use JSValue::toLength for non-Arrays.
3332 https://bugs.webkit.org/show_bug.cgi?id=173506
3334 Reviewed by Ryosuke Niwa.
3338 * ChakraCore/test/Function/apply3.baseline-jsc:
3341 2017-06-16 Yusuke Suzuki <utatane.tea@gmail.com>
3343 [JSC] Add fast path for Object.assign
3344 https://bugs.webkit.org/show_bug.cgi?id=173416
3346 Reviewed by Mark Lam.
3348 * stress/object-assign-changing-properties.js: Added.
3350 (throw.new.Error.let.source.get x):
3352 (shouldBe.let.source.get x):
3353 (shouldBe.let.target.set x):
3354 (shouldBe.let.target.get x):
3355 * stress/object-assign-proxy.js: Added.
3357 (throw.new.Error.let.handler.get order):
3359 2017-06-15 Yusuke Suzuki <utatane.tea@gmail.com>
3361 [JSC] Implement Object.assign in C++
3362 https://bugs.webkit.org/show_bug.cgi?id=173414
3364 Reviewed by Saam Barati.
3366 * stress/object-assign-string-first.js: Added.
3368 (source.get Symbol):
3372 2017-06-14 JF Bastien <jfbastien@apple.com>
3374 WebAssembly: remove empty test files
3375 https://bugs.webkit.org/show_bug.cgi?id=173382
3377 Reviewed by Saam Barati.
3379 The following files:
3380 JSTests/wasm/function-tests/call-indirect-params.js
3381 JSTests/wasm/function-tests/call-indirect.js
3382 JSTests/wasm/js-api/call-indirect-results.js
3383 Were changed to empty files in https://trac.webkit.org/changeset/209771
3385 They were testing call_indirect with the wrong semantics, before
3386 we implemented tables. That change implemented tables and
3387 therefore removed the erroneous tests.
3389 We have a few tests for call_indirect which already do the right thing:
3390 JSTests/wasm/function-tests/context-switch.js
3391 JSTests/wasm/function-tests/exceptions.js
3392 JSTests/wasm/function-tests/grow-memory-2.js
3393 JSTests/wasm/function-tests/stack-overflow.js
3394 JSTests/wasm/function-tests/table-basic-2.js
3395 JSTests/wasm/function-tests/table-basic.js
3396 JSTests/wasm/js-api/call-indirect.js
3397 JSTests/wasm/js-api/table.js
3398 JSTests/wasm/js-api/unique-signature.js
3399 JSTests/wasm/js-api/wrapper-function.js
3401 I also just imported the updated spec tests which, among other
3402 things, test call_indirect:
3405 core/call_indirect.wast
3409 core/left-to-right.wast
3414 core/unreachable.wast
3416 So I think it's OK to just delete the tests which should just have
3417 been deleted back when tables were added.
3419 * wasm/function-tests/call-indirect-params.js: Removed.
3420 * wasm/function-tests/call-indirect.js: Removed.
3421 * wasm/js-api/call-indirect-results.js: Removed.
3423 2017-06-13 JF Bastien <jfbastien@apple.com>
3425 WebAssembly: import updated spec tests
3426 https://bugs.webkit.org/show_bug.cgi?id=173287
3427 <rdar://problem/32725975>
3429 Reviewed by Saam Barati.
3431 Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b,
3432 with a few modifications so things work.
3434 Fix a bunch of bugs found through this process, and punt a few tests (which I
3435 marked as blocked by this bug).
3439 Fix load / store alignment: r216908 erroneously implemented it as bit alignment
3440 instead of byte alignment. It was also missing memory-alignment.js despite it
3441 being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to
3444 Tables can be imported or in a section. There can be only one, but sections can
3445 be empty. An Elements section can exist if there's no Table, as long as it is
3448 Memories can be imported or in a section. There can be only one, but sections
3449 can be empty. A Data section can exist if there's no Memory, as long as it is
3452 Prototypes: stringify without .prototype. in the string.
3454 WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter,
3455 not a final size, and throws a RangeError on failure, not a TypeError.
3457 Fix compile / instantiate so the reject the promise if given an argument of the
3458 wrong type (instead of failing instantly).
3460 Fix async on neuter test.
3462 Element section shouldn't affect any Table if any of the elements are out of
3463 bounds. We need to process it in two passes.
3465 Segment section shouldn't affect any Data if any of the segments are out of
3466 bounds. We need to process it in two passes.
3468 Empty data segments are valid, but only when there is no memory. Their index
3469 still gets validated, and has to be zero.
3473 Error messages with context, the test seems overly restrictive but this is
3476 compile/instantiate/validate property descriptors.
3480 Temporarily disable NaN tests. We need to go back and implement the following
3481 semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as
3482 much as getting all the other tests passing.
3484 Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as
3485 no_fold_promote_demote (an interesting corner case which we get wrong). mul by
3486 one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const
3487 0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN
3488 to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\"
3489 (i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure
3490 why they're not allowed.
3493 * wasm/function-tests/i32-load8-s.js:
3494 * wasm/function-tests/memory-access-past-4gib.js:
3495 (const.op.of.WASM.opcodes):
3496 * wasm/function-tests/memory-alignment.js: Added.
3497 (const.op.of.WASM.opcodes):
3498 * wasm/function-tests/memory-section-and-import.js:
3499 * wasm/js-api/Module-compile.js:
3500 (async.testPromiseAPI):
3501 * wasm/js-api/dont-mmap-zero-byte-memory.js:
3503 * wasm/js-api/element.js:
3504 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3505 * wasm/js-api/neutered-inputs.js:
3506 (const.testFunction): Deleted.
3507 (const.testConstructor): Deleted.
3508 * wasm/js-api/table.js:
3509 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3510 (new.WebAssembly.Module):
3512 (assertBadTableImport):
3513 (assert.throws.WebAssembly.Table.prototype.grow):
3514 (assertBadTableInstance): Deleted.
3515 * wasm/js-api/test_Data.js:
3516 (DataSectionWithoutMemory):
3517 * wasm/spec-harness/index.js:
3519 (uniqueTest): Deleted.
3520 (assert_invalid): Deleted.
3521 (assert_soft_invalid): Deleted.
3522 (register): Deleted.
3524 (get instance): Deleted.
3527 (assert_unlinkable): Deleted.
3528 (assert_uninstantiable): Deleted.
3529 (assert_trap): Deleted.
3532 (assert_exhaustion): Deleted.
3533 (assert_return): Deleted.
3534 (assert_return_nan): Deleted.
3535 * wasm/spec-harness/testharness.css: Removed.
3536 * wasm/spec-harness/testharness.js: Removed.
3537 * wasm/spec-harness/testharnessreport.js: Removed.
3538 * wasm/spec-harness/wasm-constants.js:
3541 * wasm/spec-harness/wasm-module-builder.js:
3542 (Binary.prototype.emit_section):
3544 (WasmFunctionBuilder.prototype.addBody):
3545 (WasmFunctionBuilder.prototype.end):
3546 (WasmFunctionBuilder):
3547 (WasmModuleBuilder.prototype.stringToBytes):
3548 (WasmModuleBuilder.prototype.addCustomSection):
3549 (WasmModuleBuilder.prototype.addFunctionTableInit):
3550 (WasmModuleBuilder.prototype.appendToTable):
3551 (WasmModuleBuilder.prototype.toArray):
3552 (WasmModuleBuilder.prototype.toBuffer):
3553 (WasmModuleBuilder.prototype.instantiate):
3554 (WasmModuleBuilder):
3555 * wasm/spec-tests/address.wast.js:
3556 * wasm/spec-tests/align.wast.js: Added.
3557 * wasm/spec-tests/binary.wast.js:
3558 * wasm/spec-tests/block.wast.js:
3559 * wasm/spec-tests/br.wast.js:
3560 * wasm/spec-tests/br_if.wast.js:
3561 * wasm/spec-tests/br_table.wast.js:
3562 * wasm/spec-tests/call.wast.js:
3563 * wasm/spec-tests/call_indirect.wast.js:
3564 * wasm/spec-tests/comments.wast.js:
3565 * wasm/spec-tests/const.wast.js: Added.
3566 * wasm/spec-tests/conversions.wast.js: Added.
3567 * wasm/spec-tests/custom_section.wast.js:
3568 * wasm/spec-tests/exports.wast.js:
3569 * wasm/spec-tests/f32.wast.js: Added.
3570 * wasm/spec-tests/f64.wast.js: Added.
3571 * wasm/spec-tests/fac.wast.js:
3572 * wasm/spec-tests/float_exprs.wast.js: Added.
3573 * wasm/spec-tests/float_misc.wast.js: Added.
3574 * wasm/spec-tests/func.wast.js:
3575 * wasm/spec-tests/globals.wast.js:
3576 * wasm/spec-tests/if.wast.js:
3577 * wasm/spec-tests/imports.wast.js:
3578 * wasm/spec-tests/inline-module.wast.js: Added.
3579 * wasm/spec-tests/jsapi.js:
3582 * wasm/spec-tests/labels.wast.js:
3583 * wasm/spec-tests/loop.wast.js:
3584 * wasm/spec-tests/memory.wast.js:
3585 * wasm/spec-tests/memory_trap.wast.js: Added.
3586 * wasm/spec-tests/names.wast.js:
3587 * wasm/spec-tests/nop.wast.js:
3588 * wasm/spec-tests/return.wast.js:
3589 * wasm/spec-tests/stack.wast.js:
3590 * wasm/spec-tests/token.wast.js: Added.
3591 * wasm/spec-tests/type.wast.js: Added.
3592 * wasm/spec-tests/typecheck.wast.js:
3593 * wasm/spec-tests/unreachable.wast.js:
3594 * wasm/spec-tests/unreached-invalid.wast.js:
3595 * wasm/spec-tests/unwind.wast.js:
3596 * wasm/spec-tests/utf8-custom-section-id.wast.js: Added.
3597 * wasm/spec-tests/utf8-import-field.wast.js: Added.
3598 * wasm/spec-tests/utf8-import-module.wast.js: Added.
3600 2017-06-13 Ryan Haddad <ryanhaddad@apple.com>
3602 Unreviewed JSC test gardening.
3604 * stress/check-string-ident.js:
3605 * stress/new-largeish-contiguous-array-with-size.js:
3607 2017-06-13 Michael Saboff <msaboff@apple.com>
3609 DFG doesn't properly handle a property that is change to read only in a prototype
3610 https://bugs.webkit.org/show_bug.cgi?id=173321
3612 Reviewed by Filip Pizlo.
3614 * ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js.
3615 * stress/regress-173321.js: Added new regression test.
3620 2017-06-12 Saam Barati <sbarati@apple.com>
3622 Update test262 test expectation since r218082 makes new tests pass.
3626 2017-06-12 Saam Barati <sbarati@apple.com>
3628 We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms
3629 https://bugs.webkit.org/show_bug.cgi?id=172957
3630 <rdar://problem/32602704>
3632 Reviewed by Filip Pizlo.
3634 * stress/spec-empty-flows-through-cell-checks.js: Added.
3639 2017-06-12 Oleksandr Skachkov <gskachkov@gmail.com>
3641 We incorrectly allow escaped characters in keyword tokens
3642 https://bugs.webkit.org/show_bug.cgi?id=171310
3644 Reviewed by Yusuke Suzuki.
3646 * stress/destructuring-assignment-syntax.js:
3647 * stress/error-messages-for-in-operator-should-not-crash.js:
3649 * stress/reserved-word-with-escape.js:
3650 (testSyntaxError.String.raw.v):
3651 (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
3652 (testSyntaxError.String.raw.a):
3653 * JSTests/ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc:
3655 2017-06-09 Yusuke Suzuki <utatane.tea@gmail.com>
3657 [DFG] Add ArrayIndexOf intrinsic
3658 https://bugs.webkit.org/show_bug.cgi?id=172421
3660 Reviewed by Saam Barati.
3662 * stress/array-indexof-array-prototype-change.js: Added.
3665 * stress/array-indexof-have-a-bad-time-getter.js: Added.
3668 * stress/array-indexof-have-a-bad-time.js: Added.
3671 * stress/array-indexof-hole-with-prototype.js: Added.
3674 * stress/array-indexof-hole.js: Added.
3677 * stress/array-indexof-index.js: Added.
3684 * stress/array-indexof-negative-index.js: Added.
3691 * stress/array-indexof-non-int32-start-index.js: Added.
3695 * stress/array-indexof-object-prototype-change.js: Added.
3698 * stress/array-indexof-object.js: Added.
3701 * stress/array-indexof-original-array.js: Added.
3704 * stress/array-indexof-string.js: Added.
3707 * stress/array-indexof-structure-change-convert.js: Added.
3710 * stress/array-indexof-structure-change.js: Added.
3713 * stress/array-indexof.js: Added.
3717 2017-06-11 Keith Miller <keith_miller@apple.com>
3719 TypedArray constructor with string shouldn't throw
3720 https://bugs.webkit.org/show_bug.cgi?id=173181
3722 Reviewed by JF Bastien.