1 2017-10-20 Mark Lam <mark.lam@apple.com>
3 Add a test case for r214334.
4 https://bugs.webkit.org/show_bug.cgi?id=169941
5 <rdar://problem/31221258>
7 Reviewed by JF Bastien.
9 * stress/regress-169941.js: Added.
11 2017-10-19 JF Bastien <jfbastien@apple.com>
13 WebAssembly: no VM / JS version of everything but Instance
14 https://bugs.webkit.org/show_bug.cgi?id=177473
16 Reviewed by Filip Pizlo, Saam Barati.
18 - Exceeding max on memory growth now returns a range error as per
19 spec. This is a (very minor) breaking change: it used to throw OOM
20 error. Update the corresponding test.
22 * wasm/js-api/memory-grow.js:
24 * wasm/js-api/table.js:
27 2017-10-19 Mark Lam <mark.lam@apple.com>
29 Stringifier::appendStringifiedValue() is missing an exception check.
30 https://bugs.webkit.org/show_bug.cgi?id=178386
31 <rdar://problem/35027610>
33 Reviewed by Saam Barati.
35 * stress/regress-178386.js: Added.
37 2017-10-19 Michael Saboff <msaboff@apple.com>
39 Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
40 https://bugs.webkit.org/show_bug.cgi?id=178521
42 Reviewed by JF Bastien.
44 * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
45 now passes with the current version (5.0) of the Emoji spec.
47 2017-10-19 Robin Morisset <rmorisset@apple.com>
49 Turn recursive tail calls into loops
50 https://bugs.webkit.org/show_bug.cgi?id=176601
52 Reviewed by Saam Barati.
54 Add some simple test that computes factorial in several ways, and other trivial computations.
55 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
56 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
57 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
58 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
60 * stress/inline-call-to-recursive-tail-call.js: Added.
72 2017-10-18 Mark Lam <mark.lam@apple.com>
74 RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
75 https://bugs.webkit.org/show_bug.cgi?id=177600
76 <rdar://problem/34710985>
78 Reviewed by Saam Barati.
80 * stress/regress-177600.js: Added.
82 2017-10-18 Mark Lam <mark.lam@apple.com>
84 The compiler should always register a structure when it adds its transitionWatchPointSet.
85 https://bugs.webkit.org/show_bug.cgi?id=178420
86 <rdar://problem/34814024>
88 Reviewed by Saam Barati and Filip Pizlo.
90 * stress/regress-178420.js: Added.
91 (new.Array.10000.map):
93 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com>
95 [JSC] __proto__ getter should be fast
96 https://bugs.webkit.org/show_bug.cgi?id=178067
98 Reviewed by Saam Barati.
100 * stress/dfg-object-proto-accessor.js: Added.
104 * stress/dfg-object-proto-getter.js: Added.
108 * stress/dfg-object-prototype-of.js: Added.
112 * stress/dfg-reflect-get-prototype-of.js: Added.
116 * stress/intrinsic-getter-with-poly-proto.js: Added.
118 (makePolyProtoObject.foo.C):
119 (makePolyProtoObject.foo):
120 (makePolyProtoObject):
122 * stress/object-get-prototype-of-filtered.js: Added.
127 * stress/object-get-prototype-of-mono-proto.js: Added.
129 (makePolyProtoObject.foo.C):
130 (makePolyProtoObject.foo):
131 (makePolyProtoObject):
133 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
135 (makePolyProtoObject.foo.C):
136 (makePolyProtoObject.foo):
137 (makePolyProtoObject):
139 * stress/object-get-prototype-of-poly-proto.js: Added.
141 (makePolyProtoObject.foo.C):
142 (makePolyProtoObject.foo):
143 (makePolyProtoObject):
145 * stress/object-proto-getter-filtered.js: Added.
150 * stress/object-proto-getter-poly-mono-proto.js: Added.
152 (makePolyProtoObject.foo.C):
153 (makePolyProtoObject.foo):
154 (makePolyProtoObject):
156 * stress/object-proto-getter-poly-proto.js: Added.
158 (makePolyProtoObject.foo.C):
159 (makePolyProtoObject.foo):
160 (makePolyProtoObject):
162 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
163 * stress/string-proto.js: Added.
167 2017-10-17 Ryan Haddad <ryanhaddad@apple.com>
169 Unreviewed, rolling out r223523.
171 A test for this change is failing on debug JSC bots.
175 "[JSC] __proto__ getter should be fast"
176 https://bugs.webkit.org/show_bug.cgi?id=178067
177 https://trac.webkit.org/changeset/223523
179 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com>
181 [JSC] __proto__ getter should be fast
182 https://bugs.webkit.org/show_bug.cgi?id=178067
184 Reviewed by Saam Barati.
186 * stress/dfg-object-proto-accessor.js: Added.
190 * stress/dfg-object-proto-getter.js: Added.
194 * stress/dfg-object-prototype-of.js: Added.
198 * stress/dfg-reflect-get-prototype-of.js: Added.
202 * stress/object-get-prototype-of-filtered.js: Added.
207 * stress/object-get-prototype-of-mono-proto.js: Added.
209 (makePolyProtoObject.foo.C):
210 (makePolyProtoObject.foo):
211 (makePolyProtoObject):
213 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
215 (makePolyProtoObject.foo.C):
216 (makePolyProtoObject.foo):
217 (makePolyProtoObject):
219 * stress/object-get-prototype-of-poly-proto.js: Added.
221 (makePolyProtoObject.foo.C):
222 (makePolyProtoObject.foo):
223 (makePolyProtoObject):
225 * stress/object-proto-getter-filtered.js: Added.
230 * stress/object-proto-getter-poly-mono-proto.js: Added.
232 (makePolyProtoObject.foo.C):
233 (makePolyProtoObject.foo):
234 (makePolyProtoObject):
236 * stress/object-proto-getter-poly-proto.js: Added.
238 (makePolyProtoObject.foo.C):
239 (makePolyProtoObject.foo):
240 (makePolyProtoObject):
242 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
243 * stress/string-proto.js: Added.
247 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com>
249 Reland "Add Above/Below comparisons for UInt32 patterns"
250 https://bugs.webkit.org/show_bug.cgi?id=177281
252 Reviewed by Saam Barati.
254 * stress/uint32-comparison-jump.js: Added.
264 * stress/uint32-comparison.js: Added.
275 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com>
277 WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
278 https://bugs.webkit.org/show_bug.cgi?id=178210
280 Reviewed by Saam Barati.
282 * wasm/function-tests/trap-from-start-async.js:
283 (async.StartTrapsAsync):
284 * wasm/function-tests/trap-from-start.js:
286 * wasm/js-api/web-assembly-function.js:
287 (assert.eq.Object.getPrototypeOf):
288 * wasm/js-api/wrapper-function.js:
289 (return.new.WebAssembly.Module):
290 (assert.throws.makeInstance): Deleted.
291 (assert.throws.Bar): Deleted.
292 (assert.throws): Deleted.
294 2017-09-29 Filip Pizlo <fpizlo@apple.com>
296 Enable gigacage on iOS
297 https://bugs.webkit.org/show_bug.cgi?id=177586
299 Reviewed by JF Bastien.
301 Add tests for when Gigacage gets runtime disabled.
303 * stress/disable-gigacage-arrays.js: Added.
305 * stress/disable-gigacage-strings.js: Added.
307 * stress/disable-gigacage-typed-arrays.js: Added.
310 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com>
312 import.meta should not be assignable
313 https://bugs.webkit.org/show_bug.cgi?id=178202
315 Reviewed by Saam Barati.
317 * modules/import-meta-assignment.js: Added.
319 (SyntaxError.import.meta.can.shouldThrow):
321 2017-10-11 Saam Barati <sbarati@apple.com>
323 Unreviewed. Actually skip certain type profiler tests in debug.
326 * typeProfiler/deltablue-for-of.js:
327 * typeProfiler/getter-richards.js:
329 2017-10-11 Commit Queue <commit-queue@webkit.org>
331 Unreviewed, rolling out r223113 and r223121.
332 https://bugs.webkit.org/show_bug.cgi?id=178182
334 Reintroduced 20% regression on Kraken (Requested by rniwa on
339 "Enable gigacage on iOS"
340 https://bugs.webkit.org/show_bug.cgi?id=177586
341 https://trac.webkit.org/changeset/223113
343 "Use one virtual allocation for all gigacages and their
345 https://bugs.webkit.org/show_bug.cgi?id=178050
346 https://trac.webkit.org/changeset/223121
348 2017-10-11 Michael Saboff <msaboff@apple.com>
350 Disable test262 named capture group tests with direct unicode names and with references before definitions
351 https://bugs.webkit.org/show_bug.cgi?id=178177
353 Reviewed by Keith Miller.
355 Bugs to track fixing these test are:
356 https://bugs.webkit.org/show_bug.cgi?id=178174 -
357 "Add support in named capture group identifiers for direct surrogate pairs"
358 https://bugs.webkit.org/show_bug.cgi?id=178175 -
359 "Test262 failure with Named Capture Groups - using a reference before the group is defined"
363 2017-10-11 Caio Lima <ticaiolima@gmail.com>
365 Object properties are undefined in super.call() but not in this.call()
366 https://bugs.webkit.org/show_bug.cgi?id=177230
368 Reviewed by Saam Barati.
370 * stress/super-call-function-subclass.js: Added.
374 * stress/super-dot-call-and-apply.js: Added.
379 (B.prototype.testSuper):
381 (const.obj.new.B.string_appeared_here.obj.testSuper.C):
382 (D.prototype.testSuper):
385 2017-10-10 Saam Barati <sbarati@apple.com>
387 The prototype cache should be aware of the Executable it generates a Structure for
388 https://bugs.webkit.org/show_bug.cgi?id=177907
390 Reviewed by Filip Pizlo.
392 * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
402 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com>
404 `async` should be able to be used as an imported binding name
405 https://bugs.webkit.org/show_bug.cgi?id=176573
407 Reviewed by Saam Barati.
409 * modules/import-default-async.js: Added.
410 * modules/import-named-async-as.js: Added.
411 * modules/import-named-async.js: Added.
412 * modules/import-named-async/target.js: Added.
413 * modules/import-namespace-async.js: Added.
416 2017-09-29 Filip Pizlo <fpizlo@apple.com>
418 Enable gigacage on iOS
419 https://bugs.webkit.org/show_bug.cgi?id=177586
421 Reviewed by JF Bastien.
423 Add tests for when Gigacage gets runtime disabled.
425 * stress/disable-gigacage-arrays.js: Added.
427 * stress/disable-gigacage-strings.js: Added.
429 * stress/disable-gigacage-typed-arrays.js: Added.
432 2017-10-09 Michael Saboff <msaboff@apple.com>
434 Implement RegExp Unicode property escapes
435 https://bugs.webkit.org/show_bug.cgi?id=172069
437 Reviewed by JF Bastien.
439 Enabled Unicode Property tests.
443 2017-10-09 Commit Queue <commit-queue@webkit.org>
445 Unreviewed, rolling out r223015 and r223025.
446 https://bugs.webkit.org/show_bug.cgi?id=178093
448 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
453 "Enable gigacage on iOS"
454 https://bugs.webkit.org/show_bug.cgi?id=177586
455 http://trac.webkit.org/changeset/223015
457 "Unreviewed, disable Gigacage on ARM64 Linux"
458 https://bugs.webkit.org/show_bug.cgi?id=177586
459 http://trac.webkit.org/changeset/223025
461 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
463 Update expectations for test262 tests that pass after r223043.
464 https://bugs.webkit.org/show_bug.cgi?id=176685
466 Unreviewed test gardening.
470 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
472 Unreviewed, rolling out r223022.
474 This change introduced 18 test262 failures.
478 "`async` should be able to be used as an imported binding
480 https://bugs.webkit.org/show_bug.cgi?id=176573
481 http://trac.webkit.org/changeset/223022
483 2017-10-09 Saam Barati <sbarati@apple.com>
485 3 poly-proto JSC tests timing out on debug after r222827
486 https://bugs.webkit.org/show_bug.cgi?id=177880
487 <rdar://problem/34817122>
491 I'm skipping these type profiler tests on debug since they are long running.
493 * typeProfiler/deltablue-for-of.js:
494 * typeProfiler/getter-richards.js:
496 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com>
498 Safari 10 /11 problem with if (!await get(something)).
499 https://bugs.webkit.org/show_bug.cgi?id=176685
501 Reviewed by Saam Barati.
503 * stress/async-await-basic.js:
504 (awaitEpression.async):
505 * stress/async-await-syntax.js:
506 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
507 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
509 2017-10-08 Saam Barati <sbarati@apple.com>
511 Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
513 * typeProfiler/deltablue-for-of.js:
514 * typeProfiler/getter-richards.js:
516 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com>
518 `async` should be able to be used as an imported binding name
519 https://bugs.webkit.org/show_bug.cgi?id=176573
521 Reviewed by Darin Adler.
523 * modules/import-default-async.js: Added.
524 * modules/import-named-async-as.js: Added.
525 * modules/import-named-async.js: Added.
526 * modules/import-named-async/target.js: Added.
527 * modules/import-namespace-async.js: Added.
529 2017-09-29 Filip Pizlo <fpizlo@apple.com>
531 Enable gigacage on iOS
532 https://bugs.webkit.org/show_bug.cgi?id=177586
534 Reviewed by JF Bastien.
536 Add tests for when Gigacage gets runtime disabled.
538 * stress/disable-gigacage-arrays.js: Added.
540 * stress/disable-gigacage-strings.js: Added.
542 * stress/disable-gigacage-typed-arrays.js: Added.
545 2017-10-06 Commit Queue <commit-queue@webkit.org>
547 Unreviewed, rolling out r222791 and r222873.
548 https://bugs.webkit.org/show_bug.cgi?id=178031
550 Caused crashes with workers/wasm LayoutTests (Requested by
551 ryanhaddad on #webkit).
555 "WebAssembly: no VM / JS version of everything but Instance"
556 https://bugs.webkit.org/show_bug.cgi?id=177473
557 http://trac.webkit.org/changeset/222791
559 "WebAssembly: address no VM / JS follow-ups"
560 https://bugs.webkit.org/show_bug.cgi?id=177887
561 http://trac.webkit.org/changeset/222873
563 2017-10-05 Saam Barati <sbarati@apple.com>
565 Make sure all prototypes under poly proto get added into the VM's prototype map
566 https://bugs.webkit.org/show_bug.cgi?id=177909
568 Reviewed by Keith Miller.
570 * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
576 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com>
578 [JSC] Introduce import.meta
579 https://bugs.webkit.org/show_bug.cgi?id=177703
581 Reviewed by Filip Pizlo.
583 * modules/import-meta-syntax.js: Added.
586 * modules/import-meta.js: Added.
587 * modules/import-meta/cocoa.js: Added.
588 * modules/resources/assert.js:
589 (export.shouldNotThrow):
590 * stress/import-syntax.js:
592 2017-10-04 Saam Barati <sbarati@apple.com>
594 Make pertinent AccessCases watch the poly proto watchpoint
595 https://bugs.webkit.org/show_bug.cgi?id=177765
597 Reviewed by Keith Miller.
599 * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
604 * stress/poly-proto-clear-stub.js: Added.
609 2017-10-04 Ryan Haddad <ryanhaddad@apple.com>
611 Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
613 Unreviewed test gardening.
617 2017-10-04 Saam Barati <sbarati@apple.com>
619 3 poly-proto JSC tests timing out on debug after r222827
620 https://bugs.webkit.org/show_bug.cgi?id=177880
622 Rubber stamped by Mark Lam.
624 * microbenchmarks/poly-proto-access.js:
625 * typeProfiler/deltablue-for-of.js:
626 * typeProfiler/getter-richards.js:
628 2017-10-04 Joseph Pecoraro <pecoraro@apple.com>
630 Unreviewed, marking tco-catch.js as a failure after test262 update
631 https://bugs.webkit.org/show_bug.cgi?id=177859
635 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
637 Unreviewed, marking one async iterator test262 test failed
638 https://bugs.webkit.org/show_bug.cgi?id=177859
642 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
644 [Test262] Update Test262 to Oct 4 version
645 https://bugs.webkit.org/show_bug.cgi?id=177859
647 Reviewed by Sam Weinig.
649 Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
650 we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
653 * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
655 * test262/harness/typeCoercion.js:
656 (testCoercibleToIndexZero):
657 (testCoercibleToIndexOne):
658 (testCoercibleToIndexFromIndex):
659 (testNotCoercibleToIndex.testPrimitiveValue):
660 (testNotCoercibleToInteger):
661 (testCoercibleToBigIntZero.testPrimitiveValue):
662 (testCoercibleToBigIntZero):
663 (testCoercibleToBigIntOne.testPrimitiveValue):
664 (testCoercibleToBigIntOne):
665 (testPrimitiveValue):
666 (testCoercibleToBigIntFromBigInt):
667 (testNotCoercibleToBigInt.testPrimitiveValue):
668 (testNotCoercibleToBigInt.testStringValue):
669 (testNotCoercibleToBigInt):
670 * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
671 * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
672 * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
673 * test262/test/built-ins/Array/proto-from-ctor-realm.js:
674 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
675 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
676 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
677 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
678 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
679 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
680 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
681 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
682 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
683 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
684 * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
685 * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
686 (testCoercibleToBigIntZero):
687 (testCoercibleToBigIntOne):
688 (testNotCoercibleToBigInt):
692 (Symbol.toPrimitive): Deleted.
693 * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
694 (testCoercibleToIndexZero):
695 (testCoercibleToIndexOne):
696 (testNotCoercibleToIndex):
698 (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
699 (assert.sameValue.BigInt.asIntN.toString): Deleted.
700 (BigInt.asIntN.Symbol.toPrimitive): Deleted.
701 (BigInt.asIntN.valueOf): Deleted.
702 (BigInt.asIntN.toString): Deleted.
703 * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
704 * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
705 * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
706 (testCoercibleToBigIntZero):
707 (testCoercibleToBigIntOne):
708 (testNotCoercibleToBigInt):
709 * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
710 (testCoercibleToIndexZero):
711 (testCoercibleToIndexOne):
712 (testNotCoercibleToIndex):
713 * test262/test/built-ins/BigInt/asUintN/length.js: Added.
714 * test262/test/built-ins/BigInt/asUintN/name.js: Added.
715 * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
718 * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
719 * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
720 * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
721 * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
722 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
723 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
724 * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
725 * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
726 * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
727 * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
728 * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
729 * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
730 * test262/test/built-ins/Error/proto-from-ctor-realm.js:
731 * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
732 * test262/test/built-ins/Function/call-bind-this-realm-value.js:
733 * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
734 * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
735 * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
736 * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
737 * test262/test/built-ins/Function/proto-from-ctor-realm.js:
738 * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
739 * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
740 * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
741 * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
743 (BigInt.prototype.toJSON):
744 * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
746 * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
747 (BigInt.prototype.toJSON):
748 * test262/test/built-ins/JSON/stringify/bigint.js:
749 * test262/test/built-ins/Map/proto-from-ctor-realm.js:
750 * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
751 * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
752 * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
753 * test262/test/built-ins/Number/proto-from-ctor-realm.js:
754 * test262/test/built-ins/Object/proto-from-ctor.js:
755 * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
756 * test262/test/built-ins/Proxy/apply/arguments-realm.js:
757 * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
758 * test262/test/built-ins/Proxy/construct/arguments-realm.js:
759 * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
760 * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
761 * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
762 * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
763 * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
764 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
765 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
766 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
767 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
768 * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
769 * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
770 * test262/test/built-ins/Proxy/get-fn-realm.js:
771 * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
772 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
773 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
774 * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
775 * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
776 * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
777 * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
778 * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
779 * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
780 * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
781 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
782 * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
785 * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
786 * test262/test/built-ins/RegExp/dotall/with-dotall.js:
787 * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
788 * test262/test/built-ins/RegExp/dotall/without-dotall.js:
789 * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
790 * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
791 * test262/test/built-ins/RegExp/u180e.js: Added.
792 * test262/test/built-ins/Set/proto-from-ctor-realm.js:
793 * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
794 * test262/test/built-ins/String/proto-from-ctor-realm.js:
795 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
796 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
797 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
798 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
799 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
800 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
801 * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
802 * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
803 * test262/test/built-ins/String/prototype/endsWith/length.js:
804 * test262/test/built-ins/String/prototype/endsWith/name.js:
805 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
806 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
807 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
808 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
809 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
810 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
811 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
812 * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
813 * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
814 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
815 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
816 * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
817 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
818 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
819 * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
820 * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
821 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
822 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
823 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
824 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
825 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
826 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
827 * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
828 * test262/test/built-ins/String/prototype/includes/includes.js:
829 * test262/test/built-ins/String/prototype/includes/length.js:
830 * test262/test/built-ins/String/prototype/includes/name.js:
831 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
832 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
833 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
834 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
835 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
836 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
837 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
838 * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
839 * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
840 * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
841 * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
842 * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
843 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
844 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
845 * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
846 * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
847 * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
848 * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
849 * test262/test/built-ins/String/prototype/trim/u180e.js:
850 * test262/test/built-ins/Symbol/for/cross-realm.js:
851 * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
852 * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
853 * test262/test/built-ins/Symbol/iterator/cross-realm.js:
854 * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
855 * test262/test/built-ins/Symbol/match/cross-realm.js:
856 * test262/test/built-ins/Symbol/replace/cross-realm.js:
857 * test262/test/built-ins/Symbol/search/cross-realm.js:
858 * test262/test/built-ins/Symbol/species/cross-realm.js:
859 * test262/test/built-ins/Symbol/split/cross-realm.js:
860 * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
861 * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
862 * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
863 * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
864 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
865 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
866 * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
867 * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
868 * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
869 * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
870 * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
871 * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
872 * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
873 * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
874 * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
875 * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
876 * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
877 * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
878 * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
879 * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
880 * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
881 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
882 * test262/test/language/comments/mongolian-vowel-separator-multi.js:
883 * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
884 * test262/test/language/comments/mongolian-vowel-separator-single.js:
885 * test262/test/language/eval-code/indirect/realm.js:
886 * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
889 * test262/test/language/expressions/call/eval-realm-indirect.js:
890 * test262/test/language/expressions/generators/eval-body-proto-realm.js:
891 * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
892 * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
893 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
894 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
895 * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
896 * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
897 * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
898 * test262/test/language/expressions/greater-than/bigint-and-number.js:
899 * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
900 * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
901 * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
902 * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
903 * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
904 * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
905 * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
906 * test262/test/language/expressions/less-than/bigint-and-number.js:
907 * test262/test/language/expressions/new/non-ctor-err-realm.js:
908 * test262/test/language/expressions/super/realm.js:
909 * test262/test/language/expressions/tagged-template/cache-realm.js:
910 * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
911 * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
912 * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
913 * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
914 * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
915 * test262/test/language/literals/string/mongolian-vowel-separator.js:
916 * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
919 * test262/test/language/statements/for-of/iterator-next-reference.js:
921 (iterator.next): Deleted.
922 (x.of.iterable.): Deleted.
923 (x.of.iterable.get return): Deleted.
924 (x.of.iterable.iterator.next): Deleted.
925 * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
926 * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
927 * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
928 * test262/test/language/white-space/mongolian-vowel-separator.js:
929 * test262/test262-Revision.txt:
931 2017-10-03 Saam Barati <sbarati@apple.com>
933 Implement polymorphic prototypes
934 https://bugs.webkit.org/show_bug.cgi?id=176391
936 Reviewed by Filip Pizlo.
938 * microbenchmarks/poly-proto-access.js: Added.
941 (foo.C.prototype.get bar):
944 * microbenchmarks/poly-proto-put-transition-speed.js: Added.
946 (makePolyProtoObject.foo.C):
947 (makePolyProtoObject.foo):
948 (makePolyProtoObject):
950 * microbenchmarks/poly-proto-setter-speed.js: Added.
952 (makePolyProtoObject.foo.C):
953 (makePolyProtoObject.foo.C.prototype.set p):
954 (makePolyProtoObject.foo):
955 (makePolyProtoObject):
957 * stress/constructor-with-return.js:
958 (i.tests.forEach.Constructor):
960 (tests.forEach.Constructor): Deleted.
961 (tests.forEach): Deleted.
962 * stress/dom-jit-with-poly-proto.js: Added.
964 (makePolyProtoObject.foo.C):
965 (makePolyProtoObject.foo):
966 (makePolyProtoObject):
968 * stress/poly-proto-custom-value-and-accessor.js: Added.
970 (makePolyProtoObject.foo.C):
971 (makePolyProtoObject.foo):
972 (makePolyProtoObject):
975 * stress/poly-proto-intrinsic-getter-correctness.js: Added.
977 (makePolyProtoObject.foo.C):
978 (makePolyProtoObject.foo):
979 (makePolyProtoObject):
981 * stress/poly-proto-miss.js: Added.
982 (makePolyProtoInstanceWithNullPrototype.foo.C):
983 (makePolyProtoInstanceWithNullPrototype.foo):
984 (makePolyProtoInstanceWithNullPrototype):
987 * stress/poly-proto-op-in-caching.js: Added.
989 (makePolyProtoObject.foo.C):
990 (makePolyProtoObject.foo):
991 (makePolyProtoObject):
994 * stress/poly-proto-put-transition.js: Added.
996 (makePolyProtoObject.foo.C):
997 (makePolyProtoObject.foo):
998 (makePolyProtoObject):
1000 (i.obj.__proto__.set p):
1001 * stress/poly-proto-set-prototype.js: Added.
1003 (let.alternateProto.get x):
1004 (let.alternateProto2.get y):
1005 (let.alternateProto2.get x):
1009 * stress/poly-proto-setter.js: Added.
1011 (makePolyProtoObject.foo.C):
1012 (makePolyProtoObject.foo.C.prototype.set p):
1013 (makePolyProtoObject.foo.C.prototype.get p):
1014 (makePolyProtoObject.foo):
1015 (makePolyProtoObject):
1017 * stress/poly-proto-using-inheritance.js: Added.
1020 (foo.C.prototype.get baz):
1025 * stress/primitive-poly-proto.js: Added.
1026 (makePolyProtoInstance.foo.C):
1027 (makePolyProtoInstance.foo):
1028 (makePolyProtoInstance):
1031 * stress/prototype-is-not-js-object.js: Added.
1036 * stress/try-get-by-id-poly-proto.js: Added.
1038 (makePolyProtoObject.foo.C):
1039 (makePolyProtoObject.foo):
1040 (makePolyProtoObject):
1042 (x.__proto__.get bar):
1044 * typeProfiler/overflow.js:
1046 2017-10-03 JF Bastien <jfbastien@apple.com>
1048 WebAssembly: no VM / JS version of everything but Instance
1049 https://bugs.webkit.org/show_bug.cgi?id=177473
1051 Reviewed by Filip Pizlo.
1053 - Exceeding max on memory growth now returns a range error as per
1054 spec. This is a (very minor) breaking change: it used to throw OOM
1055 error. Update the corresponding test.
1057 * wasm/js-api/memory-grow.js:
1059 * wasm/js-api/table.js:
1062 2017-10-03 Ryan Haddad <ryanhaddad@apple.com>
1064 Skip JSC test stress/regress-159779-2.js on debug.
1065 https://bugs.webkit.org/show_bug.cgi?id=177204
1067 Unreviewed test gardening.
1069 * stress/regress-159779-2.js:
1071 2017-10-02 Caio Lima <ticaiolima@gmail.com>
1073 ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
1074 https://bugs.webkit.org/show_bug.cgi?id=175642
1076 Reviewed by Darin Adler.
1078 * ChakraCore/test/Function/apply3.baseline-jsc:
1080 2017-10-01 Commit Queue <commit-queue@webkit.org>
1082 Unreviewed, rolling out r222564.
1083 https://bugs.webkit.org/show_bug.cgi?id=177720
1085 "It regressed JetStream by 2% on iOS caused by a 50%
1086 regression on the bigfib subtest" (Requested by saamyjoon on
1091 "Add Above/Below comparisons for UInt32 patterns"
1092 https://bugs.webkit.org/show_bug.cgi?id=177281
1093 http://trac.webkit.org/changeset/222564
1095 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com>
1097 [DFG] Support ArrayPush with multiple args
1098 https://bugs.webkit.org/show_bug.cgi?id=175823
1100 Reviewed by Saam Barati.
1102 * microbenchmarks/array-push-0.js: Added.
1104 * microbenchmarks/array-push-1.js: Added.
1106 * microbenchmarks/array-push-2.js: Added.
1108 * microbenchmarks/array-push-3.js: Added.
1110 * stress/array-push-multiple-contiguous.js: Added.
1113 * stress/array-push-multiple-double-nan.js: Added.
1116 * stress/array-push-multiple-double.js: Added.
1119 * stress/array-push-multiple-int32.js: Added.
1122 * stress/array-push-multiple-many-contiguous.js: Added.
1125 * stress/array-push-multiple-many-double.js: Added.
1128 * stress/array-push-multiple-many-int32.js: Added.
1131 * stress/array-push-multiple-many-storage.js: Added.
1134 * stress/array-push-multiple-storage.js: Added.
1137 * stress/array-push-with-force-exit.js: Added.
1138 (target.createBuiltin):
1140 2017-09-29 Saam Barati <sbarati@apple.com>
1142 Custom GetterSetterAccessCase does not use the correct slotBase when making call
1143 https://bugs.webkit.org/show_bug.cgi?id=177639
1145 Reviewed by Geoffrey Garen.
1147 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
1153 2017-09-29 Commit Queue <commit-queue@webkit.org>
1155 Unreviewed, rolling out r222563, r222565, and r222581.
1156 https://bugs.webkit.org/show_bug.cgi?id=177675
1158 "It causes a crash when playing youtube videos" (Requested by
1159 saamyjoon on #webkit).
1161 Reverted changesets:
1163 "[DFG] Support ArrayPush with multiple args"
1164 https://bugs.webkit.org/show_bug.cgi?id=175823
1165 http://trac.webkit.org/changeset/222563
1167 "Unreviewed, build fix after r222563"
1168 https://bugs.webkit.org/show_bug.cgi?id=175823
1169 http://trac.webkit.org/changeset/222565
1171 "Unreviewed, fix x86 breaking due to exhausted registers"
1172 https://bugs.webkit.org/show_bug.cgi?id=175823
1173 http://trac.webkit.org/changeset/222581
1175 2017-09-28 Mark Lam <mark.lam@apple.com>
1177 test262: Unexpected passes after r222617 and r222618.
1178 https://bugs.webkit.org/show_bug.cgi?id=177622
1179 <rdar://problem/34725960>
1181 Reviewed by Saam Barati.
1183 Update test262.yaml for tests that are now passing.
1187 2017-09-27 Michael Saboff <msaboff@apple.com>
1189 REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
1190 https://bugs.webkit.org/show_bug.cgi?id=177570
1192 Reviewed by Filip Pizlo.
1194 New regression test.
1196 * stress/regress-177570.js: Added.
1198 2017-09-28 Michael Saboff <msaboff@apple.com>
1200 Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
1201 https://bugs.webkit.org/show_bug.cgi?id=177423
1203 Reviewed by Mark Lam.
1205 Updated regression test.
1207 * stress/regress-177423.js:
1210 2017-09-27 Mark Lam <mark.lam@apple.com>
1212 JSArray::canFastCopy() should fail if the source and destination arrays are the same.
1213 https://bugs.webkit.org/show_bug.cgi?id=177584
1214 <rdar://problem/34463903>
1216 Reviewed by Saam Barati.
1218 * stress/regress-177584.js: Added.
1220 (Array.prototype.Symbol.species):
1222 2017-09-27 Saam Barati <sbarati@apple.com>
1224 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
1225 https://bugs.webkit.org/show_bug.cgi?id=177523
1227 Reviewed by Mark Lam.
1229 * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
1232 (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
1234 (i.Test.prototype.propName):
1236 2017-09-27 Mark Lam <mark.lam@apple.com>
1238 Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
1239 https://bugs.webkit.org/show_bug.cgi?id=177423
1240 <rdar://problem/34621320>
1242 Reviewed by Keith Miller.
1244 * stress/regress-177423.js: Added.
1246 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com>
1248 Add Above/Below comparisons for UInt32 patterns
1249 https://bugs.webkit.org/show_bug.cgi?id=177281
1251 Reviewed by Saam Barati.
1253 * stress/uint32-comparison-jump.js: Added.
1263 * stress/uint32-comparison.js: Added.
1274 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com>
1276 [DFG] Support ArrayPush with multiple args
1277 https://bugs.webkit.org/show_bug.cgi?id=175823
1279 Reviewed by Saam Barati.
1281 * microbenchmarks/array-push-0.js: Added.
1283 * microbenchmarks/array-push-1.js: Added.
1285 * microbenchmarks/array-push-2.js: Added.
1287 * microbenchmarks/array-push-3.js: Added.
1289 * stress/array-push-multiple-contiguous.js: Added.
1292 * stress/array-push-multiple-double-nan.js: Added.
1295 * stress/array-push-multiple-double.js: Added.
1298 * stress/array-push-multiple-int32.js: Added.
1301 * stress/array-push-multiple-many-contiguous.js: Added.
1304 * stress/array-push-multiple-many-double.js: Added.
1307 * stress/array-push-multiple-many-int32.js: Added.
1310 * stress/array-push-multiple-many-storage.js: Added.
1313 * stress/array-push-multiple-storage.js: Added.
1317 2017-09-26 Commit Queue <commit-queue@webkit.org>
1319 Unreviewed, rolling out r222518.
1320 https://bugs.webkit.org/show_bug.cgi?id=177507
1322 Break the High Sierra build (Requested by yusukesuzuki on
1327 "Add Above/Below comparisons for UInt32 patterns"
1328 https://bugs.webkit.org/show_bug.cgi?id=177281
1329 http://trac.webkit.org/changeset/222518
1331 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com>
1333 Add Above/Below comparisons for UInt32 patterns
1334 https://bugs.webkit.org/show_bug.cgi?id=177281
1336 Reviewed by Saam Barati.
1338 * stress/uint32-comparison-jump.js: Added.
1348 * stress/uint32-comparison.js: Added.
1359 2017-09-23 Keith Miller <keith_miller@apple.com>
1361 Fix infinite looping test262 test
1362 https://bugs.webkit.org/show_bug.cgi?id=177412
1364 Reviewed by Yusuke Suzuki.
1366 This test was poorly designed since failing it would cause the vm
1367 to inifinite loop. I've fixed it locally and will fix it on github pending
1368 the results of next weeks tc39 meeting.
1371 * test262/test/language/statements/for-of/iterator-next-reference.js:
1373 2017-09-23 Joseph Pecoraro <pecoraro@apple.com>
1375 test262: $.agent became $262.agent in test262 update
1376 https://bugs.webkit.org/show_bug.cgi?id=177407
1378 Reviewed by Yusuke Suzuki.
1381 ~320 tests pass now that we correctly make $262 available.
1383 2017-09-22 Keith Miller <keith_miller@apple.com>
1385 Speculatively change iteration protocall to use the same next function
1386 https://bugs.webkit.org/show_bug.cgi?id=175653
1388 Reviewed by Saam Barati.
1390 Change test to match the new iteration behavior.
1392 * stress/spread-optimized-properly.js:
1394 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com>
1396 [DFG][FTL] Profile array vector length for array allocation
1397 https://bugs.webkit.org/show_bug.cgi?id=177051
1399 Reviewed by Saam Barati.
1401 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1404 2017-09-22 Commit Queue <commit-queue@webkit.org>
1406 Unreviewed, rolling out r222380.
1407 https://bugs.webkit.org/show_bug.cgi?id=177352
1409 Octane/box2d shows 8% regression (Requested by yusukesuzuki on
1414 "[DFG][FTL] Profile array vector length for array allocation"
1415 https://bugs.webkit.org/show_bug.cgi?id=177051
1416 http://trac.webkit.org/changeset/222380
1418 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com>
1420 [DFG][FTL] Profile array vector length for array allocation
1421 https://bugs.webkit.org/show_bug.cgi?id=177051
1423 Reviewed by Saam Barati.
1425 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
1428 2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
1430 Skip new hanging test262 tests.
1431 https://bugs.webkit.org/show_bug.cgi?id=177326
1433 Unreviewed test gardening.
1437 2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
1439 Mark 6 test262 tests as passing.
1440 https://bugs.webkit.org/show_bug.cgi?id=177307
1442 Unreviewed test gardening.
1446 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1448 Unreviewed follow-up to r222311.
1450 * test262/harness/sta.js:
1451 * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
1452 * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
1453 * test262/test/built-ins/Array/from/calling-from-valid-2.js:
1454 * test262/test/built-ins/Array/from/elements-added-after.js:
1455 * test262/test/built-ins/Array/from/elements-deleted-after.js:
1456 * test262/test/built-ins/Array/from/elements-updated-after.js:
1457 * test262/test/built-ins/Array/from/from-array.js:
1458 * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
1459 * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
1460 * test262/test/built-ins/Array/from/source-array-boundary.js:
1461 * test262/test/built-ins/Array/from/source-object-constructor.js:
1462 * test262/test/built-ins/Array/from/source-object-iterator-1.js:
1463 * test262/test/built-ins/Array/from/source-object-iterator-2.js:
1464 * test262/test/built-ins/Array/from/source-object-length.js:
1465 * test262/test/built-ins/Array/from/source-object-missing.js:
1466 * test262/test/built-ins/Array/from/source-object-without.js:
1467 * test262/test/built-ins/Array/from/this-null.js:
1468 * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
1469 * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
1470 * test262/test/language/literals/numeric/7.8.3-1gs.js:
1471 * test262/test/language/literals/numeric/7.8.3-2gs.js:
1472 * test262/test/language/literals/numeric/7.8.3-3gs.js:
1473 * test262/test/language/literals/regexp/7.8.5-1gs.js:
1474 * test262/test/language/literals/string/7.8.4-1gs.js:
1475 Fix some files that I failed to update when I applied my patch.
1477 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
1479 Update test262 tests
1480 https://bugs.webkit.org/show_bug.cgi?id=177220
1482 Reviewed by Saam Barati and Yusuke Suzuki.
1485 * test262/test262-Revision.txt:
1486 New rebaselined expectations for all tests.
1491 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
1493 [DFG] Remove ToThis more aggressively
1494 https://bugs.webkit.org/show_bug.cgi?id=177056
1496 Reviewed by Saam Barati.
1498 * stress/generator-with-this-strict.js: Added.
1502 * stress/generator-with-this.js: Added.
1507 2017-09-17 Michael Saboff <msaboff@apple.com>
1509 https://bugs.webkit.org/show_bug.cgi?id=177038
1510 Add an option to run-jsc-stress-tests to limit tests variations to a basic set
1512 Reviewed by JF Bastien.
1514 * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
1515 as it dies using too much memory.
1517 2017-09-15 Saam Barati <sbarati@apple.com>
1519 Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
1520 https://bugs.webkit.org/show_bug.cgi?id=176981
1522 Reviewed by Yusuke Suzuki.
1524 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
1528 (const.bar.createBuiltin):
1530 2017-09-14 Saam Barati <sbarati@apple.com>
1532 It should be valid to exit before each set when doing arity fixup when inlining
1533 https://bugs.webkit.org/show_bug.cgi?id=176948
1535 Reviewed by Keith Miller.
1537 * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
1542 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com>
1544 [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
1545 https://bugs.webkit.org/show_bug.cgi?id=176867
1547 Reviewed by Sam Weinig.
1549 * microbenchmarks/object-get-own-property-symbols.js: Added.
1552 2017-09-13 Mark Lam <mark.lam@apple.com>
1554 Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
1555 https://bugs.webkit.org/show_bug.cgi?id=176888
1556 <rdar://problem/34381832>
1560 * stress/op_mod-ConstVar.js:
1561 * stress/op_mod-VarConst.js:
1562 * stress/op_mod-VarVar.js:
1564 2017-09-13 Ryan Haddad <ryanhaddad@apple.com>
1566 Skip 3 op_mod tests on Debug JSC bots.
1567 https://bugs.webkit.org/show_bug.cgi?id=176630
1569 Unreviewed test gardening.
1571 * stress/op_mod-ConstVar.js:
1572 * stress/op_mod-VarConst.js:
1573 * stress/op_mod-VarVar.js:
1575 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com>
1577 [JSC] Fix Array allocation in Object.keys
1578 https://bugs.webkit.org/show_bug.cgi?id=176826
1580 Reviewed by Saam Barati.
1582 * stress/object-own-property-keys.js: Added.
1585 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
1587 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1588 https://bugs.webkit.org/show_bug.cgi?id=176010
1590 Reviewed by Filip Pizlo.
1592 * microbenchmarks/weak-map-key.js: Added.
1595 (let.start.Date.now):
1597 2017-09-12 Mark Lam <mark.lam@apple.com>
1599 REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
1600 https://bugs.webkit.org/show_bug.cgi?id=176630
1602 Reviewed by JF Bastien.
1604 Debug builds are just slow, and these tests do a lot. They pass when I run them
1605 locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as
1606 a speculative fix for the bots that are seeing these fail.
1608 I also undid the skipping of the op_mod tests for debug builds.
1610 * stress/op_div-ConstVar.js:
1611 * stress/op_div-VarConst.js:
1612 * stress/op_div-VarVar.js:
1613 * stress/op_mod-ConstVar.js:
1614 * stress/op_mod-VarConst.js:
1615 * stress/op_mod-VarVar.js:
1617 2017-09-12 Ryan Haddad <ryanhaddad@apple.com>
1619 Skip stress/value-to-boolean.js on Debug bots.
1620 https://bugs.webkit.org/show_bug.cgi?id=176787
1622 Unreviewed test gardening.
1624 * stress/value-to-boolean.js:
1626 2017-09-11 Mark Lam <mark.lam@apple.com>
1628 Change test expectation for test262/test/language/statements/try/tco-catch.js
1629 https://bugs.webkit.org/show_bug.cgi?id=176749
1631 Rubber stamped by Keith Miller.
1633 It's been failing since at least r221821. I'm changing the test expectation to
1634 fail to green the bots while I investigate some more.
1638 2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
1640 Unreviewed, rolling out r221854.
1642 The test added with this change fails on 32-bit JSC bots.
1646 "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
1647 https://bugs.webkit.org/show_bug.cgi?id=176010
1648 http://trac.webkit.org/changeset/221854
1650 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
1652 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
1653 https://bugs.webkit.org/show_bug.cgi?id=176010
1655 Reviewed by Filip Pizlo.
1657 * microbenchmarks/weak-map-key.js: Added.
1660 (let.start.Date.now):
1662 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com>
1664 [JSC] Optimize Object.keys by using careful array allocation
1665 https://bugs.webkit.org/show_bug.cgi?id=176654
1667 Reviewed by Darin Adler.
1669 * microbenchmarks/object-keys.js: Added.
1672 2017-09-09 Filip Pizlo <fpizlo@apple.com>
1674 Error should compute .stack and friends lazily
1675 https://bugs.webkit.org/show_bug.cgi?id=176645
1677 Reviewed by Saam Barati.
1679 * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
1680 * microbenchmarks/new-error.js: Added.
1681 * microbenchmarks/throw.js: Added.
1683 2017-09-09 Mark Lam <mark.lam@apple.com>
1685 [Re-landing] Use JIT probes for DFG OSR exit.
1686 https://bugs.webkit.org/show_bug.cgi?id=175144
1687 <rdar://problem/33437050>
1689 Not reviewed. Original patch reviewed by Saam Barati.
1691 Disable these tests for debug builds because they run too slow with the new OSR exit.
1693 * stress/op_mod-ConstVar.js:
1694 * stress/op_mod-VarConst.js:
1695 * stress/op_mod-VarVar.js:
1697 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1699 [DFG] NewArrayWithSize(size)'s size does not care negative zero
1700 https://bugs.webkit.org/show_bug.cgi?id=176300
1702 Reviewed by Saam Barati.
1704 * stress/new-array-with-size-div.js: Added.
1709 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1711 [DFG] PutByVal with Array::Generic is too generic
1712 https://bugs.webkit.org/show_bug.cgi?id=176345
1714 Reviewed by Filip Pizlo.
1716 * stress/object-assign-symbols.js: Added.
1719 * stress/object-assign.js: Added.
1722 (i.shouldBe.JSON.stringify.test):
1724 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
1726 [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
1727 https://bugs.webkit.org/show_bug.cgi?id=176590
1729 Reviewed by Saam Barati.
1731 * microbenchmarks/object-iterate-symbols.js: Added.
1733 * microbenchmarks/object-iterate.js: Added.
1735 * stress/object-iterate-symbols.js: Added.
1738 * stress/object-iterate.js: Added.
1742 2017-09-07 Per Arne Vollan <pvollan@apple.com>
1744 [Win32] 10 JSC stress tests are failing.
1745 https://bugs.webkit.org/show_bug.cgi?id=176538
1747 Reviewed by Mark Lam.
1749 Skip tests on Windows to make the bots green.
1752 * stress/date-relaxed.js:
1754 2017-09-06 Mark Lam <mark.lam@apple.com>
1756 constructGenericTypedArrayViewWithArguments() is missing an exception check.
1757 https://bugs.webkit.org/show_bug.cgi?id=176485
1758 <rdar://problem/33898874>
1760 Reviewed by Keith Miller.
1762 * stress/regress-176485.js: Added.
1764 2017-09-05 Saam Barati <sbarati@apple.com>
1766 isNotCellSpeculation is wrong with respect to SpecEmpty
1767 https://bugs.webkit.org/show_bug.cgi?id=176429
1769 Reviewed by Michael Saboff.
1771 * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
1774 2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
1776 test262: Completion values for control flow do not match the spec
1777 https://bugs.webkit.org/show_bug.cgi?id=171265
1779 Reviewed by Saam Barati.
1781 * stress/completion-value.js:
1782 Condensed test for completion values in top level statements.
1784 * stress/super-get-by-id.js:
1785 ClassDeclaration when evaled no longer produce values. Convert
1786 these to ClassExpressions so they produce the class value.
1788 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
1789 This is a progression for currect spec behavior.
1791 * mozilla/mozilla-tests.yaml:
1792 This test is now outdated, so mark it as failing for that reason.
1795 Passing all "cptn" completion value tests.
1797 2017-09-04 Saam Barati <sbarati@apple.com>
1799 typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
1800 https://bugs.webkit.org/show_bug.cgi?id=176317
1802 Reviewed by Keith Miller.
1804 * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
1807 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
1809 [DFG][FTL] Efficiently execute number#toString()
1810 https://bugs.webkit.org/show_bug.cgi?id=170007
1812 Reviewed by Keith Miller.
1814 * microbenchmarks/number-to-string-strength-reduction.js: Added.
1816 * microbenchmarks/number-to-string-with-radix-10.js: Added.
1818 * microbenchmarks/number-to-string-with-radix-cse.js: Added.
1820 * microbenchmarks/number-to-string-with-radix.js: Added.
1822 * stress/number-to-string-strength-reduction.js: Added.
1825 * stress/number-to-string-with-radix-10.js: Added.
1828 * stress/number-to-string-with-radix-cse.js: Added.
1831 * stress/number-to-string-with-radix-invalid.js: Added.
1833 * stress/number-to-string-with-radix-watchpoint.js: Added.
1836 (i.i.1e3.Number.prototype.toString):
1837 * stress/number-to-string-with-radix.js: Added.
1841 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com>
1843 [DFG] Relax arity requirement
1844 https://bugs.webkit.org/show_bug.cgi?id=175523
1846 Reviewed by Saam Barati.
1848 * stress/arity-mismatch-arguments-length.js: Added.
1852 * stress/arity-mismatch-get-argument.js: Added.
1854 (builtin.createBuiltin):
1856 * stress/arity-mismatch-inlining-extra-slots.js: Added.
1860 * stress/arity-mismatch-inlining.js: Added.
1864 * stress/arity-mismatch-rest.js: Added.
1870 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
1872 [JSC] Fix "name" and "length" of Proxy revoke function
1873 https://bugs.webkit.org/show_bug.cgi?id=176155
1875 Reviewed by Mark Lam.
1879 2017-08-31 Saam Barati <sbarati@apple.com>
1881 Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
1882 https://bugs.webkit.org/show_bug.cgi?id=176206
1884 Reviewed by Keith Miller.
1886 * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
1891 2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
1893 Skip two slow JSC tests after r221422.
1895 Unreviewed test gardening.
1897 * stress/regexp-prototype-match-on-too-long-rope.js:
1898 * stress/regexp-prototype-test-on-too-long-rope.js:
1900 2017-08-31 Filip Pizlo <fpizlo@apple.com>
1902 Unreviewed, skipping slow tests.
1904 These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
1905 work differently now.
1907 * stress/regexp-prototype-exec-on-too-long-rope.js:
1908 * stress/string-prototype-charCodeAt-on-too-long-rope.js:
1910 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
1912 [JSC] Use reifying system for "name" property of builtin JSFunction
1913 https://bugs.webkit.org/show_bug.cgi?id=175260
1915 Reviewed by Saam Barati.
1917 * stress/accessors-get-set-prefix.js:
1918 * stress/builtin-function-name.js: Added.
1921 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
1922 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
1923 * stress/private-name-as-anonymous-builtin.js: Added.
1927 2017-08-30 Saam Barati <sbarati@apple.com>
1929 Unreviewed. Make test stop printing.
1931 * microbenchmarks/fake-iterators-that-throw-when-finished.js:
1933 2017-08-30 Ryan Haddad <ryanhaddad@apple.com>
1935 Unreviewed, rolling out r221327.
1937 This change caused test262 failures.
1941 "[JSC] Use reifying system for "name" property of builtin
1943 https://bugs.webkit.org/show_bug.cgi?id=175260
1944 http://trac.webkit.org/changeset/221327
1946 2017-08-30 Saam Barati <sbarati@apple.com>
1948 semicolon is being interpreted as an = in the LiteralParser
1949 https://bugs.webkit.org/show_bug.cgi?id=176114
1951 Reviewed by Oliver Hunt.
1953 * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
1954 * stress/resources/literal-parser-test-case.js: Added.
1956 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com>
1958 [ESNext] Async iteration - Implement async iteration statement: for-await-of
1959 https://bugs.webkit.org/show_bug.cgi?id=166698
1961 Reviewed by Yusuke Suzuki.
1963 * stress/async-iteration-for-await-of-syntax.js: Added.
1967 (checkSimpleAsyncGeneratorSloppyMode):
1968 (checkSimpleAsyncGeneratorStrictMode):
1969 (checkNestedAsyncGenerators):
1970 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
1971 * stress/async-iteration-for-await-of.js: Added.
1977 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com>
1979 [JSC] Use reifying system for "name" property of builtin JSFunction
1980 https://bugs.webkit.org/show_bug.cgi?id=175260
1982 Reviewed by Saam Barati.
1984 * stress/accessors-get-set-prefix.js:
1985 * stress/builtin-function-name.js: Added.
1988 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
1989 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
1991 2017-08-25 Saam Barati <sbarati@apple.com>
1993 Support compiling catch in the DFG
1994 https://bugs.webkit.org/show_bug.cgi?id=174590
1995 <rdar://problem/34047845>
1997 Reviewed by Filip Pizlo.
1999 * microbenchmarks/delta-blue-try-catch.js: Added.
2002 (OrderedCollection):
2003 (OrderedCollection.prototype.add):
2004 (OrderedCollection.prototype.at):
2005 (OrderedCollection.prototype.size):
2006 (OrderedCollection.prototype.removeFirst):
2007 (OrderedCollection.prototype.remove):
2009 (Strength.stronger):
2011 (Strength.weakestOf):
2012 (Strength.strongest):
2013 (Strength.prototype.nextWeaker):
2015 (Constraint.prototype.addConstraint):
2016 (Constraint.prototype.satisfy):
2017 (Constraint.prototype.destroyConstraint):
2018 (Constraint.prototype.isInput):
2020 (UnaryConstraint.prototype.addToGraph):
2021 (UnaryConstraint.prototype.chooseMethod):
2022 (UnaryConstraint.prototype.isSatisfied):
2023 (UnaryConstraint.prototype.markInputs):
2024 (UnaryConstraint.prototype.output):
2025 (UnaryConstraint.prototype.recalculate):
2026 (UnaryConstraint.prototype.markUnsatisfied):
2027 (UnaryConstraint.prototype.inputsKnown):
2028 (UnaryConstraint.prototype.removeFromGraph):
2030 (StayConstraint.prototype.execute):
2031 (EditConstraint.prototype.isInput):
2032 (EditConstraint.prototype.execute):
2034 (BinaryConstraint.prototype.chooseMethod):
2035 (BinaryConstraint.prototype.addToGraph):
2036 (BinaryConstraint.prototype.isSatisfied):
2037 (BinaryConstraint.prototype.markInputs):
2038 (BinaryConstraint.prototype.input):
2039 (BinaryConstraint.prototype.output):
2040 (BinaryConstraint.prototype.recalculate):
2041 (BinaryConstraint.prototype.markUnsatisfied):
2042 (BinaryConstraint.prototype.inputsKnown):
2043 (BinaryConstraint.prototype.removeFromGraph):
2045 (ScaleConstraint.prototype.addToGraph):
2046 (ScaleConstraint.prototype.removeFromGraph):
2047 (ScaleConstraint.prototype.markInputs):
2048 (ScaleConstraint.prototype.execute):
2049 (ScaleConstraint.prototype.recalculate):
2050 (EqualityConstraint):
2051 (EqualityConstraint.prototype.execute):
2053 (Variable.prototype.addConstraint):
2054 (Variable.prototype.removeConstraint):
2056 (Planner.prototype.incrementalAdd):
2057 (Planner.prototype.incrementalRemove):
2058 (Planner.prototype.newMark):
2059 (Planner.prototype.makePlan):
2060 (Planner.prototype.extractPlanFromConstraints):
2061 (Planner.prototype.addPropagate):
2062 (Planner.prototype.removePropagateFrom):
2063 (Planner.prototype.addConstraintsConsumingTo):
2065 (Plan.prototype.addConstraint):
2066 (Plan.prototype.size):
2067 (Plan.prototype.constraintAt):
2068 (Plan.prototype.execute):
2073 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2076 (Numbers.prototype.next):
2078 (return.Transpose.prototype.next):
2084 * microbenchmarks/try-catch-word-count.js: Added.
2099 (A.prototype.getValue):
2100 (B.prototype.getParentValue):
2110 (set delete.set has.set add):
2111 * stress/catch-set-argument-speculation-failure.js: Added.
2119 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2125 2017-08-24 Commit Queue <commit-queue@webkit.org>
2127 Unreviewed, rolling out r221119, r221124, and r221143.
2128 https://bugs.webkit.org/show_bug.cgi?id=175973
2130 "I think it regressed JSBench by 20%" (Requested by saamyjoon
2133 Reverted changesets:
2135 "Support compiling catch in the DFG"
2136 https://bugs.webkit.org/show_bug.cgi?id=174590
2137 http://trac.webkit.org/changeset/221119
2139 "Unreviewed, build fix in GTK port"
2140 https://bugs.webkit.org/show_bug.cgi?id=174590
2141 http://trac.webkit.org/changeset/221124
2143 "DFG::JITCode::osrEntry should get sorted since we perform a
2144 binary search on it"
2145 https://bugs.webkit.org/show_bug.cgi?id=175893
2146 http://trac.webkit.org/changeset/221143
2148 2017-08-24 Michael Saboff <msaboff@apple.com>
2150 Add support for RegExp "dotAll" flag
2151 https://bugs.webkit.org/show_bug.cgi?id=175924
2153 Reviewed by Keith Miller.
2155 Updated tests for new dotAll ('s' flag) changes.
2157 * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
2158 * stress/static-getter-in-names.js:
2160 2017-08-24 Mark Lam <mark.lam@apple.com>
2162 Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
2163 https://bugs.webkit.org/show_bug.cgi?id=175940
2164 <rdar://problem/29003921>
2166 Reviewed by Saam Barati.
2168 * stress/regress-164081.js: Added.
2172 2017-08-24 Ryan Haddad <ryanhaddad@apple.com>
2174 Skip flaky JSC test stress/test-finally.js.
2175 https://bugs.webkit.org/show_bug.cgi?id=160283
2177 Unreviewed test gardening.
2179 * stress/test-finally.js:
2181 2017-08-23 Saam Barati <sbarati@apple.com>
2183 Support compiling catch in the DFG
2184 https://bugs.webkit.org/show_bug.cgi?id=174590
2186 Reviewed by Filip Pizlo.
2188 * microbenchmarks/delta-blue-try-catch.js: Added.
2191 (OrderedCollection):
2192 (OrderedCollection.prototype.add):
2193 (OrderedCollection.prototype.at):
2194 (OrderedCollection.prototype.size):
2195 (OrderedCollection.prototype.removeFirst):
2196 (OrderedCollection.prototype.remove):
2198 (Strength.stronger):
2200 (Strength.weakestOf):
2201 (Strength.strongest):
2202 (Strength.prototype.nextWeaker):
2204 (Constraint.prototype.addConstraint):
2205 (Constraint.prototype.satisfy):
2206 (Constraint.prototype.destroyConstraint):
2207 (Constraint.prototype.isInput):
2209 (UnaryConstraint.prototype.addToGraph):
2210 (UnaryConstraint.prototype.chooseMethod):
2211 (UnaryConstraint.prototype.isSatisfied):
2212 (UnaryConstraint.prototype.markInputs):
2213 (UnaryConstraint.prototype.output):
2214 (UnaryConstraint.prototype.recalculate):
2215 (UnaryConstraint.prototype.markUnsatisfied):
2216 (UnaryConstraint.prototype.inputsKnown):
2217 (UnaryConstraint.prototype.removeFromGraph):
2219 (StayConstraint.prototype.execute):
2220 (EditConstraint.prototype.isInput):
2221 (EditConstraint.prototype.execute):
2223 (BinaryConstraint.prototype.chooseMethod):
2224 (BinaryConstraint.prototype.addToGraph):
2225 (BinaryConstraint.prototype.isSatisfied):
2226 (BinaryConstraint.prototype.markInputs):
2227 (BinaryConstraint.prototype.input):
2228 (BinaryConstraint.prototype.output):
2229 (BinaryConstraint.prototype.recalculate):
2230 (BinaryConstraint.prototype.markUnsatisfied):
2231 (BinaryConstraint.prototype.inputsKnown):
2232 (BinaryConstraint.prototype.removeFromGraph):
2234 (ScaleConstraint.prototype.addToGraph):
2235 (ScaleConstraint.prototype.removeFromGraph):
2236 (ScaleConstraint.prototype.markInputs):
2237 (ScaleConstraint.prototype.execute):
2238 (ScaleConstraint.prototype.recalculate):
2239 (EqualityConstraint):
2240 (EqualityConstraint.prototype.execute):
2242 (Variable.prototype.addConstraint):
2243 (Variable.prototype.removeConstraint):
2245 (Planner.prototype.incrementalAdd):
2246 (Planner.prototype.incrementalRemove):
2247 (Planner.prototype.newMark):
2248 (Planner.prototype.makePlan):
2249 (Planner.prototype.extractPlanFromConstraints):
2250 (Planner.prototype.addPropagate):
2251 (Planner.prototype.removePropagateFrom):
2252 (Planner.prototype.addConstraintsConsumingTo):
2254 (Plan.prototype.addConstraint):
2255 (Plan.prototype.size):
2256 (Plan.prototype.constraintAt):
2257 (Plan.prototype.execute):
2262 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2265 (Numbers.prototype.next):
2267 (return.Transpose.prototype.next):
2273 * microbenchmarks/try-catch-word-count.js: Added.
2288 (A.prototype.getValue):
2289 (B.prototype.getParentValue):
2299 (set delete.set has.set add):
2300 * stress/catch-set-argument-speculation-failure.js: Added.
2308 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2314 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
2316 [JSC] Optimize Map iteration with intrinsic
2317 https://bugs.webkit.org/show_bug.cgi?id=174355
2319 Reviewed by Saam Barati.
2321 * stress/map-iterator-result-should-have-expected-shape.js: Added.
2324 * stress/set-iterator-result-should-have-expected-shape.js: Added.
2326 (throw.new.Error.let.iterator.set Symbol):
2327 (throw.new.Error.set add):
2328 (let.iterator.set Symbol):
2330 2017-08-23 Robin Morisset <rmorisset@apple.com>
2332 Add a micro-benchmark for checking that accessing a variable within a 'with'
2333 block does not automatically prevent type prediction.
2334 https://bugs.webkit.org/show_bug.cgi?id=175738
2336 Reviewed by Saam Barati.
2338 * stress/with_and_arith.js: Added.
2341 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com>
2343 [ESNext] Async iteration - Implement Async Generator - runtime
2344 https://bugs.webkit.org/show_bug.cgi?id=175240
2346 Reviewed by Yusuke Suzuki.
2348 * stress/async-iteration-async-from-sync.js: Added.
2352 (this.fullfilledDone):
2357 (const.assertLogger):
2358 (const.getPromise.promiseHolder.return.new.Promise):
2364 * stress/async-iteration-basic.js: Added.
2368 (this.fullfilledDone):
2373 (const.assertLogger):
2374 (const.getPromise.promiseHolder.return.new.Promise):
2376 (iterator.next.then):
2381 (A.prototype.async.foo):
2382 (A.prototype.async.boo):
2384 (asyncGenExp.async):
2397 * stress/async-iteration-evaluation.js: Added.
2401 * stress/async-iteration-syntax.js:
2402 * stress/async-iteration-yield-promise.js: Added.
2406 (this.fullfilledDone):
2411 (const.assertLogger):
2412 (const.getPromise.promiseHolder.return.new.Promise):
2416 * stress/async-iteration-yield-star-interface.js: Added.
2418 (const.getPromise.promiseHolder.return.new.Promise):
2421 (this.fullfilledDone):
2427 (const.assertLogger):
2428 (let.asyncIter.Symbol.asyncIterator):
2429 (let.asyncIter.next):
2430 (let.asyncIter.throw):
2431 (let.asyncIter.return):
2433 (asyncIter.Symbol.asyncIterator):
2440 * stress/async-iteration-yield-star.js: Added.
2444 (this.fullfilledDone):
2450 (const.assertLogger):
2451 (const.getPromise.promiseHolder.return.new.Promise):
2460 (let.asyncIter.Symbol.asyncIterator):
2461 (let.asyncIter.next):
2462 (let.asyncIter.throw):
2463 (let.asyncIter.return):
2468 2017-08-23 JF Bastien <jfbastien@apple.com>
2470 Fix printing in test
2472 Unreviewed: fixing verbosity, shouldn't have been there.
2474 * wasm/regress/175693.js:
2478 2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
2480 Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
2481 https://bugs.webkit.org/show_bug.cgi?id=172543
2483 Unreviewed test gardening.
2485 * microbenchmarks/generator-with-several-types.js:
2487 2017-08-17 JF Bastien <jfbastien@apple.com>
2489 WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
2490 https://bugs.webkit.org/show_bug.cgi?id=175693
2491 <rdar://problem/33952443>
2493 Reviewed by Saam Barati.
2495 Add a regression directory for WebAssembly tests.
2498 * wasm/regress/175693.js: Added.
2500 (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
2502 * wasm/regress/175693.wasm: Added.
2504 2017-08-15 Robin Morisset <rmorisset@apple.com>
2506 Support the 'with' keyword in FTL.
2507 https://bugs.webkit.org/show_bug.cgi?id=175585
2509 Reviewed by Saam Barati.
2511 Also improve the JSTest/stress/with.js file to test
2512 what happens when non-objects are passed to with.
2519 2017-08-14 Keith Miller <keith_miller@apple.com>
2521 Add testing tool to lie to the DFG about profiles
2522 https://bugs.webkit.org/show_bug.cgi?id=175487
2524 Reviewed by Saam Barati.
2526 * stress/compare-eq-incomplete-profile.js: Added.
2527 (const.test.createBuiltin):
2529 2017-08-14 Robin Morisset <rmorisset@apple.com>
2531 Support the with keyword in DFG
2532 https://bugs.webkit.org/show_bug.cgi?id=175470
2534 Reviewed by Saam Barati.
2536 Added a new stress-test for the 'with' keyword, that caught a bug in a
2537 previous version of this code.
2539 * stress/with.js: Added.
2542 2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
2544 Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
2545 https://bugs.webkit.org/show_bug.cgi?id=175544
2547 Unreviewed test gardening.
2551 2017-08-09 Caitlin Potter <caitp@igalia.com>
2553 Early error on ANY operator before new.target
2554 https://bugs.webkit.org/show_bug.cgi?id=157970
2556 Reviewed by Saam Barati.
2558 Instead of throwing if any unary operator precedes new.target, only
2559 throw if the unary operator updates the reference.
2561 The following become legal in JSC:
2571 All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
2573 * stress/new-target-syntax-errors.js:
2574 * stress/new-target.js:
2576 2017-08-09 Ryan Haddad <ryanhaddad@apple.com>
2578 Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
2579 https://bugs.webkit.org/show_bug.cgi?id=175255
2581 Unreviewed test gardening.
2583 * stress/regress-169783.js:
2584 * wasm/stress/oom.js:
2586 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com>
2588 REGRESSION: 2 test262/test/language/statements/async-function failures
2589 https://bugs.webkit.org/show_bug.cgi?id=175334
2591 Reviewed by Yusuke Suzuki.
2593 Add @skip parameters to tests, and remove test for async iterator from
2594 async await syntax test because it is already covered by async-iterator-syntax.js
2596 * stress/async-await-syntax.js:
2597 * stress/async-iteration-syntax.js:
2599 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com>
2601 Unreviewed, gardening test262 for Promise resolve / reject function length
2602 https://bugs.webkit.org/show_bug.cgi?id=175333
2606 2017-08-07 Robin Morisset <rmorisset@apple.com>
2608 GetOwnProperty of TypedArray indexed fields is wrongly configurable
2609 https://bugs.webkit.org/show_bug.cgi?id=175307
2611 Reviewed by Saam Barati.
2613 * stress/typedarray-getownproperty-not-configurable.js: Added.
2617 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com>
2619 Promise resolve and reject function should have length = 1
2620 https://bugs.webkit.org/show_bug.cgi?id=175242
2622 Reviewed by Saam Barati.
2624 * stress/builtin-function-length.js: Added.
2627 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2628 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2630 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com>
2632 [ESNext] Async iteration - Implement Async Generator - parser
2633 https://bugs.webkit.org/show_bug.cgi?id=175210
2635 Reviewed by Yusuke Suzuki.
2637 * stress/async-await-syntax.js:
2638 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
2639 * stress/async-iteration-syntax.js: Added.
2643 (checkSimpleAsyncGeneratorSloppyMode):
2644 (checkSimpleAsyncGeneratorStrictMode):
2645 (checkNestedAsyncGenerators):
2646 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2647 * stress/generator-class-methods-syntax.js:
2649 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
2651 JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
2652 https://bugs.webkit.org/show_bug.cgi?id=175150
2654 Unreviewed test gardening.
2656 * wasm/js-api/test_memory_constructor.js:
2658 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
2660 [Linux] JSTests/wasm/stress/oom.js should not run on Linux
2661 https://bugs.webkit.org/show_bug.cgi?id=175100
2663 Reviewed by Mark Lam.
2665 The JSC test JSTests/wasm/stress/oom.js tries to use all the
2666 available memory until an out of memory exception happens.
2668 The Linux kernel is more tuned for server workloads than for GUI
2669 responsiveness. When a process tries to use a lot of memory, Linux
2670 will do its best to serve the request. This usually translates to
2671 free physical RAM by writing to disk dirty pages and/or moving out
2672 less recently used pages to swap (disk storage).
2673 Meanwhile it does this, the system will become unresponsive and this
2674 leads to freezes that can last even some minutes on the worst cases.
2676 Therefore, let's skip this test on Linux as it will cause more harm
2677 than good on the Linux bots or on the machines of Linux developers.
2679 * wasm/stress/oom.js:
2681 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com>
2683 [JSC] Remove unnecessary print from stress\promise-finally.js test
2684 https://bugs.webkit.org/show_bug.cgi?id=175015
2686 Reviewed by Yusuke Suzuki.
2688 * stress/promise-finally.js:
2692 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2694 Unreviewed, update test262 results for optional catch binding
2698 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
2700 [JSC] Support optional catch binding
2701 https://bugs.webkit.org/show_bug.cgi?id=174981
2703 Reviewed by Saam Barati.
2705 * stress/optional-catch-binding-syntax.js: Added.
2709 * stress/optional-catch-binding.js: Added.
2713 2017-07-28 Mark Lam <mark.lam@apple.com>
2715 ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
2716 https://bugs.webkit.org/show_bug.cgi?id=174948
2717 <rdar://problem/33495680>
2719 Reviewed by Filip Pizlo.
2721 * stress/regress-174948.js: Added.
2723 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com>
2725 ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
2726 https://bugs.webkit.org/show_bug.cgi?id=174900
2728 Reviewed by Saam Barati.
2730 * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
2735 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com>
2737 Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
2738 https://bugs.webkit.org/show_bug.cgi?id=171637
2740 Reviewed by Darin Adler.
2742 * stress/domjit-getter-complex-with-incorrect-object.js:
2744 * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
2748 2017-07-26 JF Bastien <jfbastien@apple.com>
2750 WebAssembly: test throwing out of the start function
2751 https://bugs.webkit.org/show_bug.cgi?id=165714
2752 <rdar://problem/29760251>
2754 Reviewed by Keith Miller.
2757 * wasm/function-tests/trap-from-start.js: Added.
2759 * wasm/function-tests/trap-from-start-async.js: Added.
2760 (async.StartTrapsAsync):
2762 2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com>
2764 [FTL] Arguments elimination is suppressed by unreachable blocks
2765 https://bugs.webkit.org/show_bug.cgi?id=174352
2767 Reviewed by Filip Pizlo.
2769 * stress/arguments-elimination-force-exit.js: Added.
2773 * stress/arguments-elimination-throw.js: Added.
2779 2017-07-13 Mark Lam <mark.lam@apple.com>
2781 Add some additional test cases for bug 170896.
2782 https://bugs.webkit.org/show_bug.cgi?id=174491
2784 Reviewed by Filip Pizlo.
2786 * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js.
2787 * stress/regress-170896-with-double-shape-profile.js: Added.
2789 * stress/regress-170896-with-int32-shape-profile.js: Added.
2791 * stress/regress-170896.js: Removed.
2793 2017-07-13 Saam Barati <sbarati@apple.com>
2795 Missing exception check in JSObject::hasInstance
2796 https://bugs.webkit.org/show_bug.cgi?id=174455
2797 <rdar://problem/31384608>
2799 Reviewed by Mark Lam.
2801 * stress/has-instance-exception-check.js: Added.
2803 (let.getter.Object.getOwnPropertyDescriptor.get foo):
2805 2017-07-13 Caio Lima <ticaiolima@gmail.com>
2807 [ESnext] Implement Object Spread
2808 https://bugs.webkit.org/show_bug.cgi?id=167963
2810 Reviewed by Saam Barati.
2812 * stress/obj-rest-destructuring-order.js: Added.
2816 * stress/obj-spread-order.js: Added.
2820 * stress/object-spread.js: Added.
2829 (try.let.obj.get foo):
2832 2017-07-12 Saam Barati <sbarati@apple.com>
2834 GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments
2835 https://bugs.webkit.org/show_bug.cgi?id=174411
2836 <rdar://problem/31696186>
2838 Reviewed by Mark Lam.
2840 * stress/generic-arguments-correct-delete-behavior.js: Added.
2844 2017-07-07 Mark Lam <mark.lam@apple.com>
2846 \n\r is not the same as \r\n.
2847 https://bugs.webkit.org/show_bug.cgi?id=173053
2849 Reviewed by Keith Miller.
2851 * stress/regress-173053.js: Added.
2852 * stress/template-literal-line-terminators.js:
2854 2017-07-06 Saam Barati <sbarati@apple.com>
2856 We are missing places where we invalidate the for-in context
2857 https://bugs.webkit.org/show_bug.cgi?id=174184
2859 Reviewed by Geoffrey Garen.
2861 * stress/for-in-invalidate-context-weird-assignments.js: Added.
2865 2017-07-05 Saam Barati <sbarati@apple.com>
2867 NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
2868 https://bugs.webkit.org/show_bug.cgi?id=174188
2869 <rdar://problem/30581423>
2871 Reviewed by Mark Lam.
2873 * stress/new-array-having-a-bad-time-double.js: Added.
2877 2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
2879 WTF::StringImpl::copyChars segfaults when built with GCC 7
2880 https://bugs.webkit.org/show_bug.cgi?id=173407
2882 Reviewed by Andreas Kling.
2884 * stress/string-repeat-copy-chars-crash.js: Added.
2887 2017-07-03 Saam Barati <sbarati@apple.com>
2889 Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.
2891 * stress/unshiftCountSlowCase-correct-postCapacity.js:
2893 2017-07-03 Yusuke Suzuki <utatane.tea@gmail.com>
2895 Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited
2897 It requires too much memory.
2899 * stress/dont-reserve-huge-capacity-lexer.js:
2901 2017-06-30 Michael Saboff <msaboff@apple.com>
2903 Skip a test on ARM64 platform since we run out of address space.
2905 Rubber stamped by Saam Barati.
2907 * stress/dont-reserve-huge-capacity-lexer.js:
2909 2017-06-30 Michael Saboff <msaboff@apple.com>
2911 RegExp's anchored with .* with \g flag can return wrong match start for strings with multiple matches
2912 https://bugs.webkit.org/show_bug.cgi?id=174044
2914 Reviewed by Oliver Hunt.
2916 New regression test.
2918 * stress/regress-174044.js: Added.
2922 2017-06-30 Filip Pizlo <fpizlo@apple.com>
2924 RegExpCachedResult::setInput should reify left and right contexts
2925 https://bugs.webkit.org/show_bug.cgi?id=173818
2927 Reviewed by Keith Miller.
2929 * stress/right-left-context-invalidated-by-input.js: Added.
2930 (test.validateContexts):
2933 2017-06-29 Saam Barati <sbarati@apple.com>
2935 Calculating postCapacity in unshiftCountSlowCase is wrong
2936 https://bugs.webkit.org/show_bug.cgi?id=173992
2937 <rdar://problem/32283199>
2939 Reviewed by Keith Miller.
2941 * stress/unshiftCountSlowCase-correct-postCapacity.js: Added.
2944 2017-06-29 Commit Queue <commit-queue@webkit.org>
2946 Unreviewed, rolling out r218512.
2947 https://bugs.webkit.org/show_bug.cgi?id=173981
2949 "It changes the behavior of the JS API's JSEvaluateScript
2950 which breaks TurboTax" (Requested by saamyjoon on #webkit).
2954 "test262: Completion values for control flow do not match the
2956 https://bugs.webkit.org/show_bug.cgi?id=171265
2957 http://trac.webkit.org/changeset/218512
2959 2017-06-27 JF Bastien <jfbastien@apple.com>
2961 WebAssembly: running out of executable memory should throw OoM
2962 https://bugs.webkit.org/show_bug.cgi?id=171537
2963 <rdar://problem/32963338>
2965 Reviewed by Saam Barati.
2968 * wasm/lowExecutableMemory/executable-memory-oom.js: Added.
2970 (failCount.0.catch):
2971 (failCount.0.module.undefined.catch):
2972 * wasm/lowExecutableMemory/exports-oom.js: Added.
2975 (const.randomProgram):
2976 (failCount.0.catch):
2977 (failCount.0.module.undefined.catch):
2978 * wasm/lowExecutableMemory/imports-oom.js: Added.
2981 (const.randomProgram):
2983 (failCount.0.catch):
2984 (failCount.0.module.undefined.catch):
2986 2017-06-27 Caio Lima <ticaiolima@gmail.com>
2988 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
2989 https://bugs.webkit.org/show_bug.cgi?id=167962
2991 Reviewed by Saam Barati.
2993 * stress/object-rest-deconstruct.js: Added.
2995 (let.assertPropDescriptor):
3003 2017-06-27 Saam Barati <sbarati@apple.com>
3005 Function constructor needs to follow the spec and validate parameters and body independently
3006 https://bugs.webkit.org/show_bug.cgi?id=173303
3007 <rdar://problem/32732526>
3009 Reviewed by Keith Miller.
3011 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
3012 * stress/function-constructor-semantics.js: Added.
3021 2017-06-26 Saam Barati <sbarati@apple.com>
3023 RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect
3024 https://bugs.webkit.org/show_bug.cgi?id=173740
3026 Reviewed by Mark Lam.
3028 * stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added.
3029 (Array.prototype.Symbol.iterator):
3031 2017-06-26 Saam Barati <sbarati@apple.com>
3033 Skip a test on 32-bit platforms since we run out of address space.
3035 Rubber stamped by Mark Lam.
3037 * stress/dont-reserve-huge-capacity-lexer.js:
3039 2017-06-26 Saam Barati <sbarati@apple.com>
3041 Crash in JSC::Lexer<unsigned char>::setCode
3042 https://bugs.webkit.org/show_bug.cgi?id=172754
3044 Reviewed by Mark Lam.
3046 * stress/dont-reserve-huge-capacity-lexer.js: Added.
3049 2017-06-24 Yusuke Suzuki <utatane.tea@gmail.com>
3051 [JSC] Clean up Object.entries implementation
3052 https://bugs.webkit.org/show_bug.cgi?id=173759
3054 Reviewed by Sam Weinig.
3056 * microbenchmarks/object-entries.js: Added.
3059 2017-06-24 Joseph Pecoraro <pecoraro@apple.com>
3061 Remove Reflect.enumerate
3062 https://bugs.webkit.org/show_bug.cgi?id=173806
3064 Reviewed by Yusuke Suzuki.
3068 These tests now fail because they use Reflect.enumerate.
3071 This test now passes, it checked that Reflect.enumerate is undefined!
3073 * stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:
3074 Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>
3076 * stress/reflect-enumerate.js: Removed.
3077 Remove a test solely for Reflect.enumerate.
3079 2017-06-22 Saam Barati <sbarati@apple.com>
3081 ValueRep(DoubleRep(@v)) can not simply convert to @v
3082 https://bugs.webkit.org/show_bug.cgi?id=173687
3083 <rdar://problem/32855563>
3085 Reviewed by Mark Lam.
3087 * stress/dont-strength-reduce-valuerep-of-doublerep.js: Added.
3090 2017-06-22 Yusuke Suzuki <utatane.tea@gmail.com>
3092 [JSC] Object.values should be implemented in C++
3093 https://bugs.webkit.org/show_bug.cgi?id=173703
3095 Reviewed by Sam Weinig.
3097 * microbenchmarks/object-keys-map-values.js: Added.
3099 * microbenchmarks/object-values.js: Added.
3101 * stress/object-values-changing-properties.js: Added.
3103 (throw.new.Error.let.source.get x):
3105 (shouldBe.let.handler.get order):
3107 (shouldBe.let.handler.get return):
3108 (let.handler.get order):
3110 2017-06-21 Saam Barati <sbarati@apple.com>
3112 eval virtual call is incorrect in the baseline JIT
3113 https://bugs.webkit.org/show_bug.cgi?id=173587
3114 <rdar://problem/32867897>
3116 Reviewed by Michael Saboff.
3118 * stress/do-eval-virtual-call-correctly.js: Added.
3124 2017-06-20 Ryan Haddad <ryanhaddad@apple.com>
3126 Update test262 test expectations after r218581.
3128 Unreviewed test gardening.
3132 2017-06-20 Oleksandr Skachkov <gskachkov@gmail.com>
3134 Revert changes in bug#160417 about extending `null` not being a derived class
3135 https://bugs.webkit.org/show_bug.cgi?id=169293
3137 Reviewed by Saam Barati.
3139 * stress/class-derived-from-null.js:
3148 2017-06-13 Yusuke Suzuki <utatane.tea@gmail.com>
3150 [DFG] More ArrayIndexOf fixups for various types
3151 https://bugs.webkit.org/show_bug.cgi?id=173176
3153 Reviewed by Saam Barati.
3155 * stress/array-indexof-arraystorage.js: Added.
3157 (indexOfInt32Other):
3159 (indexOfInt32Boolean):
3160 (indexOfDoubleOther):
3161 (indexOfDoubleCell):
3162 (indexOfDoubleBoolean):
3165 * stress/array-indexof-constant-folding.js: Added.
3167 (indexOfInt32Other):
3169 (indexOfInt32Boolean):
3170 (indexOfDoubleOther):
3171 (indexOfDoubleCell):
3172 (indexOfDoubleBoolean):
3173 * stress/array-indexof-hole-and-other.js: Added.
3176 * stress/array-indexof-other.js: Added.
3182 * stress/array-indexof-symbol.js: Added.
3189 2017-06-19 Joseph Pecoraro <pecoraro@apple.com>
3191 test262: Completion values for control flow do not match the spec
3192 https://bugs.webkit.org/show_bug.cgi?id=171265
3194 Reviewed by Saam Barati.
3196 * stress/completion-value.js:
3197 Condensed test for completion values in top level statements.
3199 * stress/super-get-by-id.js:
3200 ClassDeclaration when evaled no longer produce values. Convert
3201 these to ClassExpressions so they produce the class value.
3203 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
3204 This is a progression for currect spec behavior.
3206 * mozilla/mozilla-tests.yaml:
3207 This test is now outdated, so mark it as failing for that reason.
3210 Passing all "cptn" completion value tests.
3212 2017-06-17 Keith Miller <keith_miller@apple.com>
3214 ArrayBuffer constructor needs to create subclass structures before its buffer
3215 https://bugs.webkit.org/show_bug.cgi?id=173510
3217 Reviewed by Yusuke Suzuki.
3221 2017-06-17 Keith Miller <keith_miller@apple.com>
3223 ArrayPrototype methods should use JSValue::toLength for non-Arrays.
3224 https://bugs.webkit.org/show_bug.cgi?id=173506
3226 Reviewed by Ryosuke Niwa.
3230 * ChakraCore/test/Function/apply3.baseline-jsc:
3233 2017-06-16 Yusuke Suzuki <utatane.tea@gmail.com>
3235 [JSC] Add fast path for Object.assign
3236 https://bugs.webkit.org/show_bug.cgi?id=173416
3238 Reviewed by Mark Lam.
3240 * stress/object-assign-changing-properties.js: Added.
3242 (throw.new.Error.let.source.get x):
3244 (shouldBe.let.source.get x):
3245 (shouldBe.let.target.set x):
3246 (shouldBe.let.target.get x):
3247 * stress/object-assign-proxy.js: Added.
3249 (throw.new.Error.let.handler.get order):
3251 2017-06-15 Yusuke Suzuki <utatane.tea@gmail.com>
3253 [JSC] Implement Object.assign in C++
3254 https://bugs.webkit.org/show_bug.cgi?id=173414
3256 Reviewed by Saam Barati.
3258 * stress/object-assign-string-first.js: Added.
3260 (source.get Symbol):
3264 2017-06-14 JF Bastien <jfbastien@apple.com>
3266 WebAssembly: remove empty test files
3267 https://bugs.webkit.org/show_bug.cgi?id=173382
3269 Reviewed by Saam Barati.
3271 The following files:
3272 JSTests/wasm/function-tests/call-indirect-params.js
3273 JSTests/wasm/function-tests/call-indirect.js
3274 JSTests/wasm/js-api/call-indirect-results.js
3275 Were changed to empty files in https://trac.webkit.org/changeset/209771
3277 They were testing call_indirect with the wrong semantics, before
3278 we implemented tables. That change implemented tables and
3279 therefore removed the erroneous tests.
3281 We have a few tests for call_indirect which already do the right thing:
3282 JSTests/wasm/function-tests/context-switch.js
3283 JSTests/wasm/function-tests/exceptions.js
3284 JSTests/wasm/function-tests/grow-memory-2.js
3285 JSTests/wasm/function-tests/stack-overflow.js
3286 JSTests/wasm/function-tests/table-basic-2.js
3287 JSTests/wasm/function-tests/table-basic.js
3288 JSTests/wasm/js-api/call-indirect.js
3289 JSTests/wasm/js-api/table.js
3290 JSTests/wasm/js-api/unique-signature.js
3291 JSTests/wasm/js-api/wrapper-function.js
3293 I also just imported the updated spec tests which, among other
3294 things, test call_indirect:
3297 core/call_indirect.wast
3301 core/left-to-right.wast
3306 core/unreachable.wast
3308 So I think it's OK to just delete the tests which should just have
3309 been deleted back when tables were added.
3311 * wasm/function-tests/call-indirect-params.js: Removed.
3312 * wasm/function-tests/call-indirect.js: Removed.
3313 * wasm/js-api/call-indirect-results.js: Removed.
3315 2017-06-13 JF Bastien <jfbastien@apple.com>
3317 WebAssembly: import updated spec tests
3318 https://bugs.webkit.org/show_bug.cgi?id=173287
3319 <rdar://problem/32725975>
3321 Reviewed by Saam Barati.
3323 Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b,
3324 with a few modifications so things work.
3326 Fix a bunch of bugs found through this process, and punt a few tests (which I
3327 marked as blocked by this bug).
3331 Fix load / store alignment: r216908 erroneously implemented it as bit alignment
3332 instead of byte alignment. It was also missing memory-alignment.js despite it
3333 being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to
3336 Tables can be imported or in a section. There can be only one, but sections can
3337 be empty. An Elements section can exist if there's no Table, as long as it is
3340 Memories can be imported or in a section. There can be only one, but sections
3341 can be empty. A Data section can exist if there's no Memory, as long as it is
3344 Prototypes: stringify without .prototype. in the string.
3346 WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter,
3347 not a final size, and throws a RangeError on failure, not a TypeError.
3349 Fix compile / instantiate so the reject the promise if given an argument of the
3350 wrong type (instead of failing instantly).
3352 Fix async on neuter test.
3354 Element section shouldn't affect any Table if any of the elements are out of
3355 bounds. We need to process it in two passes.
3357 Segment section shouldn't affect any Data if any of the segments are out of
3358 bounds. We need to process it in two passes.
3360 Empty data segments are valid, but only when there is no memory. Their index
3361 still gets validated, and has to be zero.
3365 Error messages with context, the test seems overly restrictive but this is
3368 compile/instantiate/validate property descriptors.
3372 Temporarily disable NaN tests. We need to go back and implement the following
3373 semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as
3374 much as getting all the other tests passing.
3376 Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as
3377 no_fold_promote_demote (an interesting corner case which we get wrong). mul by
3378 one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const
3379 0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN
3380 to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\"
3381 (i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure
3382 why they're not allowed.
3385 * wasm/function-tests/i32-load8-s.js:
3386 * wasm/function-tests/memory-access-past-4gib.js:
3387 (const.op.of.WASM.opcodes):
3388 * wasm/function-tests/memory-alignment.js: Added.
3389 (const.op.of.WASM.opcodes):
3390 * wasm/function-tests/memory-section-and-import.js:
3391 * wasm/js-api/Module-compile.js:
3392 (async.testPromiseAPI):
3393 * wasm/js-api/dont-mmap-zero-byte-memory.js:
3395 * wasm/js-api/element.js:
3396 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3397 * wasm/js-api/neutered-inputs.js:
3398 (const.testFunction): Deleted.
3399 (const.testConstructor): Deleted.
3400 * wasm/js-api/table.js:
3401 (assert.throws.new.WebAssembly.Module.builder.WebAssembly):
3402 (new.WebAssembly.Module):
3404 (assertBadTableImport):
3405 (assert.throws.WebAssembly.Table.prototype.grow):
3406 (assertBadTableInstance): Deleted.
3407 * wasm/js-api/test_Data.js:
3408 (DataSectionWithoutMemory):
3409 * wasm/spec-harness/index.js:
3411 (uniqueTest): Deleted.
3412 (assert_invalid): Deleted.
3413 (assert_soft_invalid): Deleted.
3414 (register): Deleted.
3416 (get instance): Deleted.
3419 (assert_unlinkable): Deleted.
3420 (assert_uninstantiable): Deleted.
3421 (assert_trap): Deleted.
3424 (assert_exhaustion): Deleted.
3425 (assert_return): Deleted.
3426 (assert_return_nan): Deleted.
3427 * wasm/spec-harness/testharness.css: Removed.
3428 * wasm/spec-harness/testharness.js: Removed.
3429 * wasm/spec-harness/testharnessreport.js: Removed.
3430 * wasm/spec-harness/wasm-constants.js:
3433 * wasm/spec-harness/wasm-module-builder.js:
3434 (Binary.prototype.emit_section):
3436 (WasmFunctionBuilder.prototype.addBody):
3437 (WasmFunctionBuilder.prototype.end):
3438 (WasmFunctionBuilder):
3439 (WasmModuleBuilder.prototype.stringToBytes):
3440 (WasmModuleBuilder.prototype.addCustomSection):
3441 (WasmModuleBuilder.prototype.addFunctionTableInit):
3442 (WasmModuleBuilder.prototype.appendToTable):
3443 (WasmModuleBuilder.prototype.toArray):
3444 (WasmModuleBuilder.prototype.toBuffer):
3445 (WasmModuleBuilder.prototype.instantiate):
3446 (WasmModuleBuilder):
3447 * wasm/spec-tests/address.wast.js:
3448 * wasm/spec-tests/align.wast.js: Added.
3449 * wasm/spec-tests/binary.wast.js:
3450 * wasm/spec-tests/block.wast.js:
3451 * wasm/spec-tests/br.wast.js:
3452 * wasm/spec-tests/br_if.wast.js:
3453 * wasm/spec-tests/br_table.wast.js:
3454 * wasm/spec-tests/call.wast.js:
3455 * wasm/spec-tests/call_indirect.wast.js:
3456 * wasm/spec-tests/comments.wast.js:
3457 * wasm/spec-tests/const.wast.js: Added.
3458 * wasm/spec-tests/conversions.wast.js: Added.
3459 * wasm/spec-tests/custom_section.wast.js:
3460 * wasm/spec-tests/exports.wast.js:
3461 * wasm/spec-tests/f32.wast.js: Added.
3462 * wasm/spec-tests/f64.wast.js: Added.
3463 * wasm/spec-tests/fac.wast.js:
3464 * wasm/spec-tests/float_exprs.wast.js: Added.
3465 * wasm/spec-tests/float_misc.wast.js: Added.
3466 * wasm/spec-tests/func.wast.js:
3467 * wasm/spec-tests/globals.wast.js:
3468 * wasm/spec-tests/if.wast.js:
3469 * wasm/spec-tests/imports.wast.js:
3470 * wasm/spec-tests/inline-module.wast.js: Added.
3471 * wasm/spec-tests/jsapi.js:
3474 * wasm/spec-tests/labels.wast.js:
3475 * wasm/spec-tests/loop.wast.js:
3476 * wasm/spec-tests/memory.wast.js:
3477 * wasm/spec-tests/memory_trap.wast.js: Added.
3478 * wasm/spec-tests/names.wast.js:
3479 * wasm/spec-tests/nop.wast.js:
3480 * wasm/spec-tests/return.wast.js:
3481 * wasm/spec-tests/stack.wast.js:
3482 * wasm/spec-tests/token.wast.js: Added.
3483 * wasm/spec-tests/type.wast.js: Added.
3484 * wasm/spec-tests/typecheck.wast.js:
3485 * wasm/spec-tests/unreachable.wast.js:
3486 * wasm/spec-tests/unreached-invalid.wast.js:
3487 * wasm/spec-tests/unwind.wast.js:
3488 * wasm/spec-tests/utf8-custom-section-id.wast.js: Added.
3489 * wasm/spec-tests/utf8-import-field.wast.js: Added.
3490 * wasm/spec-tests/utf8-import-module.wast.js: Added.
3492 2017-06-13 Ryan Haddad <ryanhaddad@apple.com>
3494 Unreviewed JSC test gardening.
3496 * stress/check-string-ident.js:
3497 * stress/new-largeish-contiguous-array-with-size.js:
3499 2017-06-13 Michael Saboff <msaboff@apple.com>
3501 DFG doesn't properly handle a property that is change to read only in a prototype
3502 https://bugs.webkit.org/show_bug.cgi?id=173321
3504 Reviewed by Filip Pizlo.
3506 * ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js.
3507 * stress/regress-173321.js: Added new regression test.
3512 2017-06-12 Saam Barati <sbarati@apple.com>
3514 Update test262 test expectation since r218082 makes new tests pass.
3518 2017-06-12 Saam Barati <sbarati@apple.com>
3520 We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms
3521 https://bugs.webkit.org/show_bug.cgi?id=172957
3522 <rdar://problem/32602704>
3524 Reviewed by Filip Pizlo.
3526 * stress/spec-empty-flows-through-cell-checks.js: Added.
3531 2017-06-12 Oleksandr Skachkov <gskachkov@gmail.com>
3533 We incorrectly allow escaped characters in keyword tokens
3534 https://bugs.webkit.org/show_bug.cgi?id=171310
3536 Reviewed by Yusuke Suzuki.
3538 * stress/destructuring-assignment-syntax.js:
3539 * stress/error-messages-for-in-operator-should-not-crash.js:
3541 * stress/reserved-word-with-escape.js:
3542 (testSyntaxError.String.raw.v):
3543 (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
3544 (testSyntaxError.String.raw.a):
3545 * JSTests/ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc:
3547 2017-06-09 Yusuke Suzuki <utatane.tea@gmail.com>
3549 [DFG] Add ArrayIndexOf intrinsic
3550 https://bugs.webkit.org/show_bug.cgi?id=172421
3552 Reviewed by Saam Barati.
3554 * stress/array-indexof-array-prototype-change.js: Added.
3557 * stress/array-indexof-have-a-bad-time-getter.js: Added.
3560 * stress/array-indexof-have-a-bad-time.js: Added.
3563 * stress/array-indexof-hole-with-prototype.js: Added.
3566 * stress/array-indexof-hole.js: Added.
3569 * stress/array-indexof-index.js: Added.
3576 * stress/array-indexof-negative-index.js: Added.
3583 * stress/array-indexof-non-int32-start-index.js: Added.
3587 * stress/array-indexof-object-prototype-change.js: Added.
3590 * stress/array-indexof-object.js: Added.
3593 * stress/array-indexof-original-array.js: Added.
3596 * stress/array-indexof-string.js: Added.
3599 * stress/array-indexof-structure-change-convert.js: Added.
3602 * stress/array-indexof-structure-change.js: Added.
3605 * stress/array-indexof.js: Added.
3609 2017-06-11 Keith Miller <keith_miller@apple.com>
3611 TypedArray constructor with string shouldn't throw
3612 https://bugs.webkit.org/show_bug.cgi?id=173181
3614 Reviewed by JF Bastien.
3616 We should be coercing primitive arguments to numbers in the various
3617 TypedArray constructors.
3619 * stress/typedarray-constructor.js:
3621 2017-06-11 Yusuke Suzuki <utatane.tea@gmail.com>
3623 Unreviewed, update test results part 3
3624 https://bugs.webkit.org/show_bug.cgi?id=173227
3626 * microbenchmarks/regexp-prototype-search-observable-side-effects.js:
3628 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3630 Unreviewed, update test results part 2
3631 https://bugs.webkit.org/show_bug.cgi?id=173227
3635 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3637 Unreviewed, update test results
3638 https://bugs.webkit.org/show_bug.cgi?id=173227
3640 * microbenchmarks/string-prototype-search-observable-side-effects.js:
3643 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com>
3645 [JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec
3646 https://bugs.webkit.org/show_bug.cgi?id=173227
3648 Reviewed by Mark Lam.
3652 * es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js:
3654 2017-06-08 Keith Miller <keith_miller@apple.com>
3656 WebAssembly: We should only create wrappers for functions that can be exported
3657 https://bugs.webkit.org/show_bug.cgi?id=173088
3659 Reviewed by Saam Barati.
3661 Remove a bunch of old tests that are actually duplicates of the spec-tests and rely
3662 on the old testWasmModuleFunctions api, which has been removed.
3664 * wasm/function-tests/copysign.js: Removed.
3665 * wasm/function-tests/ctz.js: Removed.
3666 * wasm/function-tests/drop.js: Removed.
3667 * wasm/function-tests/dumb-eq-if-then-else.js: Removed.
3668 * wasm/function-tests/dumb-less-than-fallthrough.js: Removed.
3669 * wasm/function-tests/dumb-less-than-ite.js: Removed.
3670 * wasm/function-tests/eqz.js: Removed.
3671 * wasm/function-tests/i32-trunc-s-f32.js: Removed.
3672 * wasm/function-tests/i32-trunc-s-f64.js: Removed.
3673 * wasm/function-tests/i32-trunc-u-f32.js: Removed.
3674 * wasm/function-tests/i32-trunc-u-f64.js: Removed.
3675 * wasm/function-tests/i64-trunc-s-f32.js: Removed.
3676 * wasm/function-tests/i64-trunc-s-f64.js: Removed.
3677 * wasm/function-tests/i64-trunc-u-f32.js: Removed.
3678 * wasm/function-tests/i64-trunc-u-f64.js: Removed.
3679 * wasm/function-tests/if-then-else-fallthrough.js: Removed.
3680 * wasm/function-tests/if-then-fallthrough.js: Removed.
3681 * wasm/function-tests/int-to-floating-point.js: Removed.
3682 * wasm/function-tests/loop-mult.js:
3683 * wasm/function-tests/loop-sum.js:
3684 * wasm/function-tests/max.js: Removed.
3685 * wasm/function-tests/min.js: Removed.
3686 * wasm/function-tests/nearest.js: Removed.
3687 * wasm/function-tests/nop.js: Removed.
3688 * wasm/function-tests/popcnt.js: Removed.
3689 * wasm/function-tests/ret5.js:
3690 * wasm/function-tests/select.js: Removed.
3691 * wasm/function-tests/tee-local.js: Removed.
3692 * wasm/function-tests/trunc.js: Removed.
3694 2017-06-07 JF Bastien <jfbastien@apple.com>
3696 WebAssembly: test imports and exports with 16-bit characters
3697 https://bugs.webkit.org/show_bug.cgi?id=165977
3698 <rdar://problem/29760130>
3700 Reviewed by Saam Barati.
3702 The output for import failure was improved, so many tests need to
3703 be updated here. Only one has new tests as noted below.
3705 * wasm/function-tests/memory-import-and-grow.js:
3706 * wasm/js-api/Instance.imports.exports.unicode.js: Added. Main new test.
3708 * wasm/js-api/global-error.js:
3711 * wasm/js-api/table.js:
3713 (new.WebAssembly.Table):
3714 * wasm/js-api/test_memory.js:
3716 * wasm/js-api/wasm-to-wasm-bad-signature.js:
3717 (BadSignatureDropStartParams.):
3718 (BadSignatureDropStartParams):
3719 (BadSignatureDropEndParams.):
3720 (BadSignatureSwapParam.):
3722 * wasm/js-api/web-assembly-instantiate.js:
3723 (assert.asyncTest.async.test):
3725 * wasm/js-api/wrapper-function.js:
3726 (return.new.WebAssembly.Module):
3728 2017-06-07 Mark Lam <mark.lam@apple.com>
3730 Restrict the regress-173035.js test to only run on Darwin x86-64.
3731 https://bugs.webkit.org/show_bug.cgi?id=173075
3733 Reviewed by Saam Barati.
3735 This is because the 32-bit x86 build will fail to mmap the 0x3f900000 bytes that
3736 this test will require to succeed. Here's an example of this failure:
3737 https://build.webkit.org/builders/Apple%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/866/steps/webkit-32bit-jsc-test/logs/stdio
3739 Since the issue is due to allocation of a very large amount of memory, the test
3740 will probably fail on iOS and other platforms as well. Hence, we should just
3741 skip this test for any platforms that is not Darwin x86-64.
3743 * stress/regress-173035.js:
3745 2017-06-07 Mark Lam <mark.lam@apple.com>
3747 ASSERTION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node())
3748 https://bugs.webkit.org/show_bug.cgi?id=168587
3752 Unskipping the test because the issue has been fixed in https://bugs.webkit.org/show_bug.cgi?id=172673.
3754 * stress/test-finally.js:
3756 2017-06-06 Mark Lam <mark.lam@apple.com>
3758 Contiguous storage butterfly length should not exceed MAX_STORAGE_VECTOR_LENGTH.
3759 https://bugs.webkit.org/show_bug.cgi?id=173035
3760 <rdar://problem/32554593>
3762 Reviewed by Geoffrey Garen and Filip Pizlo.
3764 * stress/regress-173035.js: Added.
3766 2017-06-06 Saam Barati <sbarati@apple.com>
3768 Make sure we restore SP when doing calls that could be to JS
3769 https://bugs.webkit.org/show_bug.cgi?id=172946
3770 <rdar://problem/32579026>
3772 Reviewed by JF Bastien.
3774 * wasm/function-tests/many-args-tail-call-sp-restored.js: Added.
3775 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f1):
3776 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.end):
3777 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f2):
3778 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.instance.new.WebAssembly.Instance.new.WebAssembly.Module.builder.WebAssembly):
3780 2017-06-06 Joseph Pecoraro <pecoraro@apple.com>
3782 Unreviewed rollout r217807. Caused a test to crash.
3784 * heapProfiler/class-names.js: Removed.
3785 * heapProfiler/driver/driver.js:
3786 (CheapHeapSnapshotNode):
3787 (CheapHeapSnapshot):
3788 (createCheapHeapSnapshot):
3790 (createHeapSnapshot):
3791 * typeProfiler/inheritance.js:
3797 2017-06-06 Filip Pizlo <fpizlo@apple.com>
3799 index out of bound in bytecodebasicblock
3800 https://bugs.webkit.org/show_bug.cgi?id=172963
3802 Reviewed by Saam Barati and Mark Lam.
3804 * stress/dfg-call-class-constructor.js: Added.
3808 2017-06-05 Joseph Pecoraro <pecoraro@apple.com>
3810 Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
3811 https://bugs.webkit.org/show_bug.cgi?id=172848
3812 <rdar://problem/25709212>
3814 Reviewed by Saam Barati.
3816 * typeProfiler/inheritance.js:
3817 Rewrite the test slightly for clarity. The hoisting was confusing.
3819 * heapProfiler/class-names.js: Added.
3823 Test object types and improved class names.
3825 * heapProfiler/driver/driver.js:
3826 (CheapHeapSnapshotNode):
3827 (CheapHeapSnapshot):
3828 (createCheapHeapSnapshot):
3830 (createHeapSnapshot):
3831 Update snapshot parsing from version 1 to version 2.
3833 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com>
3835 ASSERTION FAILED: "We should only declare a function as a lexically scoped variable in scopes where var declarations aren't allowed. ..." for function redeclaration with async function module export
3836 https://bugs.webkit.org/show_bug.cgi?id=168844
3838 Reviewed by Saam Barati.
3840 * modules/async-function-export.js: Added.
3844 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com>
3846 ES2015 modules - Export default function hoisting
3847 https://bugs.webkit.org/show_bug.cgi?id=170174
3849 Reviewed by Saam Barati.
3851 This issue itself is solved by fixing function declaration hoisting rules.
3852 This patch just adds the specific test to modules tests to ensure the bug
3855 * modules/export-default-function-hoisting.js: Added.
3856 * modules/export-default-function-hoisting/cappuccino.js: Added.
3857 (import.drinkCocoa.from.string_appeared_here.export.default.drinkCappuccino):
3858 * modules/export-default-function-hoisting/cocoa.js: Added.
3859 (export.default.drinkCocoa):
3861 2017-06-01 Oleksandr Skachkov <gskachkov@gmail.com>
3863 Class Proxy can't be extended
3864 https://bugs.webkit.org/show_bug.cgi?id=169040
3866 Reviewed by Saam Barati.
3868 Adding tests that check correctness of Proxy to ES6 `class`
3869 Bug is already fixed in https://bugs.webkit.org/show_bug.cgi?id=164849
3871 * stress/proxy-class.js: Added.
3873 (throw.new.Error.SuperClass):
3874 (throw.new.Error.A):
3877 2017-05-31 Yusuke Suzuki <utatane.tea@gmail.com>
3879 [JSC] Implement String.prototype.concat in JS builtins
3880 https://bugs.webkit.org/show_bug.cgi?id=172798
3882 Reviewed by Sam Weinig.
3884 * microbenchmarks/string-concat-convert.js: Added.
3886 * microbenchmarks/string-concat-long-convert.js: Added.
3888 * microbenchmarks/string-concat-long.js: Added.
3890 * microbenchmarks/string-concat.js: Added.
3893 2017-05-31 Oleksandr Skachkov <gskachkov@gmail.com>
3895 Rolling out: Prevent async methods named 'function'
3896 https://bugs.webkit.org/show_bug.cgi?id=172776
3898 Reviewed by Mark Lam.
3900 * stress/async-await-syntax.js:
3901 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
3902 (testTopLevelAsyncAwaitSyntaxSloppyMode):
3903 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
3904 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
3905 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
3907 2017-05-31 Ryan Haddad <ryanhaddad@apple.com>
3909 Skip flaky JSC test stress/test-finally.js
3910 https://bugs.webkit.org/show_bug.cgi?id=168587
3912 Unreviewed test gardening.
3914 * stress/test-finally.js:
3916 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
3918 Prevent async methods named 'function' in Object literal
3919 https://bugs.webkit.org/show_bug.cgi?id=172660
3921 Reviewed by Saam Barati.
3923 * stress/async-await-syntax.js:
3924 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
3926 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
3928 ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext
3929 https://bugs.webkit.org/show_bug.cgi?id=171274
3931 Reviewed by Saam Barati.
3933 * stress/async-arrow-functions-lexical-binding-in-class.js:
3935 (shouldBeAsyncAndStoreBind):
3936 (promise.new.Promise):
3938 (ChildClass4.prototype.classValue):
3939 (ChildClass4.prototype.get classProperty):
3940 * stress/async-arrow-functions-lexical-super-binding.js:
3942 (const.childA1.new.prototype.var.f.async):
3943 (const.childA1.new.var):
3944 (const.childA1.new):
3945 (const.childA2.new.prototype.var.f.async):
3946 (const.childA2.new.var):
3947 (const.childA2.new):
3948 (const.childA3.new.prototype.var.f.async):
3949 (const.childA3.new.var):
3950 (const.childA3.new):
3951 (try.childA4.new.prototype.var.f.async):
3952 (try.childA4.new.var):
3955 (const.childA5.new.prototype.var.f.async):
3956 (const.childA5.new.var):
3957 (const.childA5.new):
3959 (checkClass.new.prototype.var.f.async):
3960 (checkClass.new.var):
3962 (checkClass.new.prototype.method):
3963 (checkClass.new.prototype.prop):
3965 2017-05-27 Yusuke Suzuki <utatane.tea@gmail.com>
3967 [JSC] Map and Set constructors should have fast path for cloning
3968 https://bugs.webkit.org/show_bug.cgi?id=172413
3970 Reviewed by Saam Barati.
3972 * stress/map-clone-instance-iterator-change.js: Added.
3974 (map.Symbol.iterator):
3975 * stress/map-clone-iterator-change.js: Added.
3977 (Map.prototype.Symbol.iterator):
3978 * stress/map-clone-next-change.js: Added.
3980 (map.Symbol.iterator.__proto__.next):
3981 * stress/map-clone.js: Added.
3984 * stress/map-inherit-set.js: Added.
3988 * stress/set-clone-instance-iterator-change.js: Added.
3990 (set Symbol.iterator):
3991 * stress/set-clone-iterator-change.js: Added.
3993 (set Set.prototype.Symbol.iterator):
3994 * stress/set-clone-next-change.js: Added.
3996 (set Symbol.iterator.__proto__.next):
3997 * stress/set-clone.js: Added.
3999 (set Set.prototype.add):
4000 * stress/set-inherit-add.js: Added.
4002 (DerivedSet.set add):
4004 2017-05-26 Ryan Haddad <ryanhaddad@apple.com>
4006 Unreviewed, rolling out r217458.
4008 This change caused 55 JSC test failures.
4012 "Date should use historical data if it's available."
4013 https://bugs.webkit.org/show_bug.cgi?id=172592
4014 http://trac.webkit.org/changeset/217458
4016 2017-05-26 Yusuke Suzuki <utatane.tea@gmail.com>
4018 Give ModuleProgram the same treatment that we did for ProgramCode in bug#167725
4019 https://bugs.webkit.org/show_bug.cgi?id=167805
4021 Reviewed by Saam Barati.
4023 * modules/module-jit-reachability.js: Added.
4025 2017-05-26 Oleksandr Skachkov <gskachkov@gmail.com>
4027 Prevent async methods named 'function'
4028 https://bugs.webkit.org/show_bug.cgi?id=172598
4030 Reviewed by Mark Lam.
4032 * stress/async-await-syntax.js:
4033 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
4034 (testTopLevelAsyncAwaitSyntaxSloppyMode):
4035 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
4036 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
4037 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
4039 2017-05-25 Keith Miller <keith_miller@apple.com>
4041 Date should use historical data if it's available.
4042 https://bugs.webkit.org/show_bug.cgi?id=172592
4044 Reviewed by Mark Lam.
4046 Remove parts of the date tests that rely on the absence of
4047 historical data in Date.
4049 * mozilla/ecma/Date/15.9.5.31-1.js:
4051 * mozilla/ecma/Date/15.9.5.35-1.js:
4054 2017-05-25 Saam Barati <sbarati@apple.com>
4056 Our for-in optimization in the bytecode generator does its static analysis incorrectly
4057 https://bugs.webkit.org/show_bug.cgi?id=172532
4058 <rdar://problem/32369452>
4060 Reviewed by Mark Lam.
4062 * stress/for-in-invalidation-for-any-write.js: Added.
4067 2017-05-25 Mark Lam <mark.lam@apple.com>
4069 ObjectToStringAdaptiveInferredPropertyValueWatchpoint should not reinstall itself nor handleFire if it's dying shortly.
4070 https://bugs.webkit.org/show_bug.cgi?id=172548
4071 <rdar://problem/31458393>
4073 Reviewed by Filip Pizlo.
4075 * stress/regress-172548.patch: Added.
4077 2017-05-23 Saam Barati <sbarati@apple.com>
4079 We should not mmap zero bytes for a memory in Wasm
4080 https://bugs.webkit.org/show_bug.cgi?id=172528
4081 <rdar://problem/32257076>
4083 Reviewed by Mark Lam.
4085 * wasm/js-api/dont-mmap-zero-byte-memory.js: Added.
4088 2017-05-23 Saam Barati <sbarati@apple.com>
4090 CFGSimplificationPhase should not merge a block with itself
4091 https://bugs.webkit.org/show_bug.cgi?id=172508
4092 <rdar://problem/28424006>
4094 Reviewed by Keith Miller.
4096 * stress/dont-crash-in-cfg-simplification.js: Added.
4101 2017-05-20 Yusuke Suzuki <utatane.tea@gmail.com>
4103 [FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
4104 https://bugs.webkit.org/show_bug.cgi?id=172216
4106 Reviewed by Saam Barati.
4108 * stress/array-storage-get-by-val.js: Added.
4112 (testSlowPutOutOfBound):
4113 (testSlowPutInBound):
4115 2017-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
4117 Unreviewed, fix commented out tests
4118 https://bugs.webkit.org/show_bug.cgi?id=172225
4120 * stress/get-by-val-string.js:
4123 (Hello.prototype.get 42):
4124 (Hello.prototype.43):
4127 (throw.new.Error): Deleted.
4129 2017-05-21 Saam Barati <sbarati@apple.com>
4131 We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
4132 https://bugs.webkit.org/show_bug.cgi?id=171041
4133 <rdar://problem/32082516>
4135 Reviewed by Yusuke Suzuki.
4137 * stress/lexical-scoping-for-loop.js: Added.
4152 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>
4154 [JSC] Make get_by_val & string "499" to number 499
4155 https://bugs.webkit.org/show_bug.cgi?id=172225
4157 Reviewed by Saam Barati.
4159 * stress/get-by-val-string.js: Added.
4164 (Hello.prototype.get 42):
4165 (Hello.prototype.43):
4168 2017-05-19 Mark Lam <mark.lam@apple.com>
4170 [Re-landing] DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
4171 https://bugs.webkit.org/show_bug.cgi?id=172383
4172 <rdar://problem/31418651>
4174 Reviewed by Filip Pizlo.
4176 * stress/regress-172383.js: Added.
4178 2017-05-19 Ryan Haddad <ryanhaddad@apple.com>
4180 Unreviewed, rolling out r217156.
4182 This change broke the iOS build.
4186 "DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring
4188 https://bugs.webkit.org/show_bug.cgi?id=172383
4189 http://trac.webkit.org/changeset/217156
4191 2017-05-19 Mark Lam <mark.lam@apple.com>
4193 Add missing exception check.
4194 https://bugs.webkit.org/show_bug.cgi?id=172346
4195 <rdar://problem/32289640>
4197 Reviewed by Geoffrey Garen.
4199 * stress/regress-172346.js: Added.
4201 2017-05-19 Mark Lam <mark.lam@apple.com>
4203 DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
4204 https://bugs.webkit.org/show_bug.cgi?id=172383
4205 <rdar://problem/31418651>
4207 Reviewed by Filip Pizlo.
4209 * stress/regress-172383.js: Added.
4211 2017-05-19 Filip Pizlo <fpizlo@apple.com>
4213 arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
4214 https://bugs.webkit.org/show_bug.cgi?id=172369
4216 Reviewed by Mark Lam.
4218 * stress/undecided-concat.js: Added.
4220 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>
4222 [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4223 https://bugs.webkit.org/show_bug.cgi?id=172098
4225 Reviewed by Saam Barati.
4227 * stress/check-sub-class.js: Added.
4234 2017-05-18 JF Bastien <jfbastien@apple.com>
4236 WebAssembly: exports is a getter
4237 https://bugs.webkit.org/show_bug.cgi?id=172129
4239 Reviewed by Saam Barati.
4241 Update test to reflect new semantics.
4243 * wasm/js-api/test_basic_api.js:
4244 (const.c.in.constructorProperties.switch):
4246 2017-05-18 Saam Barati <sbarati@apple.com>
4248 Proxy's [[Get]] passes incorrect receiver
4249 https://bugs.webkit.org/show_bug.cgi?id=164849
4250 <rdar://problem/31767058>
4252 Reviewed by Yusuke Suzuki.
4254 * stress/proxy-get-set-correct-receiver.js: Added.
4257 (test.let.target.set prop):
4258 (test.let.target.get prop):
4260 * stress/proxy-set.js:
4262 * stress/reflect-set-proxy-set.js:
4264 * stress/reflect-set-receiver-proxy-set.js:
4267 2017-05-18 Filip Pizlo <fpizlo@apple.com>
4269 Constructor calls set this too early
4270 https://bugs.webkit.org/show_bug.cgi?id=172302
4272 Reviewed by Saam Barati.
4274 This tests all three kinds of constructs in BytecodeGenerator. All three were previously
4277 * stress/construct-overwritten-variable.js: Added.
4279 * stress/construct-spread-overwritten-variable-2.js: Added.
4281 * stress/construct-spread-overwritten-variable.js: Added.
4284 2017-05-18 Saam Barati <sbarati@apple.com>
4286 WebAssembly: perform stack checks
4287 https://bugs.webkit.org/show_bug.cgi?id=165546
4288 <rdar://problem/29760307>
4290 Reviewed by Filip Pizlo.
4293 * wasm/function-tests/factorial.js:
4294 * wasm/function-tests/float-sub.js:
4295 * wasm/function-tests/stack-overflow.js: Added.
4296 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
4297 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
4298 (assertOverflows.makeInstance):
4299 (assertOverflows.makeInstance2):
4300 (assertOverflows.assertThrows):
4302 (assertThrows.test.makeSignature):
4303 (assertThrows.test.makeInstance):
4304 (assertThrows.test):
4307 2017-05-18 Keith Miller <keith_miller@apple.com>
4309 WebAssembly API: test with neutered inputs
4310 https://bugs.webkit.org/show_bug.cgi?id=163899
4312 Reviewed by JF Bastien.
4314 * wasm/js-api/neutered-inputs.js: Added.
4315 (const.testFunction):
4316 (const.testConstructor):
4317 * wasm/js-api/test_basic_api.js:
4318 (const.c.in.constructorProperties.switch):
4320 2017-05-18 Filip Pizlo <fpizlo@apple.com>
4322 DFG inlining should be hardened for the no-result case
4323 https://bugs.webkit.org/show_bug.cgi?id=172290
4325 Reviewed by Saam Barati.
4327 * stress/array-constructor-no-result.js: Added.
4329 * stress/pow-no-result.js: Added.
4332 2017-05-18 Commit Queue <commit-queue@webkit.org>
4334 Unreviewed, rolling out r217031, r217032, and r217037.
4335 https://bugs.webkit.org/show_bug.cgi?id=172293
4337 cause linking errors in Windows (Requested by yusukesuzuki on
4340 Reverted changesets:
4342 "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass"
4343 https://bugs.webkit.org/show_bug.cgi?id=172098
4344 http://trac.webkit.org/changeset/217031
4346 "Unreviewed, rebaseline for newly added ClassInfo"
4347 https://bugs.webkit.org/show_bug.cgi?id=172098
4348 http://trac.webkit.org/changeset/217032
4350 "Unreviewed, fix debug and non-JIT build"
4351 https://bugs.webkit.org/show_bug.cgi?id=172098
4352 http://trac.webkit.org/changeset/217037
4354 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com>
4356 [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
4357 https://bugs.webkit.org/show_bug.cgi?id=172098
4359 Reviewed by Saam Barati.
4361 * stress/check-sub-class.js: Added.
4368 2017-05-17 Filip Pizlo <fpizlo@apple.com>
4370 Unreviewed, address mlam's review feedback.
4372 * stress/arguments-elimination-varargs-too-many-args-arg-count.js:
4374 2017-05-17 Saam Barati <sbarati@apple.com>
4376 We don't do context switches for Wasm->Wasm call indirect
4377 https://bugs.webkit.org/show_bug.cgi?id=172188
4378 <rdar://problem/32231828>
4380 Reviewed by Keith Miller.
4382 * wasm/function-tests/context-switch.js: Added.
4383 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
4384 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance2):
4385 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.i2.makeInstance2):
4388 (assert.eq.makeInstance):
4389 (assert.eq.makeInstance2):
4392 2017-05-17 Filip Pizlo <fpizlo@apple.com>
4394 JSC: Incorrect LoadVarargs handling in ArgumentsEliminationPhase::transform
4395 https://bugs.webkit.org/show_bug.cgi?id=172208
4397 Reviewed by Saam Barati.
4399 * stress/arguments-elimination-varargs-too-many-args-arg-count.js: Added.
4404 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com>
4406 [DFG] Constant Folding Phase should convert MakeRope("", String) => Identity(String)
4407 https://bugs.webkit.org/show_bug.cgi?id=172115
4409 Reviewed by Saam Barati.
4411 * stress/constant-folding-should-fold-make-rope-with-empty-strings.js: Added.
4419 2017-05-16 JF Bastien <jfbastien@apple.com>
4421 WebAssembly: add memory fuzzer
4422 https://bugs.webkit.org/show_bug.cgi?id=169976
4423 <rdar://problem/31965328>
4425 Reviewed by Keith Miller.
4427 * wasm/fuzz/memory.js: Added.
4429 (const.action.string_appeared_here):
4430 (const.performAction):