1 2017-11-28 JF Bastien <jfbastien@apple.com>
3 Strict and sloppy functions shouldn't share structure
4 https://bugs.webkit.org/show_bug.cgi?id=180103
5 <rdar://problem/35667847>
7 Reviewed by Saam Barati.
9 * stress/get-by-id-strict-arguments.js: Added. Used to not throw
10 because the IC was wrong.
15 * stress/get-by-id-strict-callee.js: Added. Not strictly necessary
16 in this patch, but may as well test odd strict mode corner cases.
20 * stress/get-by-id-strict-caller.js: Added. Also IC'd wrong.
25 * stress/get-by-id-strict-nested-arguments-2.js: Added. Same as
26 next file, but with invalidation of the FunctionExecutable's
27 singletonFunction() to hit SpeculativeJIT::compileNewFunction's
34 * stress/get-by-id-strict-nested-arguments.js: Added. Make sure
35 strict nesting works correctly.
39 * stress/strict-function-structure.js: Added. The test used to
40 assert in objectProtoFuncHasOwnProperty.
44 * stress/strict-nested-function-structure.js: Added. Nesting.
50 2017-11-29 Robin Morisset <rmorisset@apple.com>
52 The recursive tail call optimisation is wrong on closures
53 https://bugs.webkit.org/show_bug.cgi?id=179835
55 Reviewed by Saam Barati.
57 * stress/closure-recursive-tail-call.js: Added.
60 2017-11-27 JF Bastien <jfbastien@apple.com>
62 JavaScript rest function parameter with negative index leads to bad DFG abstract interpretation
63 https://bugs.webkit.org/show_bug.cgi?id=180051
64 <rdar://problem/35614371>
66 Reviewed by Saam Barati.
68 * stress/rest-parameter-negative.js: Added.
74 2017-11-27 Saam Barati <sbarati@apple.com>
76 Spread can escape when CreateRest does not
77 https://bugs.webkit.org/show_bug.cgi?id=180057
78 <rdar://problem/35676119>
80 Reviewed by JF Bastien.
82 * stress/spread-escapes-but-create-rest-does-not.js: Added.
88 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
90 [DFG] Add NormalizeMapKey DFG IR
91 https://bugs.webkit.org/show_bug.cgi?id=179912
93 Reviewed by Saam Barati.
95 * stress/map-untyped-normalize-cse.js: Added.
98 * stress/map-untyped-normalize.js: Added.
101 * stress/set-untyped-normalize-cse.js: Added.
103 (set return.set has.set has):
104 * stress/set-untyped-normalize.js: Added.
106 (set return.set has):
108 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com>
110 [FTL] Support DeleteById and DeleteByVal
111 https://bugs.webkit.org/show_bug.cgi?id=180022
113 Reviewed by Saam Barati.
115 * stress/delete-by-id.js: Added.
119 * stress/delete-by-val-ftl.js: Added.
124 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com>
126 [DFG] Introduce {Set,Map,WeakMap}Fields
127 https://bugs.webkit.org/show_bug.cgi?id=179925
129 Reviewed by Saam Barati.
131 * stress/map-set-clobber-map-get.js: Added.
134 * stress/map-set-does-not-clobber-set-has.js: Added.
136 * stress/map-set-does-not-clobber-weak-map-get.js: Added.
139 * stress/set-add-clobber-set-has.js: Added.
141 * stress/set-add-does-not-clobber-map-get.js: Added.
144 2017-11-24 Mark Lam <mark.lam@apple.com>
146 Move unsafe jsc shell test functions to the $vm object.
147 https://bugs.webkit.org/show_bug.cgi?id=179980
149 Reviewed by Yusuke Suzuki.
151 * controlFlowProfiler/driver/driver.js:
152 * controlFlowProfiler/execution-count.js:
153 * controlFlowProfiler/if-statement.js:
154 * controlFlowProfiler/loop-statements.js:
155 * controlFlowProfiler/switch-statements.js:
156 * controlFlowProfiler/test-jit.js:
157 * exceptionFuzz/3d-cube.js:
158 * exceptionFuzz/date-format-xparb.js:
159 * exceptionFuzz/earley-boyer.js:
160 * heapProfiler/basic-edges.js:
161 * heapProfiler/property-edge-types.js:
162 * microbenchmarks/try-get-by-id-basic.js:
163 * microbenchmarks/try-get-by-id-polymorphic.js:
164 * modules/namespace-object-try-get.js:
165 * stress/argument-count-bytecode.js:
166 * stress/argument-intrinsic-basic.js:
167 * stress/argument-intrinsic-inlining-use-caller-arg.js:
168 * stress/argument-intrinsic-inlining-with-result-escape.js:
169 * stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js:
170 * stress/argument-intrinsic-inlining-with-vararg.js:
171 * stress/argument-intrinsic-nested-inlining.js:
172 * stress/argument-intrinsic-not-convert-to-get-argument.js:
173 * stress/argument-intrinsic-with-stack-write.js:
174 * stress/arity-mismatch-get-argument.js:
175 * stress/array-message-passing.js:
176 * stress/array-push-with-force-exit.js:
177 * stress/check-dom-with-signature.js:
178 * stress/check-sub-class.js:
179 * stress/compare-eq-incomplete-profile.js:
180 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js:
181 * stress/do-eval-virtual-call-correctly.js:
182 * stress/dom-jit-with-poly-proto.js:
183 * stress/domjit-exception-ic.js:
184 * stress/domjit-exception.js:
185 * stress/domjit-getter-complex-with-incorrect-object.js:
186 * stress/domjit-getter-complex.js:
187 * stress/domjit-getter-poly.js:
188 * stress/domjit-getter-proto.js:
189 * stress/domjit-getter-super-poly.js:
190 * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js:
191 * stress/domjit-getter-type-check.js:
192 * stress/domjit-getter.js:
193 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js:
194 * stress/for-in-proxy-target-changed-structure.js:
195 * stress/for-in-proxy.js:
196 * stress/generational-opaque-roots.js:
197 * stress/global-const-redeclaration-setting-2.js:
198 * stress/global-const-redeclaration-setting-3.js:
199 * stress/global-const-redeclaration-setting-4.js:
200 * stress/global-const-redeclaration-setting-5.js:
201 * stress/global-const-redeclaration-setting.js:
202 * stress/import-basic.js:
203 * stress/import-from-eval.js:
204 * stress/import-reject-with-exception.js:
205 * stress/import-syntax.js:
206 * stress/impure-get-own-property-slot-inline-cache.js:
207 * stress/is-constructor.js:
208 * stress/istypedarrayview-intrinsic.js:
209 * stress/jsc-setImpureGetterDelegate-on-bad-type.js:
210 * stress/jsc-test-functions-should-be-more-robust.js:
211 * stress/object-toString-with-proxy.js:
212 * stress/poly-proto-custom-value-and-accessor.js:
213 * stress/proxy-inline-cache.js:
214 * stress/re-execute-error-module.js:
215 * stress/regress-150532.js:
216 * stress/regress-156992.js:
217 * stress/regress-179619.js:
218 * stress/resources/shadow-chicken-support.js:
219 * stress/runtime-array.js:
220 * stress/sampling-profiler-microtasks.js:
221 * stress/shadow-chicken-enabled.js:
222 * stress/spread-correct-global-object-on-exception.js:
223 * stress/super-get-by-id.js:
224 * stress/tailCallForwardArguments.js:
225 * stress/to-object-intrinsic-boolean-edge.js:
226 * stress/to-object-intrinsic-null-or-undefined-edge.js:
227 * stress/to-object-intrinsic-number-edge.js:
228 * stress/to-object-intrinsic-object-edge.js:
229 * stress/to-object-intrinsic-string-edge.js:
230 * stress/to-object-intrinsic-symbol-edge.js:
231 * stress/to-object-intrinsic.js:
232 * stress/try-catch-custom-getter-as-get-by-id.js:
233 * stress/try-get-by-id-poly-proto.js:
234 * stress/try-get-by-id-should-spill-registers-dfg.js:
235 * stress/try-get-by-id.js:
236 * typeProfiler/arrow-functions.js:
237 * typeProfiler/basic.js:
238 * typeProfiler/captured.js:
239 * typeProfiler/classes.js:
240 * typeProfiler/dfg-jit-optimizations.js:
241 * typeProfiler/dictionary-mode.js:
242 * typeProfiler/es6-block-scoping.js:
243 * typeProfiler/es6-classes.js:
244 * typeProfiler/inheritance.js:
245 * typeProfiler/int52-dfg.js:
246 * typeProfiler/loop.js:
247 * typeProfiler/optional-fields.js:
248 * typeProfiler/overflow.js:
249 * typeProfiler/return.js:
250 * typeProfiler/symbol.js:
251 * typeProfiler/weird-prototype-chain.js:
253 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
255 [DFG][FTL] Support MapSet / SetAdd intrinsics
256 https://bugs.webkit.org/show_bug.cgi?id=179858
258 Reviewed by Saam Barati.
260 * microbenchmarks/map-has-and-set.js: Added.
262 * stress/map-set-check-failure.js: Added.
266 * stress/map-set-cse.js: Added.
269 * stress/set-add-check-failure.js: Added.
273 * stress/set-add-cse.js: Added.
276 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
278 [JSC] Allow poly proto for intrinsic getters
279 https://bugs.webkit.org/show_bug.cgi?id=179550
281 Reviewed by Saam Barati.
283 This change is also tested by existing tests.
285 1. stress/intrinsic-getter-with-poly-proto.js
286 2. stress/poly-proto-intrinsic-getter-correctness.js
288 * stress/intrinsic-getter-with-poly-proto-getter-change.js: Added.
290 (makePolyProtoObject.foo.C):
291 (makePolyProtoObject.foo):
292 (makePolyProtoObject):
294 * stress/intrinsic-getter-with-poly-proto-proto-change.js: Added.
296 (makePolyProtoObject.foo.C):
297 (makePolyProtoObject.foo):
298 (makePolyProtoObject):
301 2017-11-20 Guillaume Emont <guijemont@igalia.com>
303 Skip stress/unshiftCountSlowCase-correct-postCapacity.js on embedded Linux
304 https://bugs.webkit.org/show_bug.cgi?id=179744
306 Reviewed by Michael Catanzaro.
308 This test uses too much memory for our buildbots on these platforms
311 * stress/unshiftCountSlowCase-correct-postCapacity.js:
312 Skip if $memoryLimited and linux.
314 2017-11-17 JF Bastien <jfbastien@apple.com>
316 WebAssembly JS API: throw when a promise can't be created
317 https://bugs.webkit.org/show_bug.cgi?id=179826
318 <rdar://problem/35455813>
320 Reviewed by Mark Lam.
322 Test WebAssembly.{compile,instantiate} where promise creation
323 fails because of a stack overflow.
325 * wasm/js-api/promise-stack-overflow.js: Added.
326 (const.runNearStackLimit.f.const.t):
328 (async.testInstantiate):
330 2017-11-16 Yusuke Suzuki <utatane.tea@gmail.com>
332 Unreviewed, mark regress-178385.js as memory exhausting
334 * stress/regress-178385.js:
336 2017-11-16 Ryan Haddad <ryanhaddad@apple.com>
338 Mark test262/test/language/statements/class/definition/fn-name-static-precedence.js as passing after r224927.
340 Unreviewed test gardening.
344 2017-11-16 Robin Morisset <rmorisset@apple.com>
346 REGRESSION (r224592): oss-fuzz: jsc: Null-dereference READ in JSC::JSCell::isObject (4216)
347 https://bugs.webkit.org/show_bug.cgi?id=179763
348 <rdar://problem/35550513>
350 Reviewed by Keith Miller.
352 Just adding a slightly cleaned-up version of the original fuzzer-found test.
354 * stress/tdz-this-in-try-catch.js: Added.
358 2017-11-14 Yusuke Suzuki <utatane.tea@gmail.com>
360 [DFG][FTL] Support Array::DirectArguments with OutOfBounds
361 https://bugs.webkit.org/show_bug.cgi?id=179594
363 Reviewed by Saam Barati.
365 * stress/direct-arguments-in-bounds-to-out-of-bounds.js: Added.
368 * stress/direct-arguments-out-of-bounds-watchpoint.js: Added.
372 2017-11-14 Saam Barati <sbarati@apple.com>
374 We need to set topCallFrame when calling Wasm::Memory::grow from the JIT
375 https://bugs.webkit.org/show_bug.cgi?id=179639
376 <rdar://problem/35513018>
378 Reviewed by JF Bastien.
380 * wasm/function-tests/grow-memory-cause-gc.js: Added.
384 2017-11-13 Mark Lam <mark.lam@apple.com>
386 Add more overflow check book-keeping for MarkedArgumentBuffer.
387 https://bugs.webkit.org/show_bug.cgi?id=179634
388 <rdar://problem/35492517>
390 Reviewed by Saam Barati.
392 * stress/regress-179634.js: Added.
394 2017-11-13 Mark Lam <mark.lam@apple.com>
396 Make the jsc shell loadGetterFromGetterSetter() function more robust.
397 https://bugs.webkit.org/show_bug.cgi?id=179619
398 <rdar://problem/35492518>
400 Reviewed by Saam Barati.
402 * stress/regress-179619.js: Added.
404 2017-11-12 Mark Lam <mark.lam@apple.com>
406 We should ensure that operationStrCat2 and operationStrCat3 are never passed Symbols as arguments.
407 https://bugs.webkit.org/show_bug.cgi?id=179562
408 <rdar://problem/35467022>
410 Reviewed by Saam Barati.
412 * regress-179562.js: Added.
414 2017-11-08 Saam Barati <sbarati@apple.com>
416 A JSFunction's ObjectAllocationProfile should watch the poly prototype watchpoint so it can clear its object allocation profile
417 https://bugs.webkit.org/show_bug.cgi?id=177792
419 Reviewed by Yusuke Suzuki.
421 * microbenchmarks/poly-proto-clear-js-function-allocation-profile.js: Added.
423 (foo.Foo.prototype.ensureX):
428 2017-11-08 Ryan Haddad <ryanhaddad@apple.com>
430 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
431 https://bugs.webkit.org/show_bug.cgi?id=178592
433 Unreviewed test gardening.
437 2017-11-08 Robin Morisset <rmorisset@apple.com>
439 Turn recursive tail calls into loops
440 https://bugs.webkit.org/show_bug.cgi?id=176601
442 Reviewed by Saam Barati.
444 Relanding after https://bugs.webkit.org/show_bug.cgi?id=178834.
446 Add some simple test that computes factorial in several ways, and other trivial computations.
447 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
448 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
449 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
450 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
452 * stress/inline-call-to-recursive-tail-call.js: Added.
467 2017-11-07 Mark Lam <mark.lam@apple.com>
469 AccessCase::generateImpl() should exclude the result register when restoring registers after a call.
470 https://bugs.webkit.org/show_bug.cgi?id=179355
471 <rdar://problem/35263053>
473 Reviewed by Saam Barati.
475 * stress/regress-179355.js: Added.
477 2017-11-05 Yusuke Suzuki <utatane.tea@gmail.com>
479 JIT call inline caches should cache calls to objects with getCallData/getConstructData traps
480 https://bugs.webkit.org/show_bug.cgi?id=144458
482 Reviewed by Saam Barati.
484 * microbenchmarks/dfg-internal-function-call.js: Added.
486 * microbenchmarks/dfg-internal-function-construct.js: Added.
488 * microbenchmarks/dfg-internal-function-not-handled-call.js: Added.
490 * microbenchmarks/dfg-internal-function-not-handled-construct.js: Added.
492 * stress/dfg-internal-function-call.js: Added.
495 * stress/dfg-internal-function-construct.js: Added.
498 * stress/internal-function-call.js: Added.
500 * stress/internal-function-construct.js: Added.
503 2017-11-05 Per Arne Vollan <pvollan@apple.com>
505 [Win] Skip stress/regress-178385.js.
506 https://bugs.webkit.org/show_bug.cgi?id=179298
508 Unreviewed test gardening.
510 * stress/regress-178385.js:
512 2017-11-03 Keith Miller <keith_miller@apple.com>
514 Add test for ic with side effects
515 https://bugs.webkit.org/show_bug.cgi?id=179268
517 Reviewed by Saam Barati.
519 * stress/put-inline-cache-side-effects.js: Added.
520 (let.i.of.objs.keys):
523 2017-11-03 Mark Lam <mark.lam@apple.com>
525 CachedCall (and its clients) needs overflow checks.
526 https://bugs.webkit.org/show_bug.cgi?id=179185
528 Reviewed by JF Bastien.
530 * stress/regress-179185.js: Added.
532 2017-11-02 Michael Saboff <msaboff@apple.com>
534 DFG needs to handle code motion of code in for..in loop bodies
535 https://bugs.webkit.org/show_bug.cgi?id=179212
537 Reviewed by Keith Miller.
541 * stress/for-in-side-effects.js: Added.
549 2017-11-02 Filip Pizlo <fpizlo@apple.com>
551 AI does not correctly model the clobber case of ArithClz32
552 https://bugs.webkit.org/show_bug.cgi?id=179188
554 Reviewed by Michael Saboff.
556 * stress/arith-clz32-effects.js: Added.
560 2017-11-01 Michael Saboff <msaboff@apple.com>
562 Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
563 https://bugs.webkit.org/show_bug.cgi?id=179140
565 Reviewed by Saam Barati.
569 * stress/regress-179140.js: Added.
573 2017-11-01 Yusuke Suzuki <utatane.tea@gmail.com>
575 [JSC] Introduce @toObject
576 https://bugs.webkit.org/show_bug.cgi?id=178726
578 Reviewed by Saam Barati.
580 * stress/array-copywithin.js:
582 * stress/object-constructor-boolean-edge.js: Added.
585 * stress/object-constructor-global.js: Added.
587 * stress/object-constructor-null-edge.js: Added.
590 * stress/object-constructor-number-edge.js: Added.
593 * stress/object-constructor-object-edge.js: Added.
597 * stress/object-constructor-string-edge.js: Added.
600 * stress/object-constructor-symbol-edge.js: Added.
603 * stress/object-constructor-undefined-edge.js: Added.
606 * stress/symbol-array-from.js: Added.
608 * stress/to-object-intrinsic-boolean-edge.js: Added.
610 (builtin.createBuiltin):
611 * stress/to-object-intrinsic-null-or-undefined-edge.js: Added.
613 * stress/to-object-intrinsic-number-edge.js: Added.
615 (builtin.createBuiltin):
616 * stress/to-object-intrinsic-object-edge.js: Added.
618 (builtin.createBuiltin):
620 * stress/to-object-intrinsic-string-edge.js: Added.
622 (builtin.createBuiltin):
623 * stress/to-object-intrinsic-symbol-edge.js: Added.
625 (builtin.createBuiltin):
626 * stress/to-object-intrinsic.js: Added.
629 (builtin.createBuiltin):
631 2017-10-27 Yusuke Suzuki <utatane.tea@gmail.com>
633 [DFG][FTL] Introduce StringSlice
634 https://bugs.webkit.org/show_bug.cgi?id=178934
636 Reviewed by Saam Barati.
638 * microbenchmarks/string-slice-empty.js: Added.
640 * microbenchmarks/string-slice-one-char.js: Added.
642 * microbenchmarks/string-slice.js: Added.
645 2017-10-26 Michael Saboff <msaboff@apple.com>
647 REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum
648 https://bugs.webkit.org/show_bug.cgi?id=178890
650 Reviewed by Keith Miller.
654 * stress/regress-178890.js: Added.
656 2017-10-26 Mark Lam <mark.lam@apple.com>
658 JSRopeString::RopeBuilder::append() should check for overflows.
659 https://bugs.webkit.org/show_bug.cgi?id=178385
660 <rdar://problem/35027468>
662 Reviewed by Saam Barati.
664 * stress/regress-178385.js: Added.
666 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
668 Unreviewed, rolling out r223961.
670 The change that required this has been rolled out.
674 "Mark test262.yaml/test262/test/language/statements/try/tco-
675 catch.js as passing."
676 https://bugs.webkit.org/show_bug.cgi?id=178592
677 https://trac.webkit.org/changeset/223961
679 2017-10-25 Commit Queue <commit-queue@webkit.org>
681 Unreviewed, rolling out r223691 and r223729.
682 https://bugs.webkit.org/show_bug.cgi?id=178834
684 Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
685 by rniwa on #webkit).
689 "Turn recursive tail calls into loops"
690 https://bugs.webkit.org/show_bug.cgi?id=176601
691 https://trac.webkit.org/changeset/223691
693 "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
694 comparison is always false due to limited range of data type
696 https://bugs.webkit.org/show_bug.cgi?id=178543
697 https://trac.webkit.org/changeset/223729
699 2017-10-25 Ryan Haddad <ryanhaddad@apple.com>
701 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
702 https://bugs.webkit.org/show_bug.cgi?id=178592
704 Unreviewed test gardening.
708 2017-10-24 Yusuke Suzuki <utatane.tea@gmail.com>
710 [FTL] Support NewStringObject
711 https://bugs.webkit.org/show_bug.cgi?id=178737
713 Reviewed by Saam Barati.
715 * stress/new-string-object.js: Added.
719 2017-10-15 Yusuke Suzuki <utatane.tea@gmail.com>
721 [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
722 https://bugs.webkit.org/show_bug.cgi?id=178308
724 Reviewed by Mark Lam.
728 2017-10-23 Yusuke Suzuki <utatane.tea@gmail.com>
730 [JSC] Use fastJoin in Array#toString
731 https://bugs.webkit.org/show_bug.cgi?id=178062
733 Reviewed by Darin Adler.
735 * microbenchmarks/contiguous-array-to-string.js: Added.
737 * microbenchmarks/double-array-to-string.js: Added.
739 * microbenchmarks/int32-array-to-string.js: Added.
742 2017-10-22 Zan Dobersek <zdobersek@igalia.com>
744 stress/check-string-ident.js is improperly skipped
745 https://bugs.webkit.org/show_bug.cgi?id=178642
747 Reviewed by Saam Barati.
749 * stress/check-string-ident.js: Drop the defaultNoEagerRun directive
750 since it enforces the run-jsc-stress-tests script to still set up the
751 test to run, despite the skip directive that's used before.
753 2017-10-20 Mark Lam <mark.lam@apple.com>
755 Add a test case for r214334.
756 https://bugs.webkit.org/show_bug.cgi?id=169941
757 <rdar://problem/31221258>
759 Reviewed by JF Bastien.
761 * stress/regress-169941.js: Added.
763 2017-10-19 JF Bastien <jfbastien@apple.com>
765 WebAssembly: no VM / JS version of everything but Instance
766 https://bugs.webkit.org/show_bug.cgi?id=177473
768 Reviewed by Filip Pizlo, Saam Barati.
770 - Exceeding max on memory growth now returns a range error as per
771 spec. This is a (very minor) breaking change: it used to throw OOM
772 error. Update the corresponding test.
774 * wasm/js-api/memory-grow.js:
776 * wasm/js-api/table.js:
779 2017-10-19 Mark Lam <mark.lam@apple.com>
781 Stringifier::appendStringifiedValue() is missing an exception check.
782 https://bugs.webkit.org/show_bug.cgi?id=178386
783 <rdar://problem/35027610>
785 Reviewed by Saam Barati.
787 * stress/regress-178386.js: Added.
789 2017-10-19 Michael Saboff <msaboff@apple.com>
791 Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
792 https://bugs.webkit.org/show_bug.cgi?id=178521
794 Reviewed by JF Bastien.
796 * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
797 now passes with the current version (5.0) of the Emoji spec.
799 2017-10-19 Robin Morisset <rmorisset@apple.com>
801 Turn recursive tail calls into loops
802 https://bugs.webkit.org/show_bug.cgi?id=176601
804 Reviewed by Saam Barati.
806 Add some simple test that computes factorial in several ways, and other trivial computations.
807 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
808 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
809 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
810 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
812 * stress/inline-call-to-recursive-tail-call.js: Added.
824 2017-10-18 Mark Lam <mark.lam@apple.com>
826 RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
827 https://bugs.webkit.org/show_bug.cgi?id=177600
828 <rdar://problem/34710985>
830 Reviewed by Saam Barati.
832 * stress/regress-177600.js: Added.
834 2017-10-18 Mark Lam <mark.lam@apple.com>
836 The compiler should always register a structure when it adds its transitionWatchPointSet.
837 https://bugs.webkit.org/show_bug.cgi?id=178420
838 <rdar://problem/34814024>
840 Reviewed by Saam Barati and Filip Pizlo.
842 * stress/regress-178420.js: Added.
843 (new.Array.10000.map):
845 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com>
847 [JSC] __proto__ getter should be fast
848 https://bugs.webkit.org/show_bug.cgi?id=178067
850 Reviewed by Saam Barati.
852 * stress/dfg-object-proto-accessor.js: Added.
856 * stress/dfg-object-proto-getter.js: Added.
860 * stress/dfg-object-prototype-of.js: Added.
864 * stress/dfg-reflect-get-prototype-of.js: Added.
868 * stress/intrinsic-getter-with-poly-proto.js: Added.
870 (makePolyProtoObject.foo.C):
871 (makePolyProtoObject.foo):
872 (makePolyProtoObject):
874 * stress/object-get-prototype-of-filtered.js: Added.
879 * stress/object-get-prototype-of-mono-proto.js: Added.
881 (makePolyProtoObject.foo.C):
882 (makePolyProtoObject.foo):
883 (makePolyProtoObject):
885 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
887 (makePolyProtoObject.foo.C):
888 (makePolyProtoObject.foo):
889 (makePolyProtoObject):
891 * stress/object-get-prototype-of-poly-proto.js: Added.
893 (makePolyProtoObject.foo.C):
894 (makePolyProtoObject.foo):
895 (makePolyProtoObject):
897 * stress/object-proto-getter-filtered.js: Added.
902 * stress/object-proto-getter-poly-mono-proto.js: Added.
904 (makePolyProtoObject.foo.C):
905 (makePolyProtoObject.foo):
906 (makePolyProtoObject):
908 * stress/object-proto-getter-poly-proto.js: Added.
910 (makePolyProtoObject.foo.C):
911 (makePolyProtoObject.foo):
912 (makePolyProtoObject):
914 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
915 * stress/string-proto.js: Added.
919 2017-10-17 Ryan Haddad <ryanhaddad@apple.com>
921 Unreviewed, rolling out r223523.
923 A test for this change is failing on debug JSC bots.
927 "[JSC] __proto__ getter should be fast"
928 https://bugs.webkit.org/show_bug.cgi?id=178067
929 https://trac.webkit.org/changeset/223523
931 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com>
933 [JSC] __proto__ getter should be fast
934 https://bugs.webkit.org/show_bug.cgi?id=178067
936 Reviewed by Saam Barati.
938 * stress/dfg-object-proto-accessor.js: Added.
942 * stress/dfg-object-proto-getter.js: Added.
946 * stress/dfg-object-prototype-of.js: Added.
950 * stress/dfg-reflect-get-prototype-of.js: Added.
954 * stress/object-get-prototype-of-filtered.js: Added.
959 * stress/object-get-prototype-of-mono-proto.js: Added.
961 (makePolyProtoObject.foo.C):
962 (makePolyProtoObject.foo):
963 (makePolyProtoObject):
965 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
967 (makePolyProtoObject.foo.C):
968 (makePolyProtoObject.foo):
969 (makePolyProtoObject):
971 * stress/object-get-prototype-of-poly-proto.js: Added.
973 (makePolyProtoObject.foo.C):
974 (makePolyProtoObject.foo):
975 (makePolyProtoObject):
977 * stress/object-proto-getter-filtered.js: Added.
982 * stress/object-proto-getter-poly-mono-proto.js: Added.
984 (makePolyProtoObject.foo.C):
985 (makePolyProtoObject.foo):
986 (makePolyProtoObject):
988 * stress/object-proto-getter-poly-proto.js: Added.
990 (makePolyProtoObject.foo.C):
991 (makePolyProtoObject.foo):
992 (makePolyProtoObject):
994 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
995 * stress/string-proto.js: Added.
999 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com>
1001 Reland "Add Above/Below comparisons for UInt32 patterns"
1002 https://bugs.webkit.org/show_bug.cgi?id=177281
1004 Reviewed by Saam Barati.
1006 * stress/uint32-comparison-jump.js: Added.
1016 * stress/uint32-comparison.js: Added.
1027 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com>
1029 WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
1030 https://bugs.webkit.org/show_bug.cgi?id=178210
1032 Reviewed by Saam Barati.
1034 * wasm/function-tests/trap-from-start-async.js:
1035 (async.StartTrapsAsync):
1036 * wasm/function-tests/trap-from-start.js:
1038 * wasm/js-api/web-assembly-function.js:
1039 (assert.eq.Object.getPrototypeOf):
1040 * wasm/js-api/wrapper-function.js:
1041 (return.new.WebAssembly.Module):
1042 (assert.throws.makeInstance): Deleted.
1043 (assert.throws.Bar): Deleted.
1044 (assert.throws): Deleted.
1046 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1048 Enable gigacage on iOS
1049 https://bugs.webkit.org/show_bug.cgi?id=177586
1051 Reviewed by JF Bastien.
1053 Add tests for when Gigacage gets runtime disabled.
1055 * stress/disable-gigacage-arrays.js: Added.
1057 * stress/disable-gigacage-strings.js: Added.
1059 * stress/disable-gigacage-typed-arrays.js: Added.
1062 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com>
1064 import.meta should not be assignable
1065 https://bugs.webkit.org/show_bug.cgi?id=178202
1067 Reviewed by Saam Barati.
1069 * modules/import-meta-assignment.js: Added.
1071 (SyntaxError.import.meta.can.shouldThrow):
1073 2017-10-11 Saam Barati <sbarati@apple.com>
1075 Unreviewed. Actually skip certain type profiler tests in debug.
1077 * typeProfiler.yaml:
1078 * typeProfiler/deltablue-for-of.js:
1079 * typeProfiler/getter-richards.js:
1081 2017-10-11 Commit Queue <commit-queue@webkit.org>
1083 Unreviewed, rolling out r223113 and r223121.
1084 https://bugs.webkit.org/show_bug.cgi?id=178182
1086 Reintroduced 20% regression on Kraken (Requested by rniwa on
1089 Reverted changesets:
1091 "Enable gigacage on iOS"
1092 https://bugs.webkit.org/show_bug.cgi?id=177586
1093 https://trac.webkit.org/changeset/223113
1095 "Use one virtual allocation for all gigacages and their
1097 https://bugs.webkit.org/show_bug.cgi?id=178050
1098 https://trac.webkit.org/changeset/223121
1100 2017-10-11 Michael Saboff <msaboff@apple.com>
1102 Disable test262 named capture group tests with direct unicode names and with references before definitions
1103 https://bugs.webkit.org/show_bug.cgi?id=178177
1105 Reviewed by Keith Miller.
1107 Bugs to track fixing these test are:
1108 https://bugs.webkit.org/show_bug.cgi?id=178174 -
1109 "Add support in named capture group identifiers for direct surrogate pairs"
1110 https://bugs.webkit.org/show_bug.cgi?id=178175 -
1111 "Test262 failure with Named Capture Groups - using a reference before the group is defined"
1115 2017-10-11 Caio Lima <ticaiolima@gmail.com>
1117 Object properties are undefined in super.call() but not in this.call()
1118 https://bugs.webkit.org/show_bug.cgi?id=177230
1120 Reviewed by Saam Barati.
1122 * stress/super-call-function-subclass.js: Added.
1126 * stress/super-dot-call-and-apply.js: Added.
1130 (A.prototype.apply):
1131 (B.prototype.testSuper):
1133 (const.obj.new.B.string_appeared_here.obj.testSuper.C):
1134 (D.prototype.testSuper):
1137 2017-10-10 Saam Barati <sbarati@apple.com>
1139 The prototype cache should be aware of the Executable it generates a Structure for
1140 https://bugs.webkit.org/show_bug.cgi?id=177907
1142 Reviewed by Filip Pizlo.
1144 * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
1154 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com>
1156 `async` should be able to be used as an imported binding name
1157 https://bugs.webkit.org/show_bug.cgi?id=176573
1159 Reviewed by Saam Barati.
1161 * modules/import-default-async.js: Added.
1162 * modules/import-named-async-as.js: Added.
1163 * modules/import-named-async.js: Added.
1164 * modules/import-named-async/target.js: Added.
1165 * modules/import-namespace-async.js: Added.
1168 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1170 Enable gigacage on iOS
1171 https://bugs.webkit.org/show_bug.cgi?id=177586
1173 Reviewed by JF Bastien.
1175 Add tests for when Gigacage gets runtime disabled.
1177 * stress/disable-gigacage-arrays.js: Added.
1179 * stress/disable-gigacage-strings.js: Added.
1181 * stress/disable-gigacage-typed-arrays.js: Added.
1184 2017-10-09 Michael Saboff <msaboff@apple.com>
1186 Implement RegExp Unicode property escapes
1187 https://bugs.webkit.org/show_bug.cgi?id=172069
1189 Reviewed by JF Bastien.
1191 Enabled Unicode Property tests.
1195 2017-10-09 Commit Queue <commit-queue@webkit.org>
1197 Unreviewed, rolling out r223015 and r223025.
1198 https://bugs.webkit.org/show_bug.cgi?id=178093
1200 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
1203 Reverted changesets:
1205 "Enable gigacage on iOS"
1206 https://bugs.webkit.org/show_bug.cgi?id=177586
1207 http://trac.webkit.org/changeset/223015
1209 "Unreviewed, disable Gigacage on ARM64 Linux"
1210 https://bugs.webkit.org/show_bug.cgi?id=177586
1211 http://trac.webkit.org/changeset/223025
1213 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
1215 Update expectations for test262 tests that pass after r223043.
1216 https://bugs.webkit.org/show_bug.cgi?id=176685
1218 Unreviewed test gardening.
1222 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
1224 Unreviewed, rolling out r223022.
1226 This change introduced 18 test262 failures.
1230 "`async` should be able to be used as an imported binding
1232 https://bugs.webkit.org/show_bug.cgi?id=176573
1233 http://trac.webkit.org/changeset/223022
1235 2017-10-09 Saam Barati <sbarati@apple.com>
1237 3 poly-proto JSC tests timing out on debug after r222827
1238 https://bugs.webkit.org/show_bug.cgi?id=177880
1239 <rdar://problem/34817122>
1243 I'm skipping these type profiler tests on debug since they are long running.
1245 * typeProfiler/deltablue-for-of.js:
1246 * typeProfiler/getter-richards.js:
1248 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com>
1250 Safari 10 /11 problem with if (!await get(something)).
1251 https://bugs.webkit.org/show_bug.cgi?id=176685
1253 Reviewed by Saam Barati.
1255 * stress/async-await-basic.js:
1256 (awaitEpression.async):
1257 * stress/async-await-syntax.js:
1258 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
1259 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
1261 2017-10-08 Saam Barati <sbarati@apple.com>
1263 Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
1265 * typeProfiler/deltablue-for-of.js:
1266 * typeProfiler/getter-richards.js:
1268 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com>
1270 `async` should be able to be used as an imported binding name
1271 https://bugs.webkit.org/show_bug.cgi?id=176573
1273 Reviewed by Darin Adler.
1275 * modules/import-default-async.js: Added.
1276 * modules/import-named-async-as.js: Added.
1277 * modules/import-named-async.js: Added.
1278 * modules/import-named-async/target.js: Added.
1279 * modules/import-namespace-async.js: Added.
1281 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1283 Enable gigacage on iOS
1284 https://bugs.webkit.org/show_bug.cgi?id=177586
1286 Reviewed by JF Bastien.
1288 Add tests for when Gigacage gets runtime disabled.
1290 * stress/disable-gigacage-arrays.js: Added.
1292 * stress/disable-gigacage-strings.js: Added.
1294 * stress/disable-gigacage-typed-arrays.js: Added.
1297 2017-10-06 Commit Queue <commit-queue@webkit.org>
1299 Unreviewed, rolling out r222791 and r222873.
1300 https://bugs.webkit.org/show_bug.cgi?id=178031
1302 Caused crashes with workers/wasm LayoutTests (Requested by
1303 ryanhaddad on #webkit).
1305 Reverted changesets:
1307 "WebAssembly: no VM / JS version of everything but Instance"
1308 https://bugs.webkit.org/show_bug.cgi?id=177473
1309 http://trac.webkit.org/changeset/222791
1311 "WebAssembly: address no VM / JS follow-ups"
1312 https://bugs.webkit.org/show_bug.cgi?id=177887
1313 http://trac.webkit.org/changeset/222873
1315 2017-10-05 Saam Barati <sbarati@apple.com>
1317 Make sure all prototypes under poly proto get added into the VM's prototype map
1318 https://bugs.webkit.org/show_bug.cgi?id=177909
1320 Reviewed by Keith Miller.
1322 * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
1328 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com>
1330 [JSC] Introduce import.meta
1331 https://bugs.webkit.org/show_bug.cgi?id=177703
1333 Reviewed by Filip Pizlo.
1335 * modules/import-meta-syntax.js: Added.
1338 * modules/import-meta.js: Added.
1339 * modules/import-meta/cocoa.js: Added.
1340 * modules/resources/assert.js:
1341 (export.shouldNotThrow):
1342 * stress/import-syntax.js:
1344 2017-10-04 Saam Barati <sbarati@apple.com>
1346 Make pertinent AccessCases watch the poly proto watchpoint
1347 https://bugs.webkit.org/show_bug.cgi?id=177765
1349 Reviewed by Keith Miller.
1351 * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
1356 * stress/poly-proto-clear-stub.js: Added.
1361 2017-10-04 Ryan Haddad <ryanhaddad@apple.com>
1363 Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
1365 Unreviewed test gardening.
1369 2017-10-04 Saam Barati <sbarati@apple.com>
1371 3 poly-proto JSC tests timing out on debug after r222827
1372 https://bugs.webkit.org/show_bug.cgi?id=177880
1374 Rubber stamped by Mark Lam.
1376 * microbenchmarks/poly-proto-access.js:
1377 * typeProfiler/deltablue-for-of.js:
1378 * typeProfiler/getter-richards.js:
1380 2017-10-04 Joseph Pecoraro <pecoraro@apple.com>
1382 Unreviewed, marking tco-catch.js as a failure after test262 update
1383 https://bugs.webkit.org/show_bug.cgi?id=177859
1387 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
1389 Unreviewed, marking one async iterator test262 test failed
1390 https://bugs.webkit.org/show_bug.cgi?id=177859
1394 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
1396 [Test262] Update Test262 to Oct 4 version
1397 https://bugs.webkit.org/show_bug.cgi?id=177859
1399 Reviewed by Sam Weinig.
1401 Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
1402 we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
1405 * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
1407 * test262/harness/typeCoercion.js:
1408 (testCoercibleToIndexZero):
1409 (testCoercibleToIndexOne):
1410 (testCoercibleToIndexFromIndex):
1411 (testNotCoercibleToIndex.testPrimitiveValue):
1412 (testNotCoercibleToInteger):
1413 (testCoercibleToBigIntZero.testPrimitiveValue):
1414 (testCoercibleToBigIntZero):
1415 (testCoercibleToBigIntOne.testPrimitiveValue):
1416 (testCoercibleToBigIntOne):
1417 (testPrimitiveValue):
1418 (testCoercibleToBigIntFromBigInt):
1419 (testNotCoercibleToBigInt.testPrimitiveValue):
1420 (testNotCoercibleToBigInt.testStringValue):
1421 (testNotCoercibleToBigInt):
1422 * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
1423 * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
1424 * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
1425 * test262/test/built-ins/Array/proto-from-ctor-realm.js:
1426 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
1427 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
1428 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
1429 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
1430 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
1431 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
1432 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
1433 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
1434 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
1435 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
1436 * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
1437 * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
1438 (testCoercibleToBigIntZero):
1439 (testCoercibleToBigIntOne):
1440 (testNotCoercibleToBigInt):
1443 (toString): Deleted.
1444 (Symbol.toPrimitive): Deleted.
1445 * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
1446 (testCoercibleToIndexZero):
1447 (testCoercibleToIndexOne):
1448 (testNotCoercibleToIndex):
1450 (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
1451 (assert.sameValue.BigInt.asIntN.toString): Deleted.
1452 (BigInt.asIntN.Symbol.toPrimitive): Deleted.
1453 (BigInt.asIntN.valueOf): Deleted.
1454 (BigInt.asIntN.toString): Deleted.
1455 * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
1456 * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
1457 * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
1458 (testCoercibleToBigIntZero):
1459 (testCoercibleToBigIntOne):
1460 (testNotCoercibleToBigInt):
1461 * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
1462 (testCoercibleToIndexZero):
1463 (testCoercibleToIndexOne):
1464 (testNotCoercibleToIndex):
1465 * test262/test/built-ins/BigInt/asUintN/length.js: Added.
1466 * test262/test/built-ins/BigInt/asUintN/name.js: Added.
1467 * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
1470 * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
1471 * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
1472 * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
1473 * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
1474 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
1475 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
1476 * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
1477 * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
1478 * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
1479 * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
1480 * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
1481 * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
1482 * test262/test/built-ins/Error/proto-from-ctor-realm.js:
1483 * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
1484 * test262/test/built-ins/Function/call-bind-this-realm-value.js:
1485 * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
1486 * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
1487 * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
1488 * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
1489 * test262/test/built-ins/Function/proto-from-ctor-realm.js:
1490 * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
1491 * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
1492 * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
1493 * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
1495 (BigInt.prototype.toJSON):
1496 * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
1498 * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
1499 (BigInt.prototype.toJSON):
1500 * test262/test/built-ins/JSON/stringify/bigint.js:
1501 * test262/test/built-ins/Map/proto-from-ctor-realm.js:
1502 * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
1503 * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
1504 * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
1505 * test262/test/built-ins/Number/proto-from-ctor-realm.js:
1506 * test262/test/built-ins/Object/proto-from-ctor.js:
1507 * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
1508 * test262/test/built-ins/Proxy/apply/arguments-realm.js:
1509 * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
1510 * test262/test/built-ins/Proxy/construct/arguments-realm.js:
1511 * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
1512 * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
1513 * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
1514 * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
1515 * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
1516 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
1517 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
1518 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
1519 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
1520 * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
1521 * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
1522 * test262/test/built-ins/Proxy/get-fn-realm.js:
1523 * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
1524 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
1525 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
1526 * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
1527 * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
1528 * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
1529 * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
1530 * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
1531 * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
1532 * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
1533 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
1534 * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
1537 * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
1538 * test262/test/built-ins/RegExp/dotall/with-dotall.js:
1539 * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
1540 * test262/test/built-ins/RegExp/dotall/without-dotall.js:
1541 * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
1542 * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
1543 * test262/test/built-ins/RegExp/u180e.js: Added.
1544 * test262/test/built-ins/Set/proto-from-ctor-realm.js:
1545 * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
1546 * test262/test/built-ins/String/proto-from-ctor-realm.js:
1547 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
1548 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
1549 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
1550 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
1551 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
1552 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
1553 * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
1554 * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
1555 * test262/test/built-ins/String/prototype/endsWith/length.js:
1556 * test262/test/built-ins/String/prototype/endsWith/name.js:
1557 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
1558 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
1559 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
1560 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
1561 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
1562 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
1563 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
1564 * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
1565 * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
1566 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
1567 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
1568 * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
1569 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
1570 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
1571 * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
1572 * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
1573 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
1574 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
1575 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
1576 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
1577 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
1578 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
1579 * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
1580 * test262/test/built-ins/String/prototype/includes/includes.js:
1581 * test262/test/built-ins/String/prototype/includes/length.js:
1582 * test262/test/built-ins/String/prototype/includes/name.js:
1583 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
1584 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
1585 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
1586 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
1587 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
1588 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
1589 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
1590 * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
1591 * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
1592 * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
1593 * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
1594 * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
1595 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
1596 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
1597 * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
1598 * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
1599 * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
1600 * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
1601 * test262/test/built-ins/String/prototype/trim/u180e.js:
1602 * test262/test/built-ins/Symbol/for/cross-realm.js:
1603 * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
1604 * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
1605 * test262/test/built-ins/Symbol/iterator/cross-realm.js:
1606 * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
1607 * test262/test/built-ins/Symbol/match/cross-realm.js:
1608 * test262/test/built-ins/Symbol/replace/cross-realm.js:
1609 * test262/test/built-ins/Symbol/search/cross-realm.js:
1610 * test262/test/built-ins/Symbol/species/cross-realm.js:
1611 * test262/test/built-ins/Symbol/split/cross-realm.js:
1612 * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
1613 * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
1614 * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
1615 * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
1616 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
1617 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
1618 * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
1619 * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
1620 * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
1621 * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
1622 * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
1623 * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
1624 * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
1625 * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
1626 * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
1627 * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
1628 * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
1629 * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
1630 * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
1631 * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
1632 * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
1633 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
1634 * test262/test/language/comments/mongolian-vowel-separator-multi.js:
1635 * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
1636 * test262/test/language/comments/mongolian-vowel-separator-single.js:
1637 * test262/test/language/eval-code/indirect/realm.js:
1638 * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
1641 * test262/test/language/expressions/call/eval-realm-indirect.js:
1642 * test262/test/language/expressions/generators/eval-body-proto-realm.js:
1643 * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
1644 * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
1645 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
1646 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
1647 * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
1648 * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
1649 * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
1650 * test262/test/language/expressions/greater-than/bigint-and-number.js:
1651 * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
1652 * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
1653 * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
1654 * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
1655 * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
1656 * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
1657 * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
1658 * test262/test/language/expressions/less-than/bigint-and-number.js:
1659 * test262/test/language/expressions/new/non-ctor-err-realm.js:
1660 * test262/test/language/expressions/super/realm.js:
1661 * test262/test/language/expressions/tagged-template/cache-realm.js:
1662 * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
1663 * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
1664 * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
1665 * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
1666 * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
1667 * test262/test/language/literals/string/mongolian-vowel-separator.js:
1668 * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
1671 * test262/test/language/statements/for-of/iterator-next-reference.js:
1673 (iterator.next): Deleted.
1674 (x.of.iterable.): Deleted.
1675 (x.of.iterable.get return): Deleted.
1676 (x.of.iterable.iterator.next): Deleted.
1677 * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
1678 * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
1679 * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
1680 * test262/test/language/white-space/mongolian-vowel-separator.js:
1681 * test262/test262-Revision.txt:
1683 2017-10-03 Saam Barati <sbarati@apple.com>
1685 Implement polymorphic prototypes
1686 https://bugs.webkit.org/show_bug.cgi?id=176391
1688 Reviewed by Filip Pizlo.
1690 * microbenchmarks/poly-proto-access.js: Added.
1693 (foo.C.prototype.get bar):
1696 * microbenchmarks/poly-proto-put-transition-speed.js: Added.
1698 (makePolyProtoObject.foo.C):
1699 (makePolyProtoObject.foo):
1700 (makePolyProtoObject):
1702 * microbenchmarks/poly-proto-setter-speed.js: Added.
1704 (makePolyProtoObject.foo.C):
1705 (makePolyProtoObject.foo.C.prototype.set p):
1706 (makePolyProtoObject.foo):
1707 (makePolyProtoObject):
1709 * stress/constructor-with-return.js:
1710 (i.tests.forEach.Constructor):
1712 (tests.forEach.Constructor): Deleted.
1713 (tests.forEach): Deleted.
1714 * stress/dom-jit-with-poly-proto.js: Added.
1716 (makePolyProtoObject.foo.C):
1717 (makePolyProtoObject.foo):
1718 (makePolyProtoObject):
1720 * stress/poly-proto-custom-value-and-accessor.js: Added.
1722 (makePolyProtoObject.foo.C):
1723 (makePolyProtoObject.foo):
1724 (makePolyProtoObject):
1727 * stress/poly-proto-intrinsic-getter-correctness.js: Added.
1729 (makePolyProtoObject.foo.C):
1730 (makePolyProtoObject.foo):
1731 (makePolyProtoObject):
1733 * stress/poly-proto-miss.js: Added.
1734 (makePolyProtoInstanceWithNullPrototype.foo.C):
1735 (makePolyProtoInstanceWithNullPrototype.foo):
1736 (makePolyProtoInstanceWithNullPrototype):
1739 * stress/poly-proto-op-in-caching.js: Added.
1741 (makePolyProtoObject.foo.C):
1742 (makePolyProtoObject.foo):
1743 (makePolyProtoObject):
1746 * stress/poly-proto-put-transition.js: Added.
1748 (makePolyProtoObject.foo.C):
1749 (makePolyProtoObject.foo):
1750 (makePolyProtoObject):
1752 (i.obj.__proto__.set p):
1753 * stress/poly-proto-set-prototype.js: Added.
1755 (let.alternateProto.get x):
1756 (let.alternateProto2.get y):
1757 (let.alternateProto2.get x):
1761 * stress/poly-proto-setter.js: Added.
1763 (makePolyProtoObject.foo.C):
1764 (makePolyProtoObject.foo.C.prototype.set p):
1765 (makePolyProtoObject.foo.C.prototype.get p):
1766 (makePolyProtoObject.foo):
1767 (makePolyProtoObject):
1769 * stress/poly-proto-using-inheritance.js: Added.
1772 (foo.C.prototype.get baz):
1777 * stress/primitive-poly-proto.js: Added.
1778 (makePolyProtoInstance.foo.C):
1779 (makePolyProtoInstance.foo):
1780 (makePolyProtoInstance):
1783 * stress/prototype-is-not-js-object.js: Added.
1788 * stress/try-get-by-id-poly-proto.js: Added.
1790 (makePolyProtoObject.foo.C):
1791 (makePolyProtoObject.foo):
1792 (makePolyProtoObject):
1794 (x.__proto__.get bar):
1796 * typeProfiler/overflow.js:
1798 2017-10-03 JF Bastien <jfbastien@apple.com>
1800 WebAssembly: no VM / JS version of everything but Instance
1801 https://bugs.webkit.org/show_bug.cgi?id=177473
1803 Reviewed by Filip Pizlo.
1805 - Exceeding max on memory growth now returns a range error as per
1806 spec. This is a (very minor) breaking change: it used to throw OOM
1807 error. Update the corresponding test.
1809 * wasm/js-api/memory-grow.js:
1811 * wasm/js-api/table.js:
1814 2017-10-03 Ryan Haddad <ryanhaddad@apple.com>
1816 Skip JSC test stress/regress-159779-2.js on debug.
1817 https://bugs.webkit.org/show_bug.cgi?id=177204
1819 Unreviewed test gardening.
1821 * stress/regress-159779-2.js:
1823 2017-10-02 Caio Lima <ticaiolima@gmail.com>
1825 ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
1826 https://bugs.webkit.org/show_bug.cgi?id=175642
1828 Reviewed by Darin Adler.
1830 * ChakraCore/test/Function/apply3.baseline-jsc:
1832 2017-10-01 Commit Queue <commit-queue@webkit.org>
1834 Unreviewed, rolling out r222564.
1835 https://bugs.webkit.org/show_bug.cgi?id=177720
1837 "It regressed JetStream by 2% on iOS caused by a 50%
1838 regression on the bigfib subtest" (Requested by saamyjoon on
1843 "Add Above/Below comparisons for UInt32 patterns"
1844 https://bugs.webkit.org/show_bug.cgi?id=177281
1845 http://trac.webkit.org/changeset/222564
1847 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com>
1849 [DFG] Support ArrayPush with multiple args
1850 https://bugs.webkit.org/show_bug.cgi?id=175823
1852 Reviewed by Saam Barati.
1854 * microbenchmarks/array-push-0.js: Added.
1856 * microbenchmarks/array-push-1.js: Added.
1858 * microbenchmarks/array-push-2.js: Added.
1860 * microbenchmarks/array-push-3.js: Added.
1862 * stress/array-push-multiple-contiguous.js: Added.
1865 * stress/array-push-multiple-double-nan.js: Added.
1868 * stress/array-push-multiple-double.js: Added.
1871 * stress/array-push-multiple-int32.js: Added.
1874 * stress/array-push-multiple-many-contiguous.js: Added.
1877 * stress/array-push-multiple-many-double.js: Added.
1880 * stress/array-push-multiple-many-int32.js: Added.
1883 * stress/array-push-multiple-many-storage.js: Added.
1886 * stress/array-push-multiple-storage.js: Added.
1889 * stress/array-push-with-force-exit.js: Added.
1890 (target.createBuiltin):
1892 2017-09-29 Saam Barati <sbarati@apple.com>
1894 Custom GetterSetterAccessCase does not use the correct slotBase when making call
1895 https://bugs.webkit.org/show_bug.cgi?id=177639
1897 Reviewed by Geoffrey Garen.
1899 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
1905 2017-09-29 Commit Queue <commit-queue@webkit.org>
1907 Unreviewed, rolling out r222563, r222565, and r222581.
1908 https://bugs.webkit.org/show_bug.cgi?id=177675
1910 "It causes a crash when playing youtube videos" (Requested by
1911 saamyjoon on #webkit).
1913 Reverted changesets:
1915 "[DFG] Support ArrayPush with multiple args"
1916 https://bugs.webkit.org/show_bug.cgi?id=175823
1917 http://trac.webkit.org/changeset/222563
1919 "Unreviewed, build fix after r222563"
1920 https://bugs.webkit.org/show_bug.cgi?id=175823
1921 http://trac.webkit.org/changeset/222565
1923 "Unreviewed, fix x86 breaking due to exhausted registers"
1924 https://bugs.webkit.org/show_bug.cgi?id=175823
1925 http://trac.webkit.org/changeset/222581
1927 2017-09-28 Mark Lam <mark.lam@apple.com>
1929 test262: Unexpected passes after r222617 and r222618.
1930 https://bugs.webkit.org/show_bug.cgi?id=177622
1931 <rdar://problem/34725960>
1933 Reviewed by Saam Barati.
1935 Update test262.yaml for tests that are now passing.
1939 2017-09-27 Michael Saboff <msaboff@apple.com>
1941 REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
1942 https://bugs.webkit.org/show_bug.cgi?id=177570
1944 Reviewed by Filip Pizlo.
1946 New regression test.
1948 * stress/regress-177570.js: Added.
1950 2017-09-28 Michael Saboff <msaboff@apple.com>
1952 Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
1953 https://bugs.webkit.org/show_bug.cgi?id=177423
1955 Reviewed by Mark Lam.
1957 Updated regression test.
1959 * stress/regress-177423.js:
1962 2017-09-27 Mark Lam <mark.lam@apple.com>
1964 JSArray::canFastCopy() should fail if the source and destination arrays are the same.
1965 https://bugs.webkit.org/show_bug.cgi?id=177584
1966 <rdar://problem/34463903>
1968 Reviewed by Saam Barati.
1970 * stress/regress-177584.js: Added.
1972 (Array.prototype.Symbol.species):
1974 2017-09-27 Saam Barati <sbarati@apple.com>
1976 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
1977 https://bugs.webkit.org/show_bug.cgi?id=177523
1979 Reviewed by Mark Lam.
1981 * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
1984 (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
1986 (i.Test.prototype.propName):
1988 2017-09-27 Mark Lam <mark.lam@apple.com>
1990 Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
1991 https://bugs.webkit.org/show_bug.cgi?id=177423
1992 <rdar://problem/34621320>
1994 Reviewed by Keith Miller.
1996 * stress/regress-177423.js: Added.
1998 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com>
2000 Add Above/Below comparisons for UInt32 patterns
2001 https://bugs.webkit.org/show_bug.cgi?id=177281
2003 Reviewed by Saam Barati.
2005 * stress/uint32-comparison-jump.js: Added.
2015 * stress/uint32-comparison.js: Added.
2026 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com>
2028 [DFG] Support ArrayPush with multiple args
2029 https://bugs.webkit.org/show_bug.cgi?id=175823
2031 Reviewed by Saam Barati.
2033 * microbenchmarks/array-push-0.js: Added.
2035 * microbenchmarks/array-push-1.js: Added.
2037 * microbenchmarks/array-push-2.js: Added.
2039 * microbenchmarks/array-push-3.js: Added.
2041 * stress/array-push-multiple-contiguous.js: Added.
2044 * stress/array-push-multiple-double-nan.js: Added.
2047 * stress/array-push-multiple-double.js: Added.
2050 * stress/array-push-multiple-int32.js: Added.
2053 * stress/array-push-multiple-many-contiguous.js: Added.
2056 * stress/array-push-multiple-many-double.js: Added.
2059 * stress/array-push-multiple-many-int32.js: Added.
2062 * stress/array-push-multiple-many-storage.js: Added.
2065 * stress/array-push-multiple-storage.js: Added.
2069 2017-09-26 Commit Queue <commit-queue@webkit.org>
2071 Unreviewed, rolling out r222518.
2072 https://bugs.webkit.org/show_bug.cgi?id=177507
2074 Break the High Sierra build (Requested by yusukesuzuki on
2079 "Add Above/Below comparisons for UInt32 patterns"
2080 https://bugs.webkit.org/show_bug.cgi?id=177281
2081 http://trac.webkit.org/changeset/222518
2083 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com>
2085 Add Above/Below comparisons for UInt32 patterns
2086 https://bugs.webkit.org/show_bug.cgi?id=177281
2088 Reviewed by Saam Barati.
2090 * stress/uint32-comparison-jump.js: Added.
2100 * stress/uint32-comparison.js: Added.
2111 2017-09-23 Keith Miller <keith_miller@apple.com>
2113 Fix infinite looping test262 test
2114 https://bugs.webkit.org/show_bug.cgi?id=177412
2116 Reviewed by Yusuke Suzuki.
2118 This test was poorly designed since failing it would cause the vm
2119 to inifinite loop. I've fixed it locally and will fix it on github pending
2120 the results of next weeks tc39 meeting.
2123 * test262/test/language/statements/for-of/iterator-next-reference.js:
2125 2017-09-23 Joseph Pecoraro <pecoraro@apple.com>
2127 test262: $.agent became $262.agent in test262 update
2128 https://bugs.webkit.org/show_bug.cgi?id=177407
2130 Reviewed by Yusuke Suzuki.
2133 ~320 tests pass now that we correctly make $262 available.
2135 2017-09-22 Keith Miller <keith_miller@apple.com>
2137 Speculatively change iteration protocall to use the same next function
2138 https://bugs.webkit.org/show_bug.cgi?id=175653
2140 Reviewed by Saam Barati.
2142 Change test to match the new iteration behavior.
2144 * stress/spread-optimized-properly.js:
2146 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com>
2148 [DFG][FTL] Profile array vector length for array allocation
2149 https://bugs.webkit.org/show_bug.cgi?id=177051
2151 Reviewed by Saam Barati.
2153 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
2156 2017-09-22 Commit Queue <commit-queue@webkit.org>
2158 Unreviewed, rolling out r222380.
2159 https://bugs.webkit.org/show_bug.cgi?id=177352
2161 Octane/box2d shows 8% regression (Requested by yusukesuzuki on
2166 "[DFG][FTL] Profile array vector length for array allocation"
2167 https://bugs.webkit.org/show_bug.cgi?id=177051
2168 http://trac.webkit.org/changeset/222380
2170 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com>
2172 [DFG][FTL] Profile array vector length for array allocation
2173 https://bugs.webkit.org/show_bug.cgi?id=177051
2175 Reviewed by Saam Barati.
2177 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
2180 2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
2182 Skip new hanging test262 tests.
2183 https://bugs.webkit.org/show_bug.cgi?id=177326
2185 Unreviewed test gardening.
2189 2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
2191 Mark 6 test262 tests as passing.
2192 https://bugs.webkit.org/show_bug.cgi?id=177307
2194 Unreviewed test gardening.
2198 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
2200 Unreviewed follow-up to r222311.
2202 * test262/harness/sta.js:
2203 * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
2204 * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
2205 * test262/test/built-ins/Array/from/calling-from-valid-2.js:
2206 * test262/test/built-ins/Array/from/elements-added-after.js:
2207 * test262/test/built-ins/Array/from/elements-deleted-after.js:
2208 * test262/test/built-ins/Array/from/elements-updated-after.js:
2209 * test262/test/built-ins/Array/from/from-array.js:
2210 * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
2211 * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
2212 * test262/test/built-ins/Array/from/source-array-boundary.js:
2213 * test262/test/built-ins/Array/from/source-object-constructor.js:
2214 * test262/test/built-ins/Array/from/source-object-iterator-1.js:
2215 * test262/test/built-ins/Array/from/source-object-iterator-2.js:
2216 * test262/test/built-ins/Array/from/source-object-length.js:
2217 * test262/test/built-ins/Array/from/source-object-missing.js:
2218 * test262/test/built-ins/Array/from/source-object-without.js:
2219 * test262/test/built-ins/Array/from/this-null.js:
2220 * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
2221 * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
2222 * test262/test/language/literals/numeric/7.8.3-1gs.js:
2223 * test262/test/language/literals/numeric/7.8.3-2gs.js:
2224 * test262/test/language/literals/numeric/7.8.3-3gs.js:
2225 * test262/test/language/literals/regexp/7.8.5-1gs.js:
2226 * test262/test/language/literals/string/7.8.4-1gs.js:
2227 Fix some files that I failed to update when I applied my patch.
2229 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
2231 Update test262 tests
2232 https://bugs.webkit.org/show_bug.cgi?id=177220
2234 Reviewed by Saam Barati and Yusuke Suzuki.
2237 * test262/test262-Revision.txt:
2238 New rebaselined expectations for all tests.
2243 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
2245 [DFG] Remove ToThis more aggressively
2246 https://bugs.webkit.org/show_bug.cgi?id=177056
2248 Reviewed by Saam Barati.
2250 * stress/generator-with-this-strict.js: Added.
2254 * stress/generator-with-this.js: Added.
2259 2017-09-17 Michael Saboff <msaboff@apple.com>
2261 https://bugs.webkit.org/show_bug.cgi?id=177038
2262 Add an option to run-jsc-stress-tests to limit tests variations to a basic set
2264 Reviewed by JF Bastien.
2266 * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
2267 as it dies using too much memory.
2269 2017-09-15 Saam Barati <sbarati@apple.com>
2271 Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
2272 https://bugs.webkit.org/show_bug.cgi?id=176981
2274 Reviewed by Yusuke Suzuki.
2276 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
2280 (const.bar.createBuiltin):
2282 2017-09-14 Saam Barati <sbarati@apple.com>
2284 It should be valid to exit before each set when doing arity fixup when inlining
2285 https://bugs.webkit.org/show_bug.cgi?id=176948
2287 Reviewed by Keith Miller.
2289 * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
2294 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com>
2296 [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
2297 https://bugs.webkit.org/show_bug.cgi?id=176867
2299 Reviewed by Sam Weinig.
2301 * microbenchmarks/object-get-own-property-symbols.js: Added.
2304 2017-09-13 Mark Lam <mark.lam@apple.com>
2306 Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
2307 https://bugs.webkit.org/show_bug.cgi?id=176888
2308 <rdar://problem/34381832>
2312 * stress/op_mod-ConstVar.js:
2313 * stress/op_mod-VarConst.js:
2314 * stress/op_mod-VarVar.js:
2316 2017-09-13 Ryan Haddad <ryanhaddad@apple.com>
2318 Skip 3 op_mod tests on Debug JSC bots.
2319 https://bugs.webkit.org/show_bug.cgi?id=176630
2321 Unreviewed test gardening.
2323 * stress/op_mod-ConstVar.js:
2324 * stress/op_mod-VarConst.js:
2325 * stress/op_mod-VarVar.js:
2327 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com>
2329 [JSC] Fix Array allocation in Object.keys
2330 https://bugs.webkit.org/show_bug.cgi?id=176826
2332 Reviewed by Saam Barati.
2334 * stress/object-own-property-keys.js: Added.
2337 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
2339 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
2340 https://bugs.webkit.org/show_bug.cgi?id=176010
2342 Reviewed by Filip Pizlo.
2344 * microbenchmarks/weak-map-key.js: Added.
2347 (let.start.Date.now):
2349 2017-09-12 Mark Lam <mark.lam@apple.com>
2351 REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
2352 https://bugs.webkit.org/show_bug.cgi?id=176630
2354 Reviewed by JF Bastien.
2356 Debug builds are just slow, and these tests do a lot. They pass when I run them
2357 locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as
2358 a speculative fix for the bots that are seeing these fail.
2360 I also undid the skipping of the op_mod tests for debug builds.
2362 * stress/op_div-ConstVar.js:
2363 * stress/op_div-VarConst.js:
2364 * stress/op_div-VarVar.js:
2365 * stress/op_mod-ConstVar.js:
2366 * stress/op_mod-VarConst.js:
2367 * stress/op_mod-VarVar.js:
2369 2017-09-12 Ryan Haddad <ryanhaddad@apple.com>
2371 Skip stress/value-to-boolean.js on Debug bots.
2372 https://bugs.webkit.org/show_bug.cgi?id=176787
2374 Unreviewed test gardening.
2376 * stress/value-to-boolean.js:
2378 2017-09-11 Mark Lam <mark.lam@apple.com>
2380 Change test expectation for test262/test/language/statements/try/tco-catch.js
2381 https://bugs.webkit.org/show_bug.cgi?id=176749
2383 Rubber stamped by Keith Miller.
2385 It's been failing since at least r221821. I'm changing the test expectation to
2386 fail to green the bots while I investigate some more.
2390 2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
2392 Unreviewed, rolling out r221854.
2394 The test added with this change fails on 32-bit JSC bots.
2398 "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
2399 https://bugs.webkit.org/show_bug.cgi?id=176010
2400 http://trac.webkit.org/changeset/221854
2402 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
2404 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
2405 https://bugs.webkit.org/show_bug.cgi?id=176010
2407 Reviewed by Filip Pizlo.
2409 * microbenchmarks/weak-map-key.js: Added.
2412 (let.start.Date.now):
2414 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com>
2416 [JSC] Optimize Object.keys by using careful array allocation
2417 https://bugs.webkit.org/show_bug.cgi?id=176654
2419 Reviewed by Darin Adler.
2421 * microbenchmarks/object-keys.js: Added.
2424 2017-09-09 Filip Pizlo <fpizlo@apple.com>
2426 Error should compute .stack and friends lazily
2427 https://bugs.webkit.org/show_bug.cgi?id=176645
2429 Reviewed by Saam Barati.
2431 * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
2432 * microbenchmarks/new-error.js: Added.
2433 * microbenchmarks/throw.js: Added.
2435 2017-09-09 Mark Lam <mark.lam@apple.com>
2437 [Re-landing] Use JIT probes for DFG OSR exit.
2438 https://bugs.webkit.org/show_bug.cgi?id=175144
2439 <rdar://problem/33437050>
2441 Not reviewed. Original patch reviewed by Saam Barati.
2443 Disable these tests for debug builds because they run too slow with the new OSR exit.
2445 * stress/op_mod-ConstVar.js:
2446 * stress/op_mod-VarConst.js:
2447 * stress/op_mod-VarVar.js:
2449 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2451 [DFG] NewArrayWithSize(size)'s size does not care negative zero
2452 https://bugs.webkit.org/show_bug.cgi?id=176300
2454 Reviewed by Saam Barati.
2456 * stress/new-array-with-size-div.js: Added.
2461 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2463 [DFG] PutByVal with Array::Generic is too generic
2464 https://bugs.webkit.org/show_bug.cgi?id=176345
2466 Reviewed by Filip Pizlo.
2468 * stress/object-assign-symbols.js: Added.
2471 * stress/object-assign.js: Added.
2474 (i.shouldBe.JSON.stringify.test):
2476 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2478 [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
2479 https://bugs.webkit.org/show_bug.cgi?id=176590
2481 Reviewed by Saam Barati.
2483 * microbenchmarks/object-iterate-symbols.js: Added.
2485 * microbenchmarks/object-iterate.js: Added.
2487 * stress/object-iterate-symbols.js: Added.
2490 * stress/object-iterate.js: Added.
2494 2017-09-07 Per Arne Vollan <pvollan@apple.com>
2496 [Win32] 10 JSC stress tests are failing.
2497 https://bugs.webkit.org/show_bug.cgi?id=176538
2499 Reviewed by Mark Lam.
2501 Skip tests on Windows to make the bots green.
2504 * stress/date-relaxed.js:
2506 2017-09-06 Mark Lam <mark.lam@apple.com>
2508 constructGenericTypedArrayViewWithArguments() is missing an exception check.
2509 https://bugs.webkit.org/show_bug.cgi?id=176485
2510 <rdar://problem/33898874>
2512 Reviewed by Keith Miller.
2514 * stress/regress-176485.js: Added.
2516 2017-09-05 Saam Barati <sbarati@apple.com>
2518 isNotCellSpeculation is wrong with respect to SpecEmpty
2519 https://bugs.webkit.org/show_bug.cgi?id=176429
2521 Reviewed by Michael Saboff.
2523 * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
2526 2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
2528 test262: Completion values for control flow do not match the spec
2529 https://bugs.webkit.org/show_bug.cgi?id=171265
2531 Reviewed by Saam Barati.
2533 * stress/completion-value.js:
2534 Condensed test for completion values in top level statements.
2536 * stress/super-get-by-id.js:
2537 ClassDeclaration when evaled no longer produce values. Convert
2538 these to ClassExpressions so they produce the class value.
2540 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
2541 This is a progression for currect spec behavior.
2543 * mozilla/mozilla-tests.yaml:
2544 This test is now outdated, so mark it as failing for that reason.
2547 Passing all "cptn" completion value tests.
2549 2017-09-04 Saam Barati <sbarati@apple.com>
2551 typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
2552 https://bugs.webkit.org/show_bug.cgi?id=176317
2554 Reviewed by Keith Miller.
2556 * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
2559 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
2561 [DFG][FTL] Efficiently execute number#toString()
2562 https://bugs.webkit.org/show_bug.cgi?id=170007
2564 Reviewed by Keith Miller.
2566 * microbenchmarks/number-to-string-strength-reduction.js: Added.
2568 * microbenchmarks/number-to-string-with-radix-10.js: Added.
2570 * microbenchmarks/number-to-string-with-radix-cse.js: Added.
2572 * microbenchmarks/number-to-string-with-radix.js: Added.
2574 * stress/number-to-string-strength-reduction.js: Added.
2577 * stress/number-to-string-with-radix-10.js: Added.
2580 * stress/number-to-string-with-radix-cse.js: Added.
2583 * stress/number-to-string-with-radix-invalid.js: Added.
2585 * stress/number-to-string-with-radix-watchpoint.js: Added.
2588 (i.i.1e3.Number.prototype.toString):
2589 * stress/number-to-string-with-radix.js: Added.
2593 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com>
2595 [DFG] Relax arity requirement
2596 https://bugs.webkit.org/show_bug.cgi?id=175523
2598 Reviewed by Saam Barati.
2600 * stress/arity-mismatch-arguments-length.js: Added.
2604 * stress/arity-mismatch-get-argument.js: Added.
2606 (builtin.createBuiltin):
2608 * stress/arity-mismatch-inlining-extra-slots.js: Added.
2612 * stress/arity-mismatch-inlining.js: Added.
2616 * stress/arity-mismatch-rest.js: Added.
2622 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2624 [JSC] Fix "name" and "length" of Proxy revoke function
2625 https://bugs.webkit.org/show_bug.cgi?id=176155
2627 Reviewed by Mark Lam.
2631 2017-08-31 Saam Barati <sbarati@apple.com>
2633 Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
2634 https://bugs.webkit.org/show_bug.cgi?id=176206
2636 Reviewed by Keith Miller.
2638 * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
2643 2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
2645 Skip two slow JSC tests after r221422.
2647 Unreviewed test gardening.
2649 * stress/regexp-prototype-match-on-too-long-rope.js:
2650 * stress/regexp-prototype-test-on-too-long-rope.js:
2652 2017-08-31 Filip Pizlo <fpizlo@apple.com>
2654 Unreviewed, skipping slow tests.
2656 These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
2657 work differently now.
2659 * stress/regexp-prototype-exec-on-too-long-rope.js:
2660 * stress/string-prototype-charCodeAt-on-too-long-rope.js:
2662 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2664 [JSC] Use reifying system for "name" property of builtin JSFunction
2665 https://bugs.webkit.org/show_bug.cgi?id=175260
2667 Reviewed by Saam Barati.
2669 * stress/accessors-get-set-prefix.js:
2670 * stress/builtin-function-name.js: Added.
2673 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2674 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2675 * stress/private-name-as-anonymous-builtin.js: Added.
2679 2017-08-30 Saam Barati <sbarati@apple.com>
2681 Unreviewed. Make test stop printing.
2683 * microbenchmarks/fake-iterators-that-throw-when-finished.js:
2685 2017-08-30 Ryan Haddad <ryanhaddad@apple.com>
2687 Unreviewed, rolling out r221327.
2689 This change caused test262 failures.
2693 "[JSC] Use reifying system for "name" property of builtin
2695 https://bugs.webkit.org/show_bug.cgi?id=175260
2696 http://trac.webkit.org/changeset/221327
2698 2017-08-30 Saam Barati <sbarati@apple.com>
2700 semicolon is being interpreted as an = in the LiteralParser
2701 https://bugs.webkit.org/show_bug.cgi?id=176114
2703 Reviewed by Oliver Hunt.
2705 * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
2706 * stress/resources/literal-parser-test-case.js: Added.
2708 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com>
2710 [ESNext] Async iteration - Implement async iteration statement: for-await-of
2711 https://bugs.webkit.org/show_bug.cgi?id=166698
2713 Reviewed by Yusuke Suzuki.
2715 * stress/async-iteration-for-await-of-syntax.js: Added.
2719 (checkSimpleAsyncGeneratorSloppyMode):
2720 (checkSimpleAsyncGeneratorStrictMode):
2721 (checkNestedAsyncGenerators):
2722 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2723 * stress/async-iteration-for-await-of.js: Added.
2729 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com>
2731 [JSC] Use reifying system for "name" property of builtin JSFunction
2732 https://bugs.webkit.org/show_bug.cgi?id=175260
2734 Reviewed by Saam Barati.
2736 * stress/accessors-get-set-prefix.js:
2737 * stress/builtin-function-name.js: Added.
2740 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2741 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2743 2017-08-25 Saam Barati <sbarati@apple.com>
2745 Support compiling catch in the DFG
2746 https://bugs.webkit.org/show_bug.cgi?id=174590
2747 <rdar://problem/34047845>
2749 Reviewed by Filip Pizlo.
2751 * microbenchmarks/delta-blue-try-catch.js: Added.
2754 (OrderedCollection):
2755 (OrderedCollection.prototype.add):
2756 (OrderedCollection.prototype.at):
2757 (OrderedCollection.prototype.size):
2758 (OrderedCollection.prototype.removeFirst):
2759 (OrderedCollection.prototype.remove):
2761 (Strength.stronger):
2763 (Strength.weakestOf):
2764 (Strength.strongest):
2765 (Strength.prototype.nextWeaker):
2767 (Constraint.prototype.addConstraint):
2768 (Constraint.prototype.satisfy):
2769 (Constraint.prototype.destroyConstraint):
2770 (Constraint.prototype.isInput):
2772 (UnaryConstraint.prototype.addToGraph):
2773 (UnaryConstraint.prototype.chooseMethod):
2774 (UnaryConstraint.prototype.isSatisfied):
2775 (UnaryConstraint.prototype.markInputs):
2776 (UnaryConstraint.prototype.output):
2777 (UnaryConstraint.prototype.recalculate):
2778 (UnaryConstraint.prototype.markUnsatisfied):
2779 (UnaryConstraint.prototype.inputsKnown):
2780 (UnaryConstraint.prototype.removeFromGraph):
2782 (StayConstraint.prototype.execute):
2783 (EditConstraint.prototype.isInput):
2784 (EditConstraint.prototype.execute):
2786 (BinaryConstraint.prototype.chooseMethod):
2787 (BinaryConstraint.prototype.addToGraph):
2788 (BinaryConstraint.prototype.isSatisfied):
2789 (BinaryConstraint.prototype.markInputs):
2790 (BinaryConstraint.prototype.input):
2791 (BinaryConstraint.prototype.output):
2792 (BinaryConstraint.prototype.recalculate):
2793 (BinaryConstraint.prototype.markUnsatisfied):
2794 (BinaryConstraint.prototype.inputsKnown):
2795 (BinaryConstraint.prototype.removeFromGraph):
2797 (ScaleConstraint.prototype.addToGraph):
2798 (ScaleConstraint.prototype.removeFromGraph):
2799 (ScaleConstraint.prototype.markInputs):
2800 (ScaleConstraint.prototype.execute):
2801 (ScaleConstraint.prototype.recalculate):
2802 (EqualityConstraint):
2803 (EqualityConstraint.prototype.execute):
2805 (Variable.prototype.addConstraint):
2806 (Variable.prototype.removeConstraint):
2808 (Planner.prototype.incrementalAdd):
2809 (Planner.prototype.incrementalRemove):
2810 (Planner.prototype.newMark):
2811 (Planner.prototype.makePlan):
2812 (Planner.prototype.extractPlanFromConstraints):
2813 (Planner.prototype.addPropagate):
2814 (Planner.prototype.removePropagateFrom):
2815 (Planner.prototype.addConstraintsConsumingTo):
2817 (Plan.prototype.addConstraint):
2818 (Plan.prototype.size):
2819 (Plan.prototype.constraintAt):
2820 (Plan.prototype.execute):
2825 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
2828 (Numbers.prototype.next):
2830 (return.Transpose.prototype.next):
2836 * microbenchmarks/try-catch-word-count.js: Added.
2851 (A.prototype.getValue):
2852 (B.prototype.getParentValue):
2862 (set delete.set has.set add):
2863 * stress/catch-set-argument-speculation-failure.js: Added.
2871 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
2877 2017-08-24 Commit Queue <commit-queue@webkit.org>
2879 Unreviewed, rolling out r221119, r221124, and r221143.
2880 https://bugs.webkit.org/show_bug.cgi?id=175973
2882 "I think it regressed JSBench by 20%" (Requested by saamyjoon
2885 Reverted changesets:
2887 "Support compiling catch in the DFG"
2888 https://bugs.webkit.org/show_bug.cgi?id=174590
2889 http://trac.webkit.org/changeset/221119
2891 "Unreviewed, build fix in GTK port"
2892 https://bugs.webkit.org/show_bug.cgi?id=174590
2893 http://trac.webkit.org/changeset/221124
2895 "DFG::JITCode::osrEntry should get sorted since we perform a
2896 binary search on it"
2897 https://bugs.webkit.org/show_bug.cgi?id=175893
2898 http://trac.webkit.org/changeset/221143
2900 2017-08-24 Michael Saboff <msaboff@apple.com>
2902 Add support for RegExp "dotAll" flag
2903 https://bugs.webkit.org/show_bug.cgi?id=175924
2905 Reviewed by Keith Miller.
2907 Updated tests for new dotAll ('s' flag) changes.
2909 * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
2910 * stress/static-getter-in-names.js:
2912 2017-08-24 Mark Lam <mark.lam@apple.com>
2914 Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
2915 https://bugs.webkit.org/show_bug.cgi?id=175940
2916 <rdar://problem/29003921>
2918 Reviewed by Saam Barati.
2920 * stress/regress-164081.js: Added.
2924 2017-08-24 Ryan Haddad <ryanhaddad@apple.com>
2926 Skip flaky JSC test stress/test-finally.js.
2927 https://bugs.webkit.org/show_bug.cgi?id=160283
2929 Unreviewed test gardening.
2931 * stress/test-finally.js:
2933 2017-08-23 Saam Barati <sbarati@apple.com>
2935 Support compiling catch in the DFG
2936 https://bugs.webkit.org/show_bug.cgi?id=174590
2938 Reviewed by Filip Pizlo.
2940 * microbenchmarks/delta-blue-try-catch.js: Added.
2943 (OrderedCollection):
2944 (OrderedCollection.prototype.add):
2945 (OrderedCollection.prototype.at):
2946 (OrderedCollection.prototype.size):
2947 (OrderedCollection.prototype.removeFirst):
2948 (OrderedCollection.prototype.remove):
2950 (Strength.stronger):
2952 (Strength.weakestOf):
2953 (Strength.strongest):
2954 (Strength.prototype.nextWeaker):
2956 (Constraint.prototype.addConstraint):
2957 (Constraint.prototype.satisfy):
2958 (Constraint.prototype.destroyConstraint):
2959 (Constraint.prototype.isInput):
2961 (UnaryConstraint.prototype.addToGraph):
2962 (UnaryConstraint.prototype.chooseMethod):
2963 (UnaryConstraint.prototype.isSatisfied):
2964 (UnaryConstraint.prototype.markInputs):
2965 (UnaryConstraint.prototype.output):
2966 (UnaryConstraint.prototype.recalculate):
2967 (UnaryConstraint.prototype.markUnsatisfied):
2968 (UnaryConstraint.prototype.inputsKnown):
2969 (UnaryConstraint.prototype.removeFromGraph):
2971 (StayConstraint.prototype.execute):
2972 (EditConstraint.prototype.isInput):
2973 (EditConstraint.prototype.execute):
2975 (BinaryConstraint.prototype.chooseMethod):
2976 (BinaryConstraint.prototype.addToGraph):
2977 (BinaryConstraint.prototype.isSatisfied):
2978 (BinaryConstraint.prototype.markInputs):
2979 (BinaryConstraint.prototype.input):
2980 (BinaryConstraint.prototype.output):
2981 (BinaryConstraint.prototype.recalculate):
2982 (BinaryConstraint.prototype.markUnsatisfied):
2983 (BinaryConstraint.prototype.inputsKnown):
2984 (BinaryConstraint.prototype.removeFromGraph):
2986 (ScaleConstraint.prototype.addToGraph):
2987 (ScaleConstraint.prototype.removeFromGraph):
2988 (ScaleConstraint.prototype.markInputs):
2989 (ScaleConstraint.prototype.execute):
2990 (ScaleConstraint.prototype.recalculate):
2991 (EqualityConstraint):
2992 (EqualityConstraint.prototype.execute):
2994 (Variable.prototype.addConstraint):
2995 (Variable.prototype.removeConstraint):
2997 (Planner.prototype.incrementalAdd):
2998 (Planner.prototype.incrementalRemove):
2999 (Planner.prototype.newMark):
3000 (Planner.prototype.makePlan):
3001 (Planner.prototype.extractPlanFromConstraints):
3002 (Planner.prototype.addPropagate):
3003 (Planner.prototype.removePropagateFrom):
3004 (Planner.prototype.addConstraintsConsumingTo):
3006 (Plan.prototype.addConstraint):
3007 (Plan.prototype.size):
3008 (Plan.prototype.constraintAt):
3009 (Plan.prototype.execute):
3014 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
3017 (Numbers.prototype.next):
3019 (return.Transpose.prototype.next):
3025 * microbenchmarks/try-catch-word-count.js: Added.
3040 (A.prototype.getValue):
3041 (B.prototype.getParentValue):
3051 (set delete.set has.set add):
3052 * stress/catch-set-argument-speculation-failure.js: Added.
3060 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
3066 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
3068 [JSC] Optimize Map iteration with intrinsic
3069 https://bugs.webkit.org/show_bug.cgi?id=174355
3071 Reviewed by Saam Barati.
3073 * stress/map-iterator-result-should-have-expected-shape.js: Added.
3076 * stress/set-iterator-result-should-have-expected-shape.js: Added.
3078 (throw.new.Error.let.iterator.set Symbol):
3079 (throw.new.Error.set add):
3080 (let.iterator.set Symbol):
3082 2017-08-23 Robin Morisset <rmorisset@apple.com>
3084 Add a micro-benchmark for checking that accessing a variable within a 'with'
3085 block does not automatically prevent type prediction.
3086 https://bugs.webkit.org/show_bug.cgi?id=175738
3088 Reviewed by Saam Barati.
3090 * stress/with_and_arith.js: Added.
3093 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com>
3095 [ESNext] Async iteration - Implement Async Generator - runtime
3096 https://bugs.webkit.org/show_bug.cgi?id=175240
3098 Reviewed by Yusuke Suzuki.
3100 * stress/async-iteration-async-from-sync.js: Added.
3104 (this.fullfilledDone):
3109 (const.assertLogger):
3110 (const.getPromise.promiseHolder.return.new.Promise):
3116 * stress/async-iteration-basic.js: Added.
3120 (this.fullfilledDone):
3125 (const.assertLogger):
3126 (const.getPromise.promiseHolder.return.new.Promise):
3128 (iterator.next.then):
3133 (A.prototype.async.foo):
3134 (A.prototype.async.boo):
3136 (asyncGenExp.async):
3149 * stress/async-iteration-evaluation.js: Added.
3153 * stress/async-iteration-syntax.js:
3154 * stress/async-iteration-yield-promise.js: Added.
3158 (this.fullfilledDone):
3163 (const.assertLogger):
3164 (const.getPromise.promiseHolder.return.new.Promise):
3168 * stress/async-iteration-yield-star-interface.js: Added.
3170 (const.getPromise.promiseHolder.return.new.Promise):
3173 (this.fullfilledDone):
3179 (const.assertLogger):
3180 (let.asyncIter.Symbol.asyncIterator):
3181 (let.asyncIter.next):
3182 (let.asyncIter.throw):
3183 (let.asyncIter.return):
3185 (asyncIter.Symbol.asyncIterator):
3192 * stress/async-iteration-yield-star.js: Added.
3196 (this.fullfilledDone):
3202 (const.assertLogger):
3203 (const.getPromise.promiseHolder.return.new.Promise):
3212 (let.asyncIter.Symbol.asyncIterator):
3213 (let.asyncIter.next):
3214 (let.asyncIter.throw):
3215 (let.asyncIter.return):
3220 2017-08-23 JF Bastien <jfbastien@apple.com>
3222 Fix printing in test
3224 Unreviewed: fixing verbosity, shouldn't have been there.
3226 * wasm/regress/175693.js:
3230 2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
3232 Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
3233 https://bugs.webkit.org/show_bug.cgi?id=172543
3235 Unreviewed test gardening.
3237 * microbenchmarks/generator-with-several-types.js:
3239 2017-08-17 JF Bastien <jfbastien@apple.com>
3241 WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
3242 https://bugs.webkit.org/show_bug.cgi?id=175693
3243 <rdar://problem/33952443>
3245 Reviewed by Saam Barati.
3247 Add a regression directory for WebAssembly tests.
3250 * wasm/regress/175693.js: Added.
3252 (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
3254 * wasm/regress/175693.wasm: Added.
3256 2017-08-15 Robin Morisset <rmorisset@apple.com>
3258 Support the 'with' keyword in FTL.
3259 https://bugs.webkit.org/show_bug.cgi?id=175585
3261 Reviewed by Saam Barati.
3263 Also improve the JSTest/stress/with.js file to test
3264 what happens when non-objects are passed to with.
3271 2017-08-14 Keith Miller <keith_miller@apple.com>
3273 Add testing tool to lie to the DFG about profiles
3274 https://bugs.webkit.org/show_bug.cgi?id=175487
3276 Reviewed by Saam Barati.
3278 * stress/compare-eq-incomplete-profile.js: Added.
3279 (const.test.createBuiltin):
3281 2017-08-14 Robin Morisset <rmorisset@apple.com>
3283 Support the with keyword in DFG
3284 https://bugs.webkit.org/show_bug.cgi?id=175470
3286 Reviewed by Saam Barati.
3288 Added a new stress-test for the 'with' keyword, that caught a bug in a
3289 previous version of this code.
3291 * stress/with.js: Added.
3294 2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
3296 Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
3297 https://bugs.webkit.org/show_bug.cgi?id=175544
3299 Unreviewed test gardening.
3303 2017-08-09 Caitlin Potter <caitp@igalia.com>
3305 Early error on ANY operator before new.target
3306 https://bugs.webkit.org/show_bug.cgi?id=157970
3308 Reviewed by Saam Barati.
3310 Instead of throwing if any unary operator precedes new.target, only
3311 throw if the unary operator updates the reference.
3313 The following become legal in JSC:
3323 All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
3325 * stress/new-target-syntax-errors.js:
3326 * stress/new-target.js:
3328 2017-08-09 Ryan Haddad <ryanhaddad@apple.com>
3330 Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
3331 https://bugs.webkit.org/show_bug.cgi?id=175255
3333 Unreviewed test gardening.
3335 * stress/regress-169783.js:
3336 * wasm/stress/oom.js:
3338 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com>
3340 REGRESSION: 2 test262/test/language/statements/async-function failures
3341 https://bugs.webkit.org/show_bug.cgi?id=175334
3343 Reviewed by Yusuke Suzuki.
3345 Add @skip parameters to tests, and remove test for async iterator from
3346 async await syntax test because it is already covered by async-iterator-syntax.js
3348 * stress/async-await-syntax.js:
3349 * stress/async-iteration-syntax.js:
3351 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com>
3353 Unreviewed, gardening test262 for Promise resolve / reject function length
3354 https://bugs.webkit.org/show_bug.cgi?id=175333
3358 2017-08-07 Robin Morisset <rmorisset@apple.com>
3360 GetOwnProperty of TypedArray indexed fields is wrongly configurable
3361 https://bugs.webkit.org/show_bug.cgi?id=175307
3363 Reviewed by Saam Barati.
3365 * stress/typedarray-getownproperty-not-configurable.js: Added.
3369 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com>
3371 Promise resolve and reject function should have length = 1
3372 https://bugs.webkit.org/show_bug.cgi?id=175242
3374 Reviewed by Saam Barati.
3376 * stress/builtin-function-length.js: Added.
3379 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
3380 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
3382 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com>
3384 [ESNext] Async iteration - Implement Async Generator - parser
3385 https://bugs.webkit.org/show_bug.cgi?id=175210
3387 Reviewed by Yusuke Suzuki.
3389 * stress/async-await-syntax.js:
3390 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
3391 * stress/async-iteration-syntax.js: Added.
3395 (checkSimpleAsyncGeneratorSloppyMode):
3396 (checkSimpleAsyncGeneratorStrictMode):
3397 (checkNestedAsyncGenerators):
3398 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
3399 * stress/generator-class-methods-syntax.js:
3401 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
3403 JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
3404 https://bugs.webkit.org/show_bug.cgi?id=175150
3406 Unreviewed test gardening.
3408 * wasm/js-api/test_memory_constructor.js:
3410 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
3412 [Linux] JSTests/wasm/stress/oom.js should not run on Linux
3413 https://bugs.webkit.org/show_bug.cgi?id=175100
3415 Reviewed by Mark Lam.
3417 The JSC test JSTests/wasm/stress/oom.js tries to use all the
3418 available memory until an out of memory exception happens.
3420 The Linux kernel is more tuned for server workloads than for GUI
3421 responsiveness. When a process tries to use a lot of memory, Linux
3422 will do its best to serve the request. This usually translates to
3423 free physical RAM by writing to disk dirty pages and/or moving out
3424 less recently used pages to swap (disk storage).
3425 Meanwhile it does this, the system will become unresponsive and this
3426 leads to freezes that can last even some minutes on the worst cases.
3428 Therefore, let's skip this test on Linux as it will cause more harm
3429 than good on the Linux bots or on the machines of Linux developers.
3431 * wasm/stress/oom.js:
3433 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com>
3435 [JSC] Remove unnecessary print from stress\promise-finally.js test
3436 https://bugs.webkit.org/show_bug.cgi?id=175015
3438 Reviewed by Yusuke Suzuki.
3440 * stress/promise-finally.js:
3444 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
3446 Unreviewed, update test262 results for optional catch binding
3450 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
3452 [JSC] Support optional catch binding
3453 https://bugs.webkit.org/show_bug.cgi?id=174981
3455 Reviewed by Saam Barati.
3457 * stress/optional-catch-binding-syntax.js: Added.
3461 * stress/optional-catch-binding.js: Added.
3465 2017-07-28 Mark Lam <mark.lam@apple.com>
3467 ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
3468 https://bugs.webkit.org/show_bug.cgi?id=174948
3469 <rdar://problem/33495680>
3471 Reviewed by Filip Pizlo.
3473 * stress/regress-174948.js: Added.
3475 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com>
3477 ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
3478 https://bugs.webkit.org/show_bug.cgi?id=174900
3480 Reviewed by Saam Barati.
3482 * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
3487 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com>
3489 Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
3490 https://bugs.webkit.org/show_bug.cgi?id=171637
3492 Reviewed by Darin Adler.
3494 * stress/domjit-getter-complex-with-incorrect-object.js:
3496 * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
3500 2017-07-26 JF Bastien <jfbastien@apple.com>
3502 WebAssembly: test throwing out of the start function
3503 https://bugs.webkit.org/show_bug.cgi?id=165714
3504 <rdar://problem/29760251>
3506 Reviewed by Keith Miller.
3509 * wasm/function-tests/trap-from-start.js: Added.
3511 * wasm/function-tests/trap-from-start-async.js: Added.
3512 (async.StartTrapsAsync):
3514 2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com>
3516 [FTL] Arguments elimination is suppressed by unreachable blocks
3517 https://bugs.webkit.org/show_bug.cgi?id=174352
3519 Reviewed by Filip Pizlo.
3521 * stress/arguments-elimination-force-exit.js: Added.
3525 * stress/arguments-elimination-throw.js: Added.
3531 2017-07-13 Mark Lam <mark.lam@apple.com>
3533 Add some additional test cases for bug 170896.
3534 https://bugs.webkit.org/show_bug.cgi?id=174491
3536 Reviewed by Filip Pizlo.
3538 * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js.
3539 * stress/regress-170896-with-double-shape-profile.js: Added.
3541 * stress/regress-170896-with-int32-shape-profile.js: Added.
3543 * stress/regress-170896.js: Removed.
3545 2017-07-13 Saam Barati <sbarati@apple.com>
3547 Missing exception check in JSObject::hasInstance
3548 https://bugs.webkit.org/show_bug.cgi?id=174455
3549 <rdar://problem/31384608>
3551 Reviewed by Mark Lam.
3553 * stress/has-instance-exception-check.js: Added.
3555 (let.getter.Object.getOwnPropertyDescriptor.get foo):
3557 2017-07-13 Caio Lima <ticaiolima@gmail.com>
3559 [ESnext] Implement Object Spread
3560 https://bugs.webkit.org/show_bug.cgi?id=167963
3562 Reviewed by Saam Barati.
3564 * stress/obj-rest-destructuring-order.js: Added.
3568 * stress/obj-spread-order.js: Added.
3572 * stress/object-spread.js: Added.
3581 (try.let.obj.get foo):
3584 2017-07-12 Saam Barati <sbarati@apple.com>
3586 GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments
3587 https://bugs.webkit.org/show_bug.cgi?id=174411
3588 <rdar://problem/31696186>
3590 Reviewed by Mark Lam.
3592 * stress/generic-arguments-correct-delete-behavior.js: Added.
3596 2017-07-07 Mark Lam <mark.lam@apple.com>
3598 \n\r is not the same as \r\n.
3599 https://bugs.webkit.org/show_bug.cgi?id=173053
3601 Reviewed by Keith Miller.
3603 * stress/regress-173053.js: Added.
3604 * stress/template-literal-line-terminators.js:
3606 2017-07-06 Saam Barati <sbarati@apple.com>
3608 We are missing places where we invalidate the for-in context
3609 https://bugs.webkit.org/show_bug.cgi?id=174184
3611 Reviewed by Geoffrey Garen.
3613 * stress/for-in-invalidate-context-weird-assignments.js: Added.
3617 2017-07-05 Saam Barati <sbarati@apple.com>
3619 NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
3620 https://bugs.webkit.org/show_bug.cgi?id=174188
3621 <rdar://problem/30581423>
3623 Reviewed by Mark Lam.
3625 * stress/new-array-having-a-bad-time-double.js: Added.
3629 2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
3631 WTF::StringImpl::copyChars segfaults when built with GCC 7
3632 https://bugs.webkit.org/show_bug.cgi?id=173407
3634 Reviewed by Andreas Kling.
3636 * stress/string-repeat-copy-chars-crash.js: Added.
3639 2017-07-03 Saam Barati <sbarati@apple.com>
3641 Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run.
3643 * stress/unshiftCountSlowCase-correct-postCapacity.js:
3645 2017-07-03 Yusuke Suzuki <utatane.tea@gmail.com>
3647 Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited
3649 It requires too much memory.
3651 * stress/dont-reserve-huge-capacity-lexer.js:
3653 2017-06-30 Michael Saboff <msaboff@apple.com>
3655 Skip a test on ARM64 platform since we run out of address space.
3657 Rubber stamped by Saam Barati.
3659 * stress/dont-reserve-huge-capacity-lexer.js:
3661 2017-06-30 Michael Saboff <msaboff@apple.com>
3663 RegExp's anchored with .* with \g flag can return wrong match start for strings with multiple matches
3664 https://bugs.webkit.org/show_bug.cgi?id=174044
3666 Reviewed by Oliver Hunt.
3668 New regression test.
3670 * stress/regress-174044.js: Added.
3674 2017-06-30 Filip Pizlo <fpizlo@apple.com>
3676 RegExpCachedResult::setInput should reify left and right contexts
3677 https://bugs.webkit.org/show_bug.cgi?id=173818
3679 Reviewed by Keith Miller.
3681 * stress/right-left-context-invalidated-by-input.js: Added.
3682 (test.validateContexts):
3685 2017-06-29 Saam Barati <sbarati@apple.com>
3687 Calculating postCapacity in unshiftCountSlowCase is wrong
3688 https://bugs.webkit.org/show_bug.cgi?id=173992
3689 <rdar://problem/32283199>
3691 Reviewed by Keith Miller.
3693 * stress/unshiftCountSlowCase-correct-postCapacity.js: Added.
3696 2017-06-29 Commit Queue <commit-queue@webkit.org>
3698 Unreviewed, rolling out r218512.
3699 https://bugs.webkit.org/show_bug.cgi?id=173981
3701 "It changes the behavior of the JS API's JSEvaluateScript
3702 which breaks TurboTax" (Requested by saamyjoon on #webkit).
3706 "test262: Completion values for control flow do not match the
3708 https://bugs.webkit.org/show_bug.cgi?id=171265
3709 http://trac.webkit.org/changeset/218512
3711 2017-06-27 JF Bastien <jfbastien@apple.com>
3713 WebAssembly: running out of executable memory should throw OoM
3714 https://bugs.webkit.org/show_bug.cgi?id=171537
3715 <rdar://problem/32963338>
3717 Reviewed by Saam Barati.
3720 * wasm/lowExecutableMemory/executable-memory-oom.js: Added.
3722 (failCount.0.catch):
3723 (failCount.0.module.undefined.catch):
3724 * wasm/lowExecutableMemory/exports-oom.js: Added.
3727 (const.randomProgram):
3728 (failCount.0.catch):
3729 (failCount.0.module.undefined.catch):
3730 * wasm/lowExecutableMemory/imports-oom.js: Added.
3733 (const.randomProgram):
3735 (failCount.0.catch):
3736 (failCount.0.module.undefined.catch):
3738 2017-06-27 Caio Lima <ticaiolima@gmail