1 2017-12-12 Caio Lima <ticaiolima@gmail.com>
3 [ESNext][BigInt] Implement BigInt literals and JSBigInt
4 https://bugs.webkit.org/show_bug.cgi?id=179000
6 Reviewed by Darin Adler and Yusuke Suzuki.
8 * bigIntTests.yaml: Added.
9 * stress/big-int-literal-line-terminator.js: Added.
10 * stress/big-int-literals.js: Added.
11 * stress/big-int-operations-error.js: Added.
12 * stress/big-int-type-of.js: Added.
13 * stress/big-int-white-space-trailing-leading.js: Added.
14 * stress/big-int-function-apply.js: Added.
16 2017-12-11 Saam Barati <sbarati@apple.com>
18 We need to disableCaching() in ErrorInstance when we materialize properties
19 https://bugs.webkit.org/show_bug.cgi?id=180343
20 <rdar://problem/35833002>
24 * stress/disable-caching-when-lazy-materializing-error-property-on-put.js: Added.
28 (storeToStackAlreadyMaterialized):
30 2017-12-05 JF Bastien <jfbastien@apple.com>
32 WebAssembly: don't eagerly checksum
33 https://bugs.webkit.org/show_bug.cgi?id=180441
34 <rdar://problem/35156628>
36 Reviewed by Saam Barati.
38 Checksum is now disabled, so tests only have <?> as the module
41 * wasm/function-tests/nameSection.js:
42 * wasm/function-tests/stack-overflow.js:
43 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
44 (assertOverflows.assertThrows):
46 * wasm/function-tests/stack-trace.js:
48 2017-12-04 JF Bastien <jfbastien@apple.com>
50 Proxy all functions, except the $ objects
51 https://bugs.webkit.org/show_bug.cgi?id=180375
53 Reviewed by Saam Barati.
55 It looks like this test may have broken some executions because I
56 call some internal objects. Explicitly ignore objects whose name
57 starts with "$" because it's a bad idea anyways.
59 * stress/proxy-all-the-parameters.js:
63 2017-12-04 Saam Barati <sbarati@apple.com>
65 We need to leave room on the top of the stack for the FTL TailCall slow path so it doesn't overwrite things we want to retrieve when doing a stack walk when throwing an exception
66 https://bugs.webkit.org/show_bug.cgi?id=180366
67 <rdar://problem/35685877>
69 Reviewed by Michael Saboff.
71 * stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js: Added.
73 (test1.base.getParentStaticValue):
75 (test1.__v_24888.prototype.set prop):
77 (test2.base.getParentStaticValue):
79 (test2.__v_24888.prototype.set prop):
83 2017-12-01 JF Bastien <jfbastien@apple.com>
85 Try proxying all function arguments
86 https://bugs.webkit.org/show_bug.cgi?id=180306
88 Reviewed by Saam Barati.
90 * stress/proxy-all-the-parameters.js: Added.
97 (let.o.of.getObjects.let.f.of.getFunctions.catch):
99 2017-12-01 JF Bastien <jfbastien@apple.com>
101 JavaScriptCore: missing exception checks in Math functions that take more than one argument
102 https://bugs.webkit.org/show_bug.cgi?id=180297
103 <rdar://problem/35745556>
105 Reviewed by Mark Lam.
107 * stress/math-exceptions.js: Added.
111 2017-12-01 JF Bastien <jfbastien@apple.com>
113 JavaScriptCore: add test for weird class static getters
114 https://bugs.webkit.org/show_bug.cgi?id=180281
115 <rdar://problem/35592139>
117 Reviewed by Mark Lam.
119 I fixed a bug for it in r224927 and didn't add a test. Do so.
121 * stress/class-static-get-weird.js: Added.
122 (c.prototype.get name):
124 (c.prototype.get arguments):
125 (c.prototype.get caller):
126 (c.prototype.get length):
128 2017-12-01 Saam Barati <sbarati@apple.com>
130 Having a bad time needs to handle ArrayClass indexing type as well
131 https://bugs.webkit.org/show_bug.cgi?id=180274
132 <rdar://problem/35667869>
134 Reviewed by Keith Miller and Mark Lam.
136 * stress/array-prototype-slow-put-having-a-bad-time-2.js: Added.
138 * stress/array-prototype-slow-put-having-a-bad-time.js: Added.
141 2017-12-01 JF Bastien <jfbastien@apple.com>
143 WebAssembly: restore cached stack limit after out-call
144 https://bugs.webkit.org/show_bug.cgi?id=179106
145 <rdar://problem/35337525>
147 Reviewed by Saam Barati.
149 * wasm/function-tests/double-instance.js: Added.
151 (const.imp.get callAnother):
153 2017-11-30 JF Bastien <jfbastien@apple.com>
155 WebAssembly: improve stack trace
156 https://bugs.webkit.org/show_bug.cgi?id=179343
158 Reviewed by Saam Barati.
160 Update the tests to follow the new format. Notably, SHA1 module
161 hash is now included in traces, and stubs are properly identified.
163 * wasm/assert.js: Add an assertion which matches regular expressions.
164 * wasm/function-tests/nameSection.js:
165 * wasm/function-tests/stack-overflow.js:
166 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
167 (assertOverflows.assertThrows.wasm.1):
168 (assertOverflows.assertThrows.wasm.0):
169 (assertOverflows.assertThrows):
171 * wasm/function-tests/stack-trace.js:
172 (import.Builder.from.string_appeared_here.assert): Deleted.
173 * wasm/function-tests/trap-after-cross-instance-call.js:
174 (wasmFrameCountFromError):
175 * wasm/function-tests/trap-load-2.js:
176 (wasmFrameCountFromError):
177 * wasm/function-tests/trap-load.js:
178 (wasmFrameCountFromError):
180 2017-11-30 Mark Lam <mark.lam@apple.com>
182 jsc shell's flashHeapAccess() should not do JS work after releasing access to the heap.
183 https://bugs.webkit.org/show_bug.cgi?id=180219
184 <rdar://problem/35696536>
186 Reviewed by Filip Pizlo.
188 * stress/regress-180219.js: Added.
190 2017-11-30 Yusuke Suzuki <utatane.tea@gmail.com>
192 [DFG][FTL] operationHasIndexedProperty does not consider negative int32_t
193 https://bugs.webkit.org/show_bug.cgi?id=180190
195 Reviewed by Mark Lam.
197 * stress/operation-in-may-have-negative-int32-array-storage.js: Added.
200 * stress/operation-in-may-have-negative-int32-contiguous-array.js: Added.
203 * stress/operation-in-may-have-negative-int32-double-array.js: Added.
206 * stress/operation-in-may-have-negative-int32-generic-array.js: Added.
209 * stress/operation-in-may-have-negative-int32-int32-array.js: Added.
212 * stress/operation-in-may-have-negative-int32.js: Added.
215 * stress/operation-in-negative-int32-cast.js: Added.
219 2017-11-28 JF Bastien <jfbastien@apple.com>
221 Strict and sloppy functions shouldn't share structure
222 https://bugs.webkit.org/show_bug.cgi?id=180103
223 <rdar://problem/35667847>
225 Reviewed by Saam Barati.
227 * stress/get-by-id-strict-arguments.js: Added. Used to not throw
228 because the IC was wrong.
233 * stress/get-by-id-strict-callee.js: Added. Not strictly necessary
234 in this patch, but may as well test odd strict mode corner cases.
238 * stress/get-by-id-strict-caller.js: Added. Also IC'd wrong.
243 * stress/get-by-id-strict-nested-arguments-2.js: Added. Same as
244 next file, but with invalidation of the FunctionExecutable's
245 singletonFunction() to hit SpeculativeJIT::compileNewFunction's
252 * stress/get-by-id-strict-nested-arguments.js: Added. Make sure
253 strict nesting works correctly.
257 * stress/strict-function-structure.js: Added. The test used to
258 assert in objectProtoFuncHasOwnProperty.
262 * stress/strict-nested-function-structure.js: Added. Nesting.
268 2017-11-29 Robin Morisset <rmorisset@apple.com>
270 The recursive tail call optimisation is wrong on closures
271 https://bugs.webkit.org/show_bug.cgi?id=179835
273 Reviewed by Saam Barati.
275 * stress/closure-recursive-tail-call.js: Added.
278 2017-11-27 JF Bastien <jfbastien@apple.com>
280 JavaScript rest function parameter with negative index leads to bad DFG abstract interpretation
281 https://bugs.webkit.org/show_bug.cgi?id=180051
282 <rdar://problem/35614371>
284 Reviewed by Saam Barati.
286 * stress/rest-parameter-negative.js: Added.
292 2017-11-27 Saam Barati <sbarati@apple.com>
294 Spread can escape when CreateRest does not
295 https://bugs.webkit.org/show_bug.cgi?id=180057
296 <rdar://problem/35676119>
298 Reviewed by JF Bastien.
300 * stress/spread-escapes-but-create-rest-does-not.js: Added.
306 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
308 [DFG] Add NormalizeMapKey DFG IR
309 https://bugs.webkit.org/show_bug.cgi?id=179912
311 Reviewed by Saam Barati.
313 * stress/map-untyped-normalize-cse.js: Added.
316 * stress/map-untyped-normalize.js: Added.
319 * stress/set-untyped-normalize-cse.js: Added.
321 (set return.set has.set has):
322 * stress/set-untyped-normalize.js: Added.
324 (set return.set has):
326 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com>
328 [FTL] Support DeleteById and DeleteByVal
329 https://bugs.webkit.org/show_bug.cgi?id=180022
331 Reviewed by Saam Barati.
333 * stress/delete-by-id.js: Added.
337 * stress/delete-by-val-ftl.js: Added.
342 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com>
344 [DFG] Introduce {Set,Map,WeakMap}Fields
345 https://bugs.webkit.org/show_bug.cgi?id=179925
347 Reviewed by Saam Barati.
349 * stress/map-set-clobber-map-get.js: Added.
352 * stress/map-set-does-not-clobber-set-has.js: Added.
354 * stress/map-set-does-not-clobber-weak-map-get.js: Added.
357 * stress/set-add-clobber-set-has.js: Added.
359 * stress/set-add-does-not-clobber-map-get.js: Added.
362 2017-11-24 Mark Lam <mark.lam@apple.com>
364 Move unsafe jsc shell test functions to the $vm object.
365 https://bugs.webkit.org/show_bug.cgi?id=179980
367 Reviewed by Yusuke Suzuki.
369 * controlFlowProfiler/driver/driver.js:
370 * controlFlowProfiler/execution-count.js:
371 * controlFlowProfiler/if-statement.js:
372 * controlFlowProfiler/loop-statements.js:
373 * controlFlowProfiler/switch-statements.js:
374 * controlFlowProfiler/test-jit.js:
375 * exceptionFuzz/3d-cube.js:
376 * exceptionFuzz/date-format-xparb.js:
377 * exceptionFuzz/earley-boyer.js:
378 * heapProfiler/basic-edges.js:
379 * heapProfiler/property-edge-types.js:
380 * microbenchmarks/try-get-by-id-basic.js:
381 * microbenchmarks/try-get-by-id-polymorphic.js:
382 * modules/namespace-object-try-get.js:
383 * stress/argument-count-bytecode.js:
384 * stress/argument-intrinsic-basic.js:
385 * stress/argument-intrinsic-inlining-use-caller-arg.js:
386 * stress/argument-intrinsic-inlining-with-result-escape.js:
387 * stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js:
388 * stress/argument-intrinsic-inlining-with-vararg.js:
389 * stress/argument-intrinsic-nested-inlining.js:
390 * stress/argument-intrinsic-not-convert-to-get-argument.js:
391 * stress/argument-intrinsic-with-stack-write.js:
392 * stress/arity-mismatch-get-argument.js:
393 * stress/array-message-passing.js:
394 * stress/array-push-with-force-exit.js:
395 * stress/check-dom-with-signature.js:
396 * stress/check-sub-class.js:
397 * stress/compare-eq-incomplete-profile.js:
398 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js:
399 * stress/do-eval-virtual-call-correctly.js:
400 * stress/dom-jit-with-poly-proto.js:
401 * stress/domjit-exception-ic.js:
402 * stress/domjit-exception.js:
403 * stress/domjit-getter-complex-with-incorrect-object.js:
404 * stress/domjit-getter-complex.js:
405 * stress/domjit-getter-poly.js:
406 * stress/domjit-getter-proto.js:
407 * stress/domjit-getter-super-poly.js:
408 * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js:
409 * stress/domjit-getter-type-check.js:
410 * stress/domjit-getter.js:
411 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js:
412 * stress/for-in-proxy-target-changed-structure.js:
413 * stress/for-in-proxy.js:
414 * stress/generational-opaque-roots.js:
415 * stress/global-const-redeclaration-setting-2.js:
416 * stress/global-const-redeclaration-setting-3.js:
417 * stress/global-const-redeclaration-setting-4.js:
418 * stress/global-const-redeclaration-setting-5.js:
419 * stress/global-const-redeclaration-setting.js:
420 * stress/import-basic.js:
421 * stress/import-from-eval.js:
422 * stress/import-reject-with-exception.js:
423 * stress/import-syntax.js:
424 * stress/impure-get-own-property-slot-inline-cache.js:
425 * stress/is-constructor.js:
426 * stress/istypedarrayview-intrinsic.js:
427 * stress/jsc-setImpureGetterDelegate-on-bad-type.js:
428 * stress/jsc-test-functions-should-be-more-robust.js:
429 * stress/object-toString-with-proxy.js:
430 * stress/poly-proto-custom-value-and-accessor.js:
431 * stress/proxy-inline-cache.js:
432 * stress/re-execute-error-module.js:
433 * stress/regress-150532.js:
434 * stress/regress-156992.js:
435 * stress/regress-179619.js:
436 * stress/resources/shadow-chicken-support.js:
437 * stress/runtime-array.js:
438 * stress/sampling-profiler-microtasks.js:
439 * stress/shadow-chicken-enabled.js:
440 * stress/spread-correct-global-object-on-exception.js:
441 * stress/super-get-by-id.js:
442 * stress/tailCallForwardArguments.js:
443 * stress/to-object-intrinsic-boolean-edge.js:
444 * stress/to-object-intrinsic-null-or-undefined-edge.js:
445 * stress/to-object-intrinsic-number-edge.js:
446 * stress/to-object-intrinsic-object-edge.js:
447 * stress/to-object-intrinsic-string-edge.js:
448 * stress/to-object-intrinsic-symbol-edge.js:
449 * stress/to-object-intrinsic.js:
450 * stress/try-catch-custom-getter-as-get-by-id.js:
451 * stress/try-get-by-id-poly-proto.js:
452 * stress/try-get-by-id-should-spill-registers-dfg.js:
453 * stress/try-get-by-id.js:
454 * typeProfiler/arrow-functions.js:
455 * typeProfiler/basic.js:
456 * typeProfiler/captured.js:
457 * typeProfiler/classes.js:
458 * typeProfiler/dfg-jit-optimizations.js:
459 * typeProfiler/dictionary-mode.js:
460 * typeProfiler/es6-block-scoping.js:
461 * typeProfiler/es6-classes.js:
462 * typeProfiler/inheritance.js:
463 * typeProfiler/int52-dfg.js:
464 * typeProfiler/loop.js:
465 * typeProfiler/optional-fields.js:
466 * typeProfiler/overflow.js:
467 * typeProfiler/return.js:
468 * typeProfiler/symbol.js:
469 * typeProfiler/weird-prototype-chain.js:
471 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
473 [DFG][FTL] Support MapSet / SetAdd intrinsics
474 https://bugs.webkit.org/show_bug.cgi?id=179858
476 Reviewed by Saam Barati.
478 * microbenchmarks/map-has-and-set.js: Added.
480 * stress/map-set-check-failure.js: Added.
484 * stress/map-set-cse.js: Added.
487 * stress/set-add-check-failure.js: Added.
491 * stress/set-add-cse.js: Added.
494 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com>
496 [JSC] Allow poly proto for intrinsic getters
497 https://bugs.webkit.org/show_bug.cgi?id=179550
499 Reviewed by Saam Barati.
501 This change is also tested by existing tests.
503 1. stress/intrinsic-getter-with-poly-proto.js
504 2. stress/poly-proto-intrinsic-getter-correctness.js
506 * stress/intrinsic-getter-with-poly-proto-getter-change.js: Added.
508 (makePolyProtoObject.foo.C):
509 (makePolyProtoObject.foo):
510 (makePolyProtoObject):
512 * stress/intrinsic-getter-with-poly-proto-proto-change.js: Added.
514 (makePolyProtoObject.foo.C):
515 (makePolyProtoObject.foo):
516 (makePolyProtoObject):
519 2017-11-20 Guillaume Emont <guijemont@igalia.com>
521 Skip stress/unshiftCountSlowCase-correct-postCapacity.js on embedded Linux
522 https://bugs.webkit.org/show_bug.cgi?id=179744
524 Reviewed by Michael Catanzaro.
526 This test uses too much memory for our buildbots on these platforms
529 * stress/unshiftCountSlowCase-correct-postCapacity.js:
530 Skip if $memoryLimited and linux.
532 2017-11-17 JF Bastien <jfbastien@apple.com>
534 WebAssembly JS API: throw when a promise can't be created
535 https://bugs.webkit.org/show_bug.cgi?id=179826
536 <rdar://problem/35455813>
538 Reviewed by Mark Lam.
540 Test WebAssembly.{compile,instantiate} where promise creation
541 fails because of a stack overflow.
543 * wasm/js-api/promise-stack-overflow.js: Added.
544 (const.runNearStackLimit.f.const.t):
546 (async.testInstantiate):
548 2017-11-16 Yusuke Suzuki <utatane.tea@gmail.com>
550 Unreviewed, mark regress-178385.js as memory exhausting
552 * stress/regress-178385.js:
554 2017-11-16 Ryan Haddad <ryanhaddad@apple.com>
556 Mark test262/test/language/statements/class/definition/fn-name-static-precedence.js as passing after r224927.
558 Unreviewed test gardening.
562 2017-11-16 Robin Morisset <rmorisset@apple.com>
564 REGRESSION (r224592): oss-fuzz: jsc: Null-dereference READ in JSC::JSCell::isObject (4216)
565 https://bugs.webkit.org/show_bug.cgi?id=179763
566 <rdar://problem/35550513>
568 Reviewed by Keith Miller.
570 Just adding a slightly cleaned-up version of the original fuzzer-found test.
572 * stress/tdz-this-in-try-catch.js: Added.
576 2017-11-14 Yusuke Suzuki <utatane.tea@gmail.com>
578 [DFG][FTL] Support Array::DirectArguments with OutOfBounds
579 https://bugs.webkit.org/show_bug.cgi?id=179594
581 Reviewed by Saam Barati.
583 * stress/direct-arguments-in-bounds-to-out-of-bounds.js: Added.
586 * stress/direct-arguments-out-of-bounds-watchpoint.js: Added.
590 2017-11-14 Saam Barati <sbarati@apple.com>
592 We need to set topCallFrame when calling Wasm::Memory::grow from the JIT
593 https://bugs.webkit.org/show_bug.cgi?id=179639
594 <rdar://problem/35513018>
596 Reviewed by JF Bastien.
598 * wasm/function-tests/grow-memory-cause-gc.js: Added.
602 2017-11-13 Mark Lam <mark.lam@apple.com>
604 Add more overflow check book-keeping for MarkedArgumentBuffer.
605 https://bugs.webkit.org/show_bug.cgi?id=179634
606 <rdar://problem/35492517>
608 Reviewed by Saam Barati.
610 * stress/regress-179634.js: Added.
612 2017-11-13 Mark Lam <mark.lam@apple.com>
614 Make the jsc shell loadGetterFromGetterSetter() function more robust.
615 https://bugs.webkit.org/show_bug.cgi?id=179619
616 <rdar://problem/35492518>
618 Reviewed by Saam Barati.
620 * stress/regress-179619.js: Added.
622 2017-11-12 Mark Lam <mark.lam@apple.com>
624 We should ensure that operationStrCat2 and operationStrCat3 are never passed Symbols as arguments.
625 https://bugs.webkit.org/show_bug.cgi?id=179562
626 <rdar://problem/35467022>
628 Reviewed by Saam Barati.
630 * regress-179562.js: Added.
632 2017-11-08 Saam Barati <sbarati@apple.com>
634 A JSFunction's ObjectAllocationProfile should watch the poly prototype watchpoint so it can clear its object allocation profile
635 https://bugs.webkit.org/show_bug.cgi?id=177792
637 Reviewed by Yusuke Suzuki.
639 * microbenchmarks/poly-proto-clear-js-function-allocation-profile.js: Added.
641 (foo.Foo.prototype.ensureX):
646 2017-11-08 Ryan Haddad <ryanhaddad@apple.com>
648 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
649 https://bugs.webkit.org/show_bug.cgi?id=178592
651 Unreviewed test gardening.
655 2017-11-08 Robin Morisset <rmorisset@apple.com>
657 Turn recursive tail calls into loops
658 https://bugs.webkit.org/show_bug.cgi?id=176601
660 Reviewed by Saam Barati.
662 Relanding after https://bugs.webkit.org/show_bug.cgi?id=178834.
664 Add some simple test that computes factorial in several ways, and other trivial computations.
665 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
666 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
667 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
668 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
670 * stress/inline-call-to-recursive-tail-call.js: Added.
685 2017-11-07 Mark Lam <mark.lam@apple.com>
687 AccessCase::generateImpl() should exclude the result register when restoring registers after a call.
688 https://bugs.webkit.org/show_bug.cgi?id=179355
689 <rdar://problem/35263053>
691 Reviewed by Saam Barati.
693 * stress/regress-179355.js: Added.
695 2017-11-05 Yusuke Suzuki <utatane.tea@gmail.com>
697 JIT call inline caches should cache calls to objects with getCallData/getConstructData traps
698 https://bugs.webkit.org/show_bug.cgi?id=144458
700 Reviewed by Saam Barati.
702 * microbenchmarks/dfg-internal-function-call.js: Added.
704 * microbenchmarks/dfg-internal-function-construct.js: Added.
706 * microbenchmarks/dfg-internal-function-not-handled-call.js: Added.
708 * microbenchmarks/dfg-internal-function-not-handled-construct.js: Added.
710 * stress/dfg-internal-function-call.js: Added.
713 * stress/dfg-internal-function-construct.js: Added.
716 * stress/internal-function-call.js: Added.
718 * stress/internal-function-construct.js: Added.
721 2017-11-05 Per Arne Vollan <pvollan@apple.com>
723 [Win] Skip stress/regress-178385.js.
724 https://bugs.webkit.org/show_bug.cgi?id=179298
726 Unreviewed test gardening.
728 * stress/regress-178385.js:
730 2017-11-03 Keith Miller <keith_miller@apple.com>
732 Add test for ic with side effects
733 https://bugs.webkit.org/show_bug.cgi?id=179268
735 Reviewed by Saam Barati.
737 * stress/put-inline-cache-side-effects.js: Added.
738 (let.i.of.objs.keys):
741 2017-11-03 Mark Lam <mark.lam@apple.com>
743 CachedCall (and its clients) needs overflow checks.
744 https://bugs.webkit.org/show_bug.cgi?id=179185
746 Reviewed by JF Bastien.
748 * stress/regress-179185.js: Added.
750 2017-11-02 Michael Saboff <msaboff@apple.com>
752 DFG needs to handle code motion of code in for..in loop bodies
753 https://bugs.webkit.org/show_bug.cgi?id=179212
755 Reviewed by Keith Miller.
759 * stress/for-in-side-effects.js: Added.
767 2017-11-02 Filip Pizlo <fpizlo@apple.com>
769 AI does not correctly model the clobber case of ArithClz32
770 https://bugs.webkit.org/show_bug.cgi?id=179188
772 Reviewed by Michael Saboff.
774 * stress/arith-clz32-effects.js: Added.
778 2017-11-01 Michael Saboff <msaboff@apple.com>
780 Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
781 https://bugs.webkit.org/show_bug.cgi?id=179140
783 Reviewed by Saam Barati.
787 * stress/regress-179140.js: Added.
791 2017-11-01 Yusuke Suzuki <utatane.tea@gmail.com>
793 [JSC] Introduce @toObject
794 https://bugs.webkit.org/show_bug.cgi?id=178726
796 Reviewed by Saam Barati.
798 * stress/array-copywithin.js:
800 * stress/object-constructor-boolean-edge.js: Added.
803 * stress/object-constructor-global.js: Added.
805 * stress/object-constructor-null-edge.js: Added.
808 * stress/object-constructor-number-edge.js: Added.
811 * stress/object-constructor-object-edge.js: Added.
815 * stress/object-constructor-string-edge.js: Added.
818 * stress/object-constructor-symbol-edge.js: Added.
821 * stress/object-constructor-undefined-edge.js: Added.
824 * stress/symbol-array-from.js: Added.
826 * stress/to-object-intrinsic-boolean-edge.js: Added.
828 (builtin.createBuiltin):
829 * stress/to-object-intrinsic-null-or-undefined-edge.js: Added.
831 * stress/to-object-intrinsic-number-edge.js: Added.
833 (builtin.createBuiltin):
834 * stress/to-object-intrinsic-object-edge.js: Added.
836 (builtin.createBuiltin):
838 * stress/to-object-intrinsic-string-edge.js: Added.
840 (builtin.createBuiltin):
841 * stress/to-object-intrinsic-symbol-edge.js: Added.
843 (builtin.createBuiltin):
844 * stress/to-object-intrinsic.js: Added.
847 (builtin.createBuiltin):
849 2017-10-27 Yusuke Suzuki <utatane.tea@gmail.com>
851 [DFG][FTL] Introduce StringSlice
852 https://bugs.webkit.org/show_bug.cgi?id=178934
854 Reviewed by Saam Barati.
856 * microbenchmarks/string-slice-empty.js: Added.
858 * microbenchmarks/string-slice-one-char.js: Added.
860 * microbenchmarks/string-slice.js: Added.
863 2017-10-26 Michael Saboff <msaboff@apple.com>
865 REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum
866 https://bugs.webkit.org/show_bug.cgi?id=178890
868 Reviewed by Keith Miller.
872 * stress/regress-178890.js: Added.
874 2017-10-26 Mark Lam <mark.lam@apple.com>
876 JSRopeString::RopeBuilder::append() should check for overflows.
877 https://bugs.webkit.org/show_bug.cgi?id=178385
878 <rdar://problem/35027468>
880 Reviewed by Saam Barati.
882 * stress/regress-178385.js: Added.
884 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
886 Unreviewed, rolling out r223961.
888 The change that required this has been rolled out.
892 "Mark test262.yaml/test262/test/language/statements/try/tco-
893 catch.js as passing."
894 https://bugs.webkit.org/show_bug.cgi?id=178592
895 https://trac.webkit.org/changeset/223961
897 2017-10-25 Commit Queue <commit-queue@webkit.org>
899 Unreviewed, rolling out r223691 and r223729.
900 https://bugs.webkit.org/show_bug.cgi?id=178834
902 Broke Speedometer 2 React-Redux-TodoMVC test case (Requested
903 by rniwa on #webkit).
907 "Turn recursive tail calls into loops"
908 https://bugs.webkit.org/show_bug.cgi?id=176601
909 https://trac.webkit.org/changeset/223691
911 "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning:
912 comparison is always false due to limited range of data type
914 https://bugs.webkit.org/show_bug.cgi?id=178543
915 https://trac.webkit.org/changeset/223729
917 2017-10-25 Ryan Haddad <ryanhaddad@apple.com>
919 Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing.
920 https://bugs.webkit.org/show_bug.cgi?id=178592
922 Unreviewed test gardening.
926 2017-10-24 Yusuke Suzuki <utatane.tea@gmail.com>
928 [FTL] Support NewStringObject
929 https://bugs.webkit.org/show_bug.cgi?id=178737
931 Reviewed by Saam Barati.
933 * stress/new-string-object.js: Added.
937 2017-10-15 Yusuke Suzuki <utatane.tea@gmail.com>
939 [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time
940 https://bugs.webkit.org/show_bug.cgi?id=178308
942 Reviewed by Mark Lam.
946 2017-10-23 Yusuke Suzuki <utatane.tea@gmail.com>
948 [JSC] Use fastJoin in Array#toString
949 https://bugs.webkit.org/show_bug.cgi?id=178062
951 Reviewed by Darin Adler.
953 * microbenchmarks/contiguous-array-to-string.js: Added.
955 * microbenchmarks/double-array-to-string.js: Added.
957 * microbenchmarks/int32-array-to-string.js: Added.
960 2017-10-22 Zan Dobersek <zdobersek@igalia.com>
962 stress/check-string-ident.js is improperly skipped
963 https://bugs.webkit.org/show_bug.cgi?id=178642
965 Reviewed by Saam Barati.
967 * stress/check-string-ident.js: Drop the defaultNoEagerRun directive
968 since it enforces the run-jsc-stress-tests script to still set up the
969 test to run, despite the skip directive that's used before.
971 2017-10-20 Mark Lam <mark.lam@apple.com>
973 Add a test case for r214334.
974 https://bugs.webkit.org/show_bug.cgi?id=169941
975 <rdar://problem/31221258>
977 Reviewed by JF Bastien.
979 * stress/regress-169941.js: Added.
981 2017-10-19 JF Bastien <jfbastien@apple.com>
983 WebAssembly: no VM / JS version of everything but Instance
984 https://bugs.webkit.org/show_bug.cgi?id=177473
986 Reviewed by Filip Pizlo, Saam Barati.
988 - Exceeding max on memory growth now returns a range error as per
989 spec. This is a (very minor) breaking change: it used to throw OOM
990 error. Update the corresponding test.
992 * wasm/js-api/memory-grow.js:
994 * wasm/js-api/table.js:
997 2017-10-19 Mark Lam <mark.lam@apple.com>
999 Stringifier::appendStringifiedValue() is missing an exception check.
1000 https://bugs.webkit.org/show_bug.cgi?id=178386
1001 <rdar://problem/35027610>
1003 Reviewed by Saam Barati.
1005 * stress/regress-178386.js: Added.
1007 2017-10-19 Michael Saboff <msaboff@apple.com>
1009 Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation
1010 https://bugs.webkit.org/show_bug.cgi?id=178521
1012 Reviewed by JF Bastien.
1014 * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it
1015 now passes with the current version (5.0) of the Emoji spec.
1017 2017-10-19 Robin Morisset <rmorisset@apple.com>
1019 Turn recursive tail calls into loops
1020 https://bugs.webkit.org/show_bug.cgi?id=176601
1022 Reviewed by Saam Barati.
1024 Add some simple test that computes factorial in several ways, and other trivial computations.
1025 They all tests the case where foo calls bar (in an inlineable way) that then does a tail call.
1026 Depending on the nature of both calls, it is possible or not to turn the tail call into a loop.
1027 I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result
1028 (which it doesn't if that tail call is transformed into a loop in the unsound cases).
1030 * stress/inline-call-to-recursive-tail-call.js: Added.
1042 2017-10-18 Mark Lam <mark.lam@apple.com>
1044 RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified.
1045 https://bugs.webkit.org/show_bug.cgi?id=177600
1046 <rdar://problem/34710985>
1048 Reviewed by Saam Barati.
1050 * stress/regress-177600.js: Added.
1052 2017-10-18 Mark Lam <mark.lam@apple.com>
1054 The compiler should always register a structure when it adds its transitionWatchPointSet.
1055 https://bugs.webkit.org/show_bug.cgi?id=178420
1056 <rdar://problem/34814024>
1058 Reviewed by Saam Barati and Filip Pizlo.
1060 * stress/regress-178420.js: Added.
1061 (new.Array.10000.map):
1063 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com>
1065 [JSC] __proto__ getter should be fast
1066 https://bugs.webkit.org/show_bug.cgi?id=178067
1068 Reviewed by Saam Barati.
1070 * stress/dfg-object-proto-accessor.js: Added.
1074 * stress/dfg-object-proto-getter.js: Added.
1078 * stress/dfg-object-prototype-of.js: Added.
1082 * stress/dfg-reflect-get-prototype-of.js: Added.
1086 * stress/intrinsic-getter-with-poly-proto.js: Added.
1088 (makePolyProtoObject.foo.C):
1089 (makePolyProtoObject.foo):
1090 (makePolyProtoObject):
1092 * stress/object-get-prototype-of-filtered.js: Added.
1097 * stress/object-get-prototype-of-mono-proto.js: Added.
1099 (makePolyProtoObject.foo.C):
1100 (makePolyProtoObject.foo):
1101 (makePolyProtoObject):
1103 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
1105 (makePolyProtoObject.foo.C):
1106 (makePolyProtoObject.foo):
1107 (makePolyProtoObject):
1109 * stress/object-get-prototype-of-poly-proto.js: Added.
1111 (makePolyProtoObject.foo.C):
1112 (makePolyProtoObject.foo):
1113 (makePolyProtoObject):
1115 * stress/object-proto-getter-filtered.js: Added.
1120 * stress/object-proto-getter-poly-mono-proto.js: Added.
1122 (makePolyProtoObject.foo.C):
1123 (makePolyProtoObject.foo):
1124 (makePolyProtoObject):
1126 * stress/object-proto-getter-poly-proto.js: Added.
1128 (makePolyProtoObject.foo.C):
1129 (makePolyProtoObject.foo):
1130 (makePolyProtoObject):
1132 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
1133 * stress/string-proto.js: Added.
1137 2017-10-17 Ryan Haddad <ryanhaddad@apple.com>
1139 Unreviewed, rolling out r223523.
1141 A test for this change is failing on debug JSC bots.
1145 "[JSC] __proto__ getter should be fast"
1146 https://bugs.webkit.org/show_bug.cgi?id=178067
1147 https://trac.webkit.org/changeset/223523
1149 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com>
1151 [JSC] __proto__ getter should be fast
1152 https://bugs.webkit.org/show_bug.cgi?id=178067
1154 Reviewed by Saam Barati.
1156 * stress/dfg-object-proto-accessor.js: Added.
1160 * stress/dfg-object-proto-getter.js: Added.
1164 * stress/dfg-object-prototype-of.js: Added.
1168 * stress/dfg-reflect-get-prototype-of.js: Added.
1172 * stress/object-get-prototype-of-filtered.js: Added.
1177 * stress/object-get-prototype-of-mono-proto.js: Added.
1179 (makePolyProtoObject.foo.C):
1180 (makePolyProtoObject.foo):
1181 (makePolyProtoObject):
1183 * stress/object-get-prototype-of-poly-mono-proto.js: Added.
1185 (makePolyProtoObject.foo.C):
1186 (makePolyProtoObject.foo):
1187 (makePolyProtoObject):
1189 * stress/object-get-prototype-of-poly-proto.js: Added.
1191 (makePolyProtoObject.foo.C):
1192 (makePolyProtoObject.foo):
1193 (makePolyProtoObject):
1195 * stress/object-proto-getter-filtered.js: Added.
1200 * stress/object-proto-getter-poly-mono-proto.js: Added.
1202 (makePolyProtoObject.foo.C):
1203 (makePolyProtoObject.foo):
1204 (makePolyProtoObject):
1206 * stress/object-proto-getter-poly-proto.js: Added.
1208 (makePolyProtoObject.foo.C):
1209 (makePolyProtoObject.foo):
1210 (makePolyProtoObject):
1212 * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js:
1213 * stress/string-proto.js: Added.
1217 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com>
1219 Reland "Add Above/Below comparisons for UInt32 patterns"
1220 https://bugs.webkit.org/show_bug.cgi?id=177281
1222 Reviewed by Saam Barati.
1224 * stress/uint32-comparison-jump.js: Added.
1234 * stress/uint32-comparison.js: Added.
1245 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com>
1247 WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
1248 https://bugs.webkit.org/show_bug.cgi?id=178210
1250 Reviewed by Saam Barati.
1252 * wasm/function-tests/trap-from-start-async.js:
1253 (async.StartTrapsAsync):
1254 * wasm/function-tests/trap-from-start.js:
1256 * wasm/js-api/web-assembly-function.js:
1257 (assert.eq.Object.getPrototypeOf):
1258 * wasm/js-api/wrapper-function.js:
1259 (return.new.WebAssembly.Module):
1260 (assert.throws.makeInstance): Deleted.
1261 (assert.throws.Bar): Deleted.
1262 (assert.throws): Deleted.
1264 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1266 Enable gigacage on iOS
1267 https://bugs.webkit.org/show_bug.cgi?id=177586
1269 Reviewed by JF Bastien.
1271 Add tests for when Gigacage gets runtime disabled.
1273 * stress/disable-gigacage-arrays.js: Added.
1275 * stress/disable-gigacage-strings.js: Added.
1277 * stress/disable-gigacage-typed-arrays.js: Added.
1280 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com>
1282 import.meta should not be assignable
1283 https://bugs.webkit.org/show_bug.cgi?id=178202
1285 Reviewed by Saam Barati.
1287 * modules/import-meta-assignment.js: Added.
1289 (SyntaxError.import.meta.can.shouldThrow):
1291 2017-10-11 Saam Barati <sbarati@apple.com>
1293 Unreviewed. Actually skip certain type profiler tests in debug.
1295 * typeProfiler.yaml:
1296 * typeProfiler/deltablue-for-of.js:
1297 * typeProfiler/getter-richards.js:
1299 2017-10-11 Commit Queue <commit-queue@webkit.org>
1301 Unreviewed, rolling out r223113 and r223121.
1302 https://bugs.webkit.org/show_bug.cgi?id=178182
1304 Reintroduced 20% regression on Kraken (Requested by rniwa on
1307 Reverted changesets:
1309 "Enable gigacage on iOS"
1310 https://bugs.webkit.org/show_bug.cgi?id=177586
1311 https://trac.webkit.org/changeset/223113
1313 "Use one virtual allocation for all gigacages and their
1315 https://bugs.webkit.org/show_bug.cgi?id=178050
1316 https://trac.webkit.org/changeset/223121
1318 2017-10-11 Michael Saboff <msaboff@apple.com>
1320 Disable test262 named capture group tests with direct unicode names and with references before definitions
1321 https://bugs.webkit.org/show_bug.cgi?id=178177
1323 Reviewed by Keith Miller.
1325 Bugs to track fixing these test are:
1326 https://bugs.webkit.org/show_bug.cgi?id=178174 -
1327 "Add support in named capture group identifiers for direct surrogate pairs"
1328 https://bugs.webkit.org/show_bug.cgi?id=178175 -
1329 "Test262 failure with Named Capture Groups - using a reference before the group is defined"
1333 2017-10-11 Caio Lima <ticaiolima@gmail.com>
1335 Object properties are undefined in super.call() but not in this.call()
1336 https://bugs.webkit.org/show_bug.cgi?id=177230
1338 Reviewed by Saam Barati.
1340 * stress/super-call-function-subclass.js: Added.
1344 * stress/super-dot-call-and-apply.js: Added.
1348 (A.prototype.apply):
1349 (B.prototype.testSuper):
1351 (const.obj.new.B.string_appeared_here.obj.testSuper.C):
1352 (D.prototype.testSuper):
1355 2017-10-10 Saam Barati <sbarati@apple.com>
1357 The prototype cache should be aware of the Executable it generates a Structure for
1358 https://bugs.webkit.org/show_bug.cgi?id=177907
1360 Reviewed by Filip Pizlo.
1362 * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.
1372 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com>
1374 `async` should be able to be used as an imported binding name
1375 https://bugs.webkit.org/show_bug.cgi?id=176573
1377 Reviewed by Saam Barati.
1379 * modules/import-default-async.js: Added.
1380 * modules/import-named-async-as.js: Added.
1381 * modules/import-named-async.js: Added.
1382 * modules/import-named-async/target.js: Added.
1383 * modules/import-namespace-async.js: Added.
1386 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1388 Enable gigacage on iOS
1389 https://bugs.webkit.org/show_bug.cgi?id=177586
1391 Reviewed by JF Bastien.
1393 Add tests for when Gigacage gets runtime disabled.
1395 * stress/disable-gigacage-arrays.js: Added.
1397 * stress/disable-gigacage-strings.js: Added.
1399 * stress/disable-gigacage-typed-arrays.js: Added.
1402 2017-10-09 Michael Saboff <msaboff@apple.com>
1404 Implement RegExp Unicode property escapes
1405 https://bugs.webkit.org/show_bug.cgi?id=172069
1407 Reviewed by JF Bastien.
1409 Enabled Unicode Property tests.
1413 2017-10-09 Commit Queue <commit-queue@webkit.org>
1415 Unreviewed, rolling out r223015 and r223025.
1416 https://bugs.webkit.org/show_bug.cgi?id=178093
1418 Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
1421 Reverted changesets:
1423 "Enable gigacage on iOS"
1424 https://bugs.webkit.org/show_bug.cgi?id=177586
1425 http://trac.webkit.org/changeset/223015
1427 "Unreviewed, disable Gigacage on ARM64 Linux"
1428 https://bugs.webkit.org/show_bug.cgi?id=177586
1429 http://trac.webkit.org/changeset/223025
1431 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
1433 Update expectations for test262 tests that pass after r223043.
1434 https://bugs.webkit.org/show_bug.cgi?id=176685
1436 Unreviewed test gardening.
1440 2017-10-09 Ryan Haddad <ryanhaddad@apple.com>
1442 Unreviewed, rolling out r223022.
1444 This change introduced 18 test262 failures.
1448 "`async` should be able to be used as an imported binding
1450 https://bugs.webkit.org/show_bug.cgi?id=176573
1451 http://trac.webkit.org/changeset/223022
1453 2017-10-09 Saam Barati <sbarati@apple.com>
1455 3 poly-proto JSC tests timing out on debug after r222827
1456 https://bugs.webkit.org/show_bug.cgi?id=177880
1457 <rdar://problem/34817122>
1461 I'm skipping these type profiler tests on debug since they are long running.
1463 * typeProfiler/deltablue-for-of.js:
1464 * typeProfiler/getter-richards.js:
1466 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com>
1468 Safari 10 /11 problem with if (!await get(something)).
1469 https://bugs.webkit.org/show_bug.cgi?id=176685
1471 Reviewed by Saam Barati.
1473 * stress/async-await-basic.js:
1474 (awaitEpression.async):
1475 * stress/async-await-syntax.js:
1476 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
1477 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
1479 2017-10-08 Saam Barati <sbarati@apple.com>
1481 Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts.
1483 * typeProfiler/deltablue-for-of.js:
1484 * typeProfiler/getter-richards.js:
1486 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com>
1488 `async` should be able to be used as an imported binding name
1489 https://bugs.webkit.org/show_bug.cgi?id=176573
1491 Reviewed by Darin Adler.
1493 * modules/import-default-async.js: Added.
1494 * modules/import-named-async-as.js: Added.
1495 * modules/import-named-async.js: Added.
1496 * modules/import-named-async/target.js: Added.
1497 * modules/import-namespace-async.js: Added.
1499 2017-09-29 Filip Pizlo <fpizlo@apple.com>
1501 Enable gigacage on iOS
1502 https://bugs.webkit.org/show_bug.cgi?id=177586
1504 Reviewed by JF Bastien.
1506 Add tests for when Gigacage gets runtime disabled.
1508 * stress/disable-gigacage-arrays.js: Added.
1510 * stress/disable-gigacage-strings.js: Added.
1512 * stress/disable-gigacage-typed-arrays.js: Added.
1515 2017-10-06 Commit Queue <commit-queue@webkit.org>
1517 Unreviewed, rolling out r222791 and r222873.
1518 https://bugs.webkit.org/show_bug.cgi?id=178031
1520 Caused crashes with workers/wasm LayoutTests (Requested by
1521 ryanhaddad on #webkit).
1523 Reverted changesets:
1525 "WebAssembly: no VM / JS version of everything but Instance"
1526 https://bugs.webkit.org/show_bug.cgi?id=177473
1527 http://trac.webkit.org/changeset/222791
1529 "WebAssembly: address no VM / JS follow-ups"
1530 https://bugs.webkit.org/show_bug.cgi?id=177887
1531 http://trac.webkit.org/changeset/222873
1533 2017-10-05 Saam Barati <sbarati@apple.com>
1535 Make sure all prototypes under poly proto get added into the VM's prototype map
1536 https://bugs.webkit.org/show_bug.cgi?id=177909
1538 Reviewed by Keith Miller.
1540 * stress/poly-proto-prototype-map-having-a-bad-time.js: Added.
1546 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com>
1548 [JSC] Introduce import.meta
1549 https://bugs.webkit.org/show_bug.cgi?id=177703
1551 Reviewed by Filip Pizlo.
1553 * modules/import-meta-syntax.js: Added.
1556 * modules/import-meta.js: Added.
1557 * modules/import-meta/cocoa.js: Added.
1558 * modules/resources/assert.js:
1559 (export.shouldNotThrow):
1560 * stress/import-syntax.js:
1562 2017-10-04 Saam Barati <sbarati@apple.com>
1564 Make pertinent AccessCases watch the poly proto watchpoint
1565 https://bugs.webkit.org/show_bug.cgi?id=177765
1567 Reviewed by Keith Miller.
1569 * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added.
1574 * stress/poly-proto-clear-stub.js: Added.
1579 2017-10-04 Ryan Haddad <ryanhaddad@apple.com>
1581 Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js.
1583 Unreviewed test gardening.
1587 2017-10-04 Saam Barati <sbarati@apple.com>
1589 3 poly-proto JSC tests timing out on debug after r222827
1590 https://bugs.webkit.org/show_bug.cgi?id=177880
1592 Rubber stamped by Mark Lam.
1594 * microbenchmarks/poly-proto-access.js:
1595 * typeProfiler/deltablue-for-of.js:
1596 * typeProfiler/getter-richards.js:
1598 2017-10-04 Joseph Pecoraro <pecoraro@apple.com>
1600 Unreviewed, marking tco-catch.js as a failure after test262 update
1601 https://bugs.webkit.org/show_bug.cgi?id=177859
1605 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
1607 Unreviewed, marking one async iterator test262 test failed
1608 https://bugs.webkit.org/show_bug.cgi?id=177859
1612 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
1614 [Test262] Update Test262 to Oct 4 version
1615 https://bugs.webkit.org/show_bug.cgi?id=177859
1617 Reviewed by Sam Weinig.
1619 Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next,
1620 we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests.
1623 * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js.
1625 * test262/harness/typeCoercion.js:
1626 (testCoercibleToIndexZero):
1627 (testCoercibleToIndexOne):
1628 (testCoercibleToIndexFromIndex):
1629 (testNotCoercibleToIndex.testPrimitiveValue):
1630 (testNotCoercibleToInteger):
1631 (testCoercibleToBigIntZero.testPrimitiveValue):
1632 (testCoercibleToBigIntZero):
1633 (testCoercibleToBigIntOne.testPrimitiveValue):
1634 (testCoercibleToBigIntOne):
1635 (testPrimitiveValue):
1636 (testCoercibleToBigIntFromBigInt):
1637 (testNotCoercibleToBigInt.testPrimitiveValue):
1638 (testNotCoercibleToBigInt.testStringValue):
1639 (testNotCoercibleToBigInt):
1640 * test262/test/built-ins/Array/from/proto-from-ctor-realm.js:
1641 * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js:
1642 * test262/test/built-ins/Array/of/proto-from-ctor-realm.js:
1643 * test262/test/built-ins/Array/proto-from-ctor-realm.js:
1644 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js:
1645 * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js:
1646 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
1647 * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js:
1648 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js:
1649 * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js:
1650 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js:
1651 * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js:
1652 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js:
1653 * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js:
1654 * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js:
1655 * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js:
1656 (testCoercibleToBigIntZero):
1657 (testCoercibleToBigIntOne):
1658 (testNotCoercibleToBigInt):
1661 (toString): Deleted.
1662 (Symbol.toPrimitive): Deleted.
1663 * test262/test/built-ins/BigInt/asIntN/bits-toindex.js:
1664 (testCoercibleToIndexZero):
1665 (testCoercibleToIndexOne):
1666 (testNotCoercibleToIndex):
1668 (assert.sameValue.BigInt.asIntN.valueOf): Deleted.
1669 (assert.sameValue.BigInt.asIntN.toString): Deleted.
1670 (BigInt.asIntN.Symbol.toPrimitive): Deleted.
1671 (BigInt.asIntN.valueOf): Deleted.
1672 (BigInt.asIntN.toString): Deleted.
1673 * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added.
1674 * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added.
1675 * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added.
1676 (testCoercibleToBigIntZero):
1677 (testCoercibleToBigIntOne):
1678 (testNotCoercibleToBigInt):
1679 * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added.
1680 (testCoercibleToIndexZero):
1681 (testCoercibleToIndexOne):
1682 (testNotCoercibleToIndex):
1683 * test262/test/built-ins/BigInt/asUintN/length.js: Added.
1684 * test262/test/built-ins/BigInt/asUintN/name.js: Added.
1685 * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added.
1688 * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added.
1689 * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added.
1690 * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added.
1691 * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added.
1692 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added.
1693 * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added.
1694 * test262/test/built-ins/Boolean/proto-from-ctor-realm.js:
1695 * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js:
1696 * test262/test/built-ins/DataView/proto-from-ctor-realm.js:
1697 * test262/test/built-ins/Date/proto-from-ctor-realm-one.js:
1698 * test262/test/built-ins/Date/proto-from-ctor-realm-two.js:
1699 * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js:
1700 * test262/test/built-ins/Error/proto-from-ctor-realm.js:
1701 * test262/test/built-ins/Function/call-bind-this-realm-undef.js:
1702 * test262/test/built-ins/Function/call-bind-this-realm-value.js:
1703 * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
1704 * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js:
1705 * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js:
1706 * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js:
1707 * test262/test/built-ins/Function/proto-from-ctor-realm.js:
1708 * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js:
1709 * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js:
1710 * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js:
1711 * test262/test/built-ins/JSON/stringify/bigint-order.js: Added.
1713 (BigInt.prototype.toJSON):
1714 * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added.
1716 * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added.
1717 (BigInt.prototype.toJSON):
1718 * test262/test/built-ins/JSON/stringify/bigint.js:
1719 * test262/test/built-ins/Map/proto-from-ctor-realm.js:
1720 * test262/test/built-ins/Number/S9.3.1_A2_U180E.js:
1721 * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js:
1722 * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js:
1723 * test262/test/built-ins/Number/proto-from-ctor-realm.js:
1724 * test262/test/built-ins/Object/proto-from-ctor.js:
1725 * test262/test/built-ins/Promise/proto-from-ctor-realm.js:
1726 * test262/test/built-ins/Proxy/apply/arguments-realm.js:
1727 * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js:
1728 * test262/test/built-ins/Proxy/construct/arguments-realm.js:
1729 * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js:
1730 * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js:
1731 * test262/test/built-ins/Proxy/defineProperty/desc-realm.js:
1732 * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js:
1733 * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js:
1734 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js:
1735 * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js:
1736 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js:
1737 * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js:
1738 * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js:
1739 * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js:
1740 * test262/test/built-ins/Proxy/get-fn-realm.js:
1741 * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js:
1742 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js:
1743 * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js:
1744 * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js:
1745 * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js:
1746 * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js:
1747 * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js:
1748 * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js:
1749 * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js:
1750 * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js:
1751 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js:
1752 * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js:
1755 * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js:
1756 * test262/test/built-ins/RegExp/dotall/with-dotall.js:
1757 * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js:
1758 * test262/test/built-ins/RegExp/dotall/without-dotall.js:
1759 * test262/test/built-ins/RegExp/proto-from-ctor-realm.js:
1760 * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js:
1761 * test262/test/built-ins/RegExp/u180e.js: Added.
1762 * test262/test/built-ins/Set/proto-from-ctor-realm.js:
1763 * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js:
1764 * test262/test/built-ins/String/proto-from-ctor-realm.js:
1765 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js:
1766 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js:
1767 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js:
1768 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js:
1769 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js:
1770 * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js:
1771 * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js:
1772 * test262/test/built-ins/String/prototype/endsWith/endsWith.js:
1773 * test262/test/built-ins/String/prototype/endsWith/length.js:
1774 * test262/test/built-ins/String/prototype/endsWith/name.js:
1775 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js:
1776 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js:
1777 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js:
1778 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js:
1779 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js:
1780 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js:
1781 * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js:
1782 * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js:
1783 * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js:
1784 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js:
1785 * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js:
1786 * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js:
1787 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js:
1788 * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js:
1789 * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js:
1790 * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js:
1791 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js:
1792 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js:
1793 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js:
1794 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js:
1795 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js:
1796 * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js:
1797 * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js:
1798 * test262/test/built-ins/String/prototype/includes/includes.js:
1799 * test262/test/built-ins/String/prototype/includes/length.js:
1800 * test262/test/built-ins/String/prototype/includes/name.js:
1801 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js:
1802 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js:
1803 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js:
1804 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js:
1805 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js:
1806 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js:
1807 * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js:
1808 * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js:
1809 * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js:
1810 * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js:
1811 * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js:
1812 * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js:
1813 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js:
1814 * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js:
1815 * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js:
1816 * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js:
1817 * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js:
1818 * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js:
1819 * test262/test/built-ins/String/prototype/trim/u180e.js:
1820 * test262/test/built-ins/Symbol/for/cross-realm.js:
1821 * test262/test/built-ins/Symbol/hasInstance/cross-realm.js:
1822 * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js:
1823 * test262/test/built-ins/Symbol/iterator/cross-realm.js:
1824 * test262/test/built-ins/Symbol/keyFor/cross-realm.js:
1825 * test262/test/built-ins/Symbol/match/cross-realm.js:
1826 * test262/test/built-ins/Symbol/replace/cross-realm.js:
1827 * test262/test/built-ins/Symbol/search/cross-realm.js:
1828 * test262/test/built-ins/Symbol/species/cross-realm.js:
1829 * test262/test/built-ins/Symbol/split/cross-realm.js:
1830 * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js:
1831 * test262/test/built-ins/Symbol/toStringTag/cross-realm.js:
1832 * test262/test/built-ins/Symbol/unscopables/cross-realm.js:
1833 * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js:
1834 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js:
1835 * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js:
1836 * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js:
1837 * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js:
1838 * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js:
1839 * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js:
1840 * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js:
1841 * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js:
1842 * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js:
1843 * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js:
1844 * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js:
1845 * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js:
1846 * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js:
1847 * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js:
1848 * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js:
1849 * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js:
1850 * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js:
1851 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js:
1852 * test262/test/language/comments/mongolian-vowel-separator-multi.js:
1853 * test262/test/language/comments/mongolian-vowel-separator-single-eval.js:
1854 * test262/test/language/comments/mongolian-vowel-separator-single.js:
1855 * test262/test/language/eval-code/indirect/realm.js:
1856 * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added.
1859 * test262/test/language/expressions/call/eval-realm-indirect.js:
1860 * test262/test/language/expressions/generators/eval-body-proto-realm.js:
1861 * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added.
1862 * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added.
1863 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added.
1864 * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
1865 * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added.
1866 * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added.
1867 * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added.
1868 * test262/test/language/expressions/greater-than/bigint-and-number.js:
1869 * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added.
1870 * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added.
1871 * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added.
1872 * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
1873 * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added.
1874 * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added.
1875 * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added.
1876 * test262/test/language/expressions/less-than/bigint-and-number.js:
1877 * test262/test/language/expressions/new/non-ctor-err-realm.js:
1878 * test262/test/language/expressions/super/realm.js:
1879 * test262/test/language/expressions/tagged-template/cache-realm.js:
1880 * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js:
1881 * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js:
1882 * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js:
1883 * test262/test/language/literals/regexp/mongolian-vowel-separator.js:
1884 * test262/test/language/literals/string/mongolian-vowel-separator-eval.js:
1885 * test262/test/language/literals/string/mongolian-vowel-separator.js:
1886 * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added.
1889 * test262/test/language/statements/for-of/iterator-next-reference.js:
1891 (iterator.next): Deleted.
1892 (x.of.iterable.): Deleted.
1893 (x.of.iterable.get return): Deleted.
1894 (x.of.iterable.iterator.next): Deleted.
1895 * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js:
1896 * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js:
1897 * test262/test/language/white-space/mongolian-vowel-separator-eval.js:
1898 * test262/test/language/white-space/mongolian-vowel-separator.js:
1899 * test262/test262-Revision.txt:
1901 2017-10-03 Saam Barati <sbarati@apple.com>
1903 Implement polymorphic prototypes
1904 https://bugs.webkit.org/show_bug.cgi?id=176391
1906 Reviewed by Filip Pizlo.
1908 * microbenchmarks/poly-proto-access.js: Added.
1911 (foo.C.prototype.get bar):
1914 * microbenchmarks/poly-proto-put-transition-speed.js: Added.
1916 (makePolyProtoObject.foo.C):
1917 (makePolyProtoObject.foo):
1918 (makePolyProtoObject):
1920 * microbenchmarks/poly-proto-setter-speed.js: Added.
1922 (makePolyProtoObject.foo.C):
1923 (makePolyProtoObject.foo.C.prototype.set p):
1924 (makePolyProtoObject.foo):
1925 (makePolyProtoObject):
1927 * stress/constructor-with-return.js:
1928 (i.tests.forEach.Constructor):
1930 (tests.forEach.Constructor): Deleted.
1931 (tests.forEach): Deleted.
1932 * stress/dom-jit-with-poly-proto.js: Added.
1934 (makePolyProtoObject.foo.C):
1935 (makePolyProtoObject.foo):
1936 (makePolyProtoObject):
1938 * stress/poly-proto-custom-value-and-accessor.js: Added.
1940 (makePolyProtoObject.foo.C):
1941 (makePolyProtoObject.foo):
1942 (makePolyProtoObject):
1945 * stress/poly-proto-intrinsic-getter-correctness.js: Added.
1947 (makePolyProtoObject.foo.C):
1948 (makePolyProtoObject.foo):
1949 (makePolyProtoObject):
1951 * stress/poly-proto-miss.js: Added.
1952 (makePolyProtoInstanceWithNullPrototype.foo.C):
1953 (makePolyProtoInstanceWithNullPrototype.foo):
1954 (makePolyProtoInstanceWithNullPrototype):
1957 * stress/poly-proto-op-in-caching.js: Added.
1959 (makePolyProtoObject.foo.C):
1960 (makePolyProtoObject.foo):
1961 (makePolyProtoObject):
1964 * stress/poly-proto-put-transition.js: Added.
1966 (makePolyProtoObject.foo.C):
1967 (makePolyProtoObject.foo):
1968 (makePolyProtoObject):
1970 (i.obj.__proto__.set p):
1971 * stress/poly-proto-set-prototype.js: Added.
1973 (let.alternateProto.get x):
1974 (let.alternateProto2.get y):
1975 (let.alternateProto2.get x):
1979 * stress/poly-proto-setter.js: Added.
1981 (makePolyProtoObject.foo.C):
1982 (makePolyProtoObject.foo.C.prototype.set p):
1983 (makePolyProtoObject.foo.C.prototype.get p):
1984 (makePolyProtoObject.foo):
1985 (makePolyProtoObject):
1987 * stress/poly-proto-using-inheritance.js: Added.
1990 (foo.C.prototype.get baz):
1995 * stress/primitive-poly-proto.js: Added.
1996 (makePolyProtoInstance.foo.C):
1997 (makePolyProtoInstance.foo):
1998 (makePolyProtoInstance):
2001 * stress/prototype-is-not-js-object.js: Added.
2006 * stress/try-get-by-id-poly-proto.js: Added.
2008 (makePolyProtoObject.foo.C):
2009 (makePolyProtoObject.foo):
2010 (makePolyProtoObject):
2012 (x.__proto__.get bar):
2014 * typeProfiler/overflow.js:
2016 2017-10-03 JF Bastien <jfbastien@apple.com>
2018 WebAssembly: no VM / JS version of everything but Instance
2019 https://bugs.webkit.org/show_bug.cgi?id=177473
2021 Reviewed by Filip Pizlo.
2023 - Exceeding max on memory growth now returns a range error as per
2024 spec. This is a (very minor) breaking change: it used to throw OOM
2025 error. Update the corresponding test.
2027 * wasm/js-api/memory-grow.js:
2029 * wasm/js-api/table.js:
2032 2017-10-03 Ryan Haddad <ryanhaddad@apple.com>
2034 Skip JSC test stress/regress-159779-2.js on debug.
2035 https://bugs.webkit.org/show_bug.cgi?id=177204
2037 Unreviewed test gardening.
2039 * stress/regress-159779-2.js:
2041 2017-10-02 Caio Lima <ticaiolima@gmail.com>
2043 ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64
2044 https://bugs.webkit.org/show_bug.cgi?id=175642
2046 Reviewed by Darin Adler.
2048 * ChakraCore/test/Function/apply3.baseline-jsc:
2050 2017-10-01 Commit Queue <commit-queue@webkit.org>
2052 Unreviewed, rolling out r222564.
2053 https://bugs.webkit.org/show_bug.cgi?id=177720
2055 "It regressed JetStream by 2% on iOS caused by a 50%
2056 regression on the bigfib subtest" (Requested by saamyjoon on
2061 "Add Above/Below comparisons for UInt32 patterns"
2062 https://bugs.webkit.org/show_bug.cgi?id=177281
2063 http://trac.webkit.org/changeset/222564
2065 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com>
2067 [DFG] Support ArrayPush with multiple args
2068 https://bugs.webkit.org/show_bug.cgi?id=175823
2070 Reviewed by Saam Barati.
2072 * microbenchmarks/array-push-0.js: Added.
2074 * microbenchmarks/array-push-1.js: Added.
2076 * microbenchmarks/array-push-2.js: Added.
2078 * microbenchmarks/array-push-3.js: Added.
2080 * stress/array-push-multiple-contiguous.js: Added.
2083 * stress/array-push-multiple-double-nan.js: Added.
2086 * stress/array-push-multiple-double.js: Added.
2089 * stress/array-push-multiple-int32.js: Added.
2092 * stress/array-push-multiple-many-contiguous.js: Added.
2095 * stress/array-push-multiple-many-double.js: Added.
2098 * stress/array-push-multiple-many-int32.js: Added.
2101 * stress/array-push-multiple-many-storage.js: Added.
2104 * stress/array-push-multiple-storage.js: Added.
2107 * stress/array-push-with-force-exit.js: Added.
2108 (target.createBuiltin):
2110 2017-09-29 Saam Barati <sbarati@apple.com>
2112 Custom GetterSetterAccessCase does not use the correct slotBase when making call
2113 https://bugs.webkit.org/show_bug.cgi?id=177639
2115 Reviewed by Geoffrey Garen.
2117 * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added.
2123 2017-09-29 Commit Queue <commit-queue@webkit.org>
2125 Unreviewed, rolling out r222563, r222565, and r222581.
2126 https://bugs.webkit.org/show_bug.cgi?id=177675
2128 "It causes a crash when playing youtube videos" (Requested by
2129 saamyjoon on #webkit).
2131 Reverted changesets:
2133 "[DFG] Support ArrayPush with multiple args"
2134 https://bugs.webkit.org/show_bug.cgi?id=175823
2135 http://trac.webkit.org/changeset/222563
2137 "Unreviewed, build fix after r222563"
2138 https://bugs.webkit.org/show_bug.cgi?id=175823
2139 http://trac.webkit.org/changeset/222565
2141 "Unreviewed, fix x86 breaking due to exhausted registers"
2142 https://bugs.webkit.org/show_bug.cgi?id=175823
2143 http://trac.webkit.org/changeset/222581
2145 2017-09-28 Mark Lam <mark.lam@apple.com>
2147 test262: Unexpected passes after r222617 and r222618.
2148 https://bugs.webkit.org/show_bug.cgi?id=177622
2149 <rdar://problem/34725960>
2151 Reviewed by Saam Barati.
2153 Update test262.yaml for tests that are now passing.
2157 2017-09-27 Michael Saboff <msaboff@apple.com>
2159 REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match
2160 https://bugs.webkit.org/show_bug.cgi?id=177570
2162 Reviewed by Filip Pizlo.
2164 New regression test.
2166 * stress/regress-177570.js: Added.
2168 2017-09-28 Michael Saboff <msaboff@apple.com>
2170 Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek()
2171 https://bugs.webkit.org/show_bug.cgi?id=177423
2173 Reviewed by Mark Lam.
2175 Updated regression test.
2177 * stress/regress-177423.js:
2180 2017-09-27 Mark Lam <mark.lam@apple.com>
2182 JSArray::canFastCopy() should fail if the source and destination arrays are the same.
2183 https://bugs.webkit.org/show_bug.cgi?id=177584
2184 <rdar://problem/34463903>
2186 Reviewed by Saam Barati.
2188 * stress/regress-177584.js: Added.
2190 (Array.prototype.Symbol.species):
2192 2017-09-27 Saam Barati <sbarati@apple.com>
2194 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
2195 https://bugs.webkit.org/show_bug.cgi?id=177523
2197 Reviewed by Mark Lam.
2199 * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added.
2202 (addMethods.Test.prototype.string_appeared_here.i.methodNumber):
2204 (i.Test.prototype.propName):
2206 2017-09-27 Mark Lam <mark.lam@apple.com>
2208 Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern.
2209 https://bugs.webkit.org/show_bug.cgi?id=177423
2210 <rdar://problem/34621320>
2212 Reviewed by Keith Miller.
2214 * stress/regress-177423.js: Added.
2216 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com>
2218 Add Above/Below comparisons for UInt32 patterns
2219 https://bugs.webkit.org/show_bug.cgi?id=177281
2221 Reviewed by Saam Barati.
2223 * stress/uint32-comparison-jump.js: Added.
2233 * stress/uint32-comparison.js: Added.
2244 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com>
2246 [DFG] Support ArrayPush with multiple args
2247 https://bugs.webkit.org/show_bug.cgi?id=175823
2249 Reviewed by Saam Barati.
2251 * microbenchmarks/array-push-0.js: Added.
2253 * microbenchmarks/array-push-1.js: Added.
2255 * microbenchmarks/array-push-2.js: Added.
2257 * microbenchmarks/array-push-3.js: Added.
2259 * stress/array-push-multiple-contiguous.js: Added.
2262 * stress/array-push-multiple-double-nan.js: Added.
2265 * stress/array-push-multiple-double.js: Added.
2268 * stress/array-push-multiple-int32.js: Added.
2271 * stress/array-push-multiple-many-contiguous.js: Added.
2274 * stress/array-push-multiple-many-double.js: Added.
2277 * stress/array-push-multiple-many-int32.js: Added.
2280 * stress/array-push-multiple-many-storage.js: Added.
2283 * stress/array-push-multiple-storage.js: Added.
2287 2017-09-26 Commit Queue <commit-queue@webkit.org>
2289 Unreviewed, rolling out r222518.
2290 https://bugs.webkit.org/show_bug.cgi?id=177507
2292 Break the High Sierra build (Requested by yusukesuzuki on
2297 "Add Above/Below comparisons for UInt32 patterns"
2298 https://bugs.webkit.org/show_bug.cgi?id=177281
2299 http://trac.webkit.org/changeset/222518
2301 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com>
2303 Add Above/Below comparisons for UInt32 patterns
2304 https://bugs.webkit.org/show_bug.cgi?id=177281
2306 Reviewed by Saam Barati.
2308 * stress/uint32-comparison-jump.js: Added.
2318 * stress/uint32-comparison.js: Added.
2329 2017-09-23 Keith Miller <keith_miller@apple.com>
2331 Fix infinite looping test262 test
2332 https://bugs.webkit.org/show_bug.cgi?id=177412
2334 Reviewed by Yusuke Suzuki.
2336 This test was poorly designed since failing it would cause the vm
2337 to inifinite loop. I've fixed it locally and will fix it on github pending
2338 the results of next weeks tc39 meeting.
2341 * test262/test/language/statements/for-of/iterator-next-reference.js:
2343 2017-09-23 Joseph Pecoraro <pecoraro@apple.com>
2345 test262: $.agent became $262.agent in test262 update
2346 https://bugs.webkit.org/show_bug.cgi?id=177407
2348 Reviewed by Yusuke Suzuki.
2351 ~320 tests pass now that we correctly make $262 available.
2353 2017-09-22 Keith Miller <keith_miller@apple.com>
2355 Speculatively change iteration protocall to use the same next function
2356 https://bugs.webkit.org/show_bug.cgi?id=175653
2358 Reviewed by Saam Barati.
2360 Change test to match the new iteration behavior.
2362 * stress/spread-optimized-properly.js:
2364 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com>
2366 [DFG][FTL] Profile array vector length for array allocation
2367 https://bugs.webkit.org/show_bug.cgi?id=177051
2369 Reviewed by Saam Barati.
2371 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
2374 2017-09-22 Commit Queue <commit-queue@webkit.org>
2376 Unreviewed, rolling out r222380.
2377 https://bugs.webkit.org/show_bug.cgi?id=177352
2379 Octane/box2d shows 8% regression (Requested by yusukesuzuki on
2384 "[DFG][FTL] Profile array vector length for array allocation"
2385 https://bugs.webkit.org/show_bug.cgi?id=177051
2386 http://trac.webkit.org/changeset/222380
2388 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com>
2390 [DFG][FTL] Profile array vector length for array allocation
2391 https://bugs.webkit.org/show_bug.cgi?id=177051
2393 Reviewed by Saam Barati.
2395 * microbenchmarks/new-array-buffer-vector-profile.js: Added.
2398 2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
2400 Skip new hanging test262 tests.
2401 https://bugs.webkit.org/show_bug.cgi?id=177326
2403 Unreviewed test gardening.
2407 2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
2409 Mark 6 test262 tests as passing.
2410 https://bugs.webkit.org/show_bug.cgi?id=177307
2412 Unreviewed test gardening.
2416 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
2418 Unreviewed follow-up to r222311.
2420 * test262/harness/sta.js:
2421 * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
2422 * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
2423 * test262/test/built-ins/Array/from/calling-from-valid-2.js:
2424 * test262/test/built-ins/Array/from/elements-added-after.js:
2425 * test262/test/built-ins/Array/from/elements-deleted-after.js:
2426 * test262/test/built-ins/Array/from/elements-updated-after.js:
2427 * test262/test/built-ins/Array/from/from-array.js:
2428 * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
2429 * test262/test/built-ins/Array/from/mapfn-throws-exception.js:
2430 * test262/test/built-ins/Array/from/source-array-boundary.js:
2431 * test262/test/built-ins/Array/from/source-object-constructor.js:
2432 * test262/test/built-ins/Array/from/source-object-iterator-1.js:
2433 * test262/test/built-ins/Array/from/source-object-iterator-2.js:
2434 * test262/test/built-ins/Array/from/source-object-length.js:
2435 * test262/test/built-ins/Array/from/source-object-missing.js:
2436 * test262/test/built-ins/Array/from/source-object-without.js:
2437 * test262/test/built-ins/Array/from/this-null.js:
2438 * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
2439 * test262/test/language/line-terminators/S7.3_A3.2_T1.js:
2440 * test262/test/language/literals/numeric/7.8.3-1gs.js:
2441 * test262/test/language/literals/numeric/7.8.3-2gs.js:
2442 * test262/test/language/literals/numeric/7.8.3-3gs.js:
2443 * test262/test/language/literals/regexp/7.8.5-1gs.js:
2444 * test262/test/language/literals/string/7.8.4-1gs.js:
2445 Fix some files that I failed to update when I applied my patch.
2447 2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
2449 Update test262 tests
2450 https://bugs.webkit.org/show_bug.cgi?id=177220
2452 Reviewed by Saam Barati and Yusuke Suzuki.
2455 * test262/test262-Revision.txt:
2456 New rebaselined expectations for all tests.
2461 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
2463 [DFG] Remove ToThis more aggressively
2464 https://bugs.webkit.org/show_bug.cgi?id=177056
2466 Reviewed by Saam Barati.
2468 * stress/generator-with-this-strict.js: Added.
2472 * stress/generator-with-this.js: Added.
2477 2017-09-17 Michael Saboff <msaboff@apple.com>
2479 https://bugs.webkit.org/show_bug.cgi?id=177038
2480 Add an option to run-jsc-stress-tests to limit tests variations to a basic set
2482 Reviewed by JF Bastien.
2484 * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices
2485 as it dies using too much memory.
2487 2017-09-15 Saam Barati <sbarati@apple.com>
2489 Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
2490 https://bugs.webkit.org/show_bug.cgi?id=176981
2492 Reviewed by Yusuke Suzuki.
2494 * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.
2498 (const.bar.createBuiltin):
2500 2017-09-14 Saam Barati <sbarati@apple.com>
2502 It should be valid to exit before each set when doing arity fixup when inlining
2503 https://bugs.webkit.org/show_bug.cgi?id=176948
2505 Reviewed by Keith Miller.
2507 * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
2512 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com>
2514 [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
2515 https://bugs.webkit.org/show_bug.cgi?id=176867
2517 Reviewed by Sam Weinig.
2519 * microbenchmarks/object-get-own-property-symbols.js: Added.
2522 2017-09-13 Mark Lam <mark.lam@apple.com>
2524 Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
2525 https://bugs.webkit.org/show_bug.cgi?id=176888
2526 <rdar://problem/34381832>
2530 * stress/op_mod-ConstVar.js:
2531 * stress/op_mod-VarConst.js:
2532 * stress/op_mod-VarVar.js:
2534 2017-09-13 Ryan Haddad <ryanhaddad@apple.com>
2536 Skip 3 op_mod tests on Debug JSC bots.
2537 https://bugs.webkit.org/show_bug.cgi?id=176630
2539 Unreviewed test gardening.
2541 * stress/op_mod-ConstVar.js:
2542 * stress/op_mod-VarConst.js:
2543 * stress/op_mod-VarVar.js:
2545 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com>
2547 [JSC] Fix Array allocation in Object.keys
2548 https://bugs.webkit.org/show_bug.cgi?id=176826
2550 Reviewed by Saam Barati.
2552 * stress/object-own-property-keys.js: Added.
2555 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
2557 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
2558 https://bugs.webkit.org/show_bug.cgi?id=176010
2560 Reviewed by Filip Pizlo.
2562 * microbenchmarks/weak-map-key.js: Added.
2565 (let.start.Date.now):
2567 2017-09-12 Mark Lam <mark.lam@apple.com>
2569 REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
2570 https://bugs.webkit.org/show_bug.cgi?id=176630
2572 Reviewed by JF Bastien.
2574 Debug builds are just slow, and these tests do a lot. They pass when I run them
2575 locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as
2576 a speculative fix for the bots that are seeing these fail.
2578 I also undid the skipping of the op_mod tests for debug builds.
2580 * stress/op_div-ConstVar.js:
2581 * stress/op_div-VarConst.js:
2582 * stress/op_div-VarVar.js:
2583 * stress/op_mod-ConstVar.js:
2584 * stress/op_mod-VarConst.js:
2585 * stress/op_mod-VarVar.js:
2587 2017-09-12 Ryan Haddad <ryanhaddad@apple.com>
2589 Skip stress/value-to-boolean.js on Debug bots.
2590 https://bugs.webkit.org/show_bug.cgi?id=176787
2592 Unreviewed test gardening.
2594 * stress/value-to-boolean.js:
2596 2017-09-11 Mark Lam <mark.lam@apple.com>
2598 Change test expectation for test262/test/language/statements/try/tco-catch.js
2599 https://bugs.webkit.org/show_bug.cgi?id=176749
2601 Rubber stamped by Keith Miller.
2603 It's been failing since at least r221821. I'm changing the test expectation to
2604 fail to green the bots while I investigate some more.
2608 2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
2610 Unreviewed, rolling out r221854.
2612 The test added with this change fails on 32-bit JSC bots.
2616 "[DFG] Optimize WeakMap::get by adding intrinsic and fixup"
2617 https://bugs.webkit.org/show_bug.cgi?id=176010
2618 http://trac.webkit.org/changeset/221854
2620 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
2622 [DFG] Optimize WeakMap::get by adding intrinsic and fixup
2623 https://bugs.webkit.org/show_bug.cgi?id=176010
2625 Reviewed by Filip Pizlo.
2627 * microbenchmarks/weak-map-key.js: Added.
2630 (let.start.Date.now):
2632 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com>
2634 [JSC] Optimize Object.keys by using careful array allocation
2635 https://bugs.webkit.org/show_bug.cgi?id=176654
2637 Reviewed by Darin Adler.
2639 * microbenchmarks/object-keys.js: Added.
2642 2017-09-09 Filip Pizlo <fpizlo@apple.com>
2644 Error should compute .stack and friends lazily
2645 https://bugs.webkit.org/show_bug.cgi?id=176645
2647 Reviewed by Saam Barati.
2649 * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields.
2650 * microbenchmarks/new-error.js: Added.
2651 * microbenchmarks/throw.js: Added.
2653 2017-09-09 Mark Lam <mark.lam@apple.com>
2655 [Re-landing] Use JIT probes for DFG OSR exit.
2656 https://bugs.webkit.org/show_bug.cgi?id=175144
2657 <rdar://problem/33437050>
2659 Not reviewed. Original patch reviewed by Saam Barati.
2661 Disable these tests for debug builds because they run too slow with the new OSR exit.
2663 * stress/op_mod-ConstVar.js:
2664 * stress/op_mod-VarConst.js:
2665 * stress/op_mod-VarVar.js:
2667 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2669 [DFG] NewArrayWithSize(size)'s size does not care negative zero
2670 https://bugs.webkit.org/show_bug.cgi?id=176300
2672 Reviewed by Saam Barati.
2674 * stress/new-array-with-size-div.js: Added.
2679 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2681 [DFG] PutByVal with Array::Generic is too generic
2682 https://bugs.webkit.org/show_bug.cgi?id=176345
2684 Reviewed by Filip Pizlo.
2686 * stress/object-assign-symbols.js: Added.
2689 * stress/object-assign.js: Added.
2692 (i.shouldBe.JSON.stringify.test):
2694 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com>
2696 [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
2697 https://bugs.webkit.org/show_bug.cgi?id=176590
2699 Reviewed by Saam Barati.
2701 * microbenchmarks/object-iterate-symbols.js: Added.
2703 * microbenchmarks/object-iterate.js: Added.
2705 * stress/object-iterate-symbols.js: Added.
2708 * stress/object-iterate.js: Added.
2712 2017-09-07 Per Arne Vollan <pvollan@apple.com>
2714 [Win32] 10 JSC stress tests are failing.
2715 https://bugs.webkit.org/show_bug.cgi?id=176538
2717 Reviewed by Mark Lam.
2719 Skip tests on Windows to make the bots green.
2722 * stress/date-relaxed.js:
2724 2017-09-06 Mark Lam <mark.lam@apple.com>
2726 constructGenericTypedArrayViewWithArguments() is missing an exception check.
2727 https://bugs.webkit.org/show_bug.cgi?id=176485
2728 <rdar://problem/33898874>
2730 Reviewed by Keith Miller.
2732 * stress/regress-176485.js: Added.
2734 2017-09-05 Saam Barati <sbarati@apple.com>
2736 isNotCellSpeculation is wrong with respect to SpecEmpty
2737 https://bugs.webkit.org/show_bug.cgi?id=176429
2739 Reviewed by Michael Saboff.
2741 * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added.
2744 2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
2746 test262: Completion values for control flow do not match the spec
2747 https://bugs.webkit.org/show_bug.cgi?id=171265
2749 Reviewed by Saam Barati.
2751 * stress/completion-value.js:
2752 Condensed test for completion values in top level statements.
2754 * stress/super-get-by-id.js:
2755 ClassDeclaration when evaled no longer produce values. Convert
2756 these to ClassExpressions so they produce the class value.
2758 * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc:
2759 This is a progression for currect spec behavior.
2761 * mozilla/mozilla-tests.yaml:
2762 This test is now outdated, so mark it as failing for that reason.
2765 Passing all "cptn" completion value tests.
2767 2017-09-04 Saam Barati <sbarati@apple.com>
2769 typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms
2770 https://bugs.webkit.org/show_bug.cgi?id=176317
2772 Reviewed by Keith Miller.
2774 * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added.
2777 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com>
2779 [DFG][FTL] Efficiently execute number#toString()
2780 https://bugs.webkit.org/show_bug.cgi?id=170007
2782 Reviewed by Keith Miller.
2784 * microbenchmarks/number-to-string-strength-reduction.js: Added.
2786 * microbenchmarks/number-to-string-with-radix-10.js: Added.
2788 * microbenchmarks/number-to-string-with-radix-cse.js: Added.
2790 * microbenchmarks/number-to-string-with-radix.js: Added.
2792 * stress/number-to-string-strength-reduction.js: Added.
2795 * stress/number-to-string-with-radix-10.js: Added.
2798 * stress/number-to-string-with-radix-cse.js: Added.
2801 * stress/number-to-string-with-radix-invalid.js: Added.
2803 * stress/number-to-string-with-radix-watchpoint.js: Added.
2806 (i.i.1e3.Number.prototype.toString):
2807 * stress/number-to-string-with-radix.js: Added.
2811 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com>
2813 [DFG] Relax arity requirement
2814 https://bugs.webkit.org/show_bug.cgi?id=175523
2816 Reviewed by Saam Barati.
2818 * stress/arity-mismatch-arguments-length.js: Added.
2822 * stress/arity-mismatch-get-argument.js: Added.
2824 (builtin.createBuiltin):
2826 * stress/arity-mismatch-inlining-extra-slots.js: Added.
2830 * stress/arity-mismatch-inlining.js: Added.
2834 * stress/arity-mismatch-rest.js: Added.
2840 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2842 [JSC] Fix "name" and "length" of Proxy revoke function
2843 https://bugs.webkit.org/show_bug.cgi?id=176155
2845 Reviewed by Mark Lam.
2849 2017-08-31 Saam Barati <sbarati@apple.com>
2851 Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin
2852 https://bugs.webkit.org/show_bug.cgi?id=176206
2854 Reviewed by Keith Miller.
2856 * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added.
2861 2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
2863 Skip two slow JSC tests after r221422.
2865 Unreviewed test gardening.
2867 * stress/regexp-prototype-match-on-too-long-rope.js:
2868 * stress/regexp-prototype-test-on-too-long-rope.js:
2870 2017-08-31 Filip Pizlo <fpizlo@apple.com>
2872 Unreviewed, skipping slow tests.
2874 These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs
2875 work differently now.
2877 * stress/regexp-prototype-exec-on-too-long-rope.js:
2878 * stress/string-prototype-charCodeAt-on-too-long-rope.js:
2880 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
2882 [JSC] Use reifying system for "name" property of builtin JSFunction
2883 https://bugs.webkit.org/show_bug.cgi?id=175260
2885 Reviewed by Saam Barati.
2887 * stress/accessors-get-set-prefix.js:
2888 * stress/builtin-function-name.js: Added.
2891 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2892 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2893 * stress/private-name-as-anonymous-builtin.js: Added.
2897 2017-08-30 Saam Barati <sbarati@apple.com>
2899 Unreviewed. Make test stop printing.
2901 * microbenchmarks/fake-iterators-that-throw-when-finished.js:
2903 2017-08-30 Ryan Haddad <ryanhaddad@apple.com>
2905 Unreviewed, rolling out r221327.
2907 This change caused test262 failures.
2911 "[JSC] Use reifying system for "name" property of builtin
2913 https://bugs.webkit.org/show_bug.cgi?id=175260
2914 http://trac.webkit.org/changeset/221327
2916 2017-08-30 Saam Barati <sbarati@apple.com>
2918 semicolon is being interpreted as an = in the LiteralParser
2919 https://bugs.webkit.org/show_bug.cgi?id=176114
2921 Reviewed by Oliver Hunt.
2923 * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
2924 * stress/resources/literal-parser-test-case.js: Added.
2926 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com>
2928 [ESNext] Async iteration - Implement async iteration statement: for-await-of
2929 https://bugs.webkit.org/show_bug.cgi?id=166698
2931 Reviewed by Yusuke Suzuki.
2933 * stress/async-iteration-for-await-of-syntax.js: Added.
2937 (checkSimpleAsyncGeneratorSloppyMode):
2938 (checkSimpleAsyncGeneratorStrictMode):
2939 (checkNestedAsyncGenerators):
2940 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
2941 * stress/async-iteration-for-await-of.js: Added.
2947 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com>
2949 [JSC] Use reifying system for "name" property of builtin JSFunction
2950 https://bugs.webkit.org/show_bug.cgi?id=175260
2952 Reviewed by Saam Barati.
2954 * stress/accessors-get-set-prefix.js:
2955 * stress/builtin-function-name.js: Added.
2958 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
2959 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
2961 2017-08-25 Saam Barati <sbarati@apple.com>
2963 Support compiling catch in the DFG
2964 https://bugs.webkit.org/show_bug.cgi?id=174590
2965 <rdar://problem/34047845>
2967 Reviewed by Filip Pizlo.
2969 * microbenchmarks/delta-blue-try-catch.js: Added.
2972 (OrderedCollection):
2973 (OrderedCollection.prototype.add):
2974 (OrderedCollection.prototype.at):
2975 (OrderedCollection.prototype.size):
2976 (OrderedCollection.prototype.removeFirst):
2977 (OrderedCollection.prototype.remove):
2979 (Strength.stronger):
2981 (Strength.weakestOf):
2982 (Strength.strongest):
2983 (Strength.prototype.nextWeaker):
2985 (Constraint.prototype.addConstraint):
2986 (Constraint.prototype.satisfy):
2987 (Constraint.prototype.destroyConstraint):
2988 (Constraint.prototype.isInput):
2990 (UnaryConstraint.prototype.addToGraph):
2991 (UnaryConstraint.prototype.chooseMethod):
2992 (UnaryConstraint.prototype.isSatisfied):
2993 (UnaryConstraint.prototype.markInputs):
2994 (UnaryConstraint.prototype.output):
2995 (UnaryConstraint.prototype.recalculate):
2996 (UnaryConstraint.prototype.markUnsatisfied):
2997 (UnaryConstraint.prototype.inputsKnown):
2998 (UnaryConstraint.prototype.removeFromGraph):
3000 (StayConstraint.prototype.execute):
3001 (EditConstraint.prototype.isInput):
3002 (EditConstraint.prototype.execute):
3004 (BinaryConstraint.prototype.chooseMethod):
3005 (BinaryConstraint.prototype.addToGraph):
3006 (BinaryConstraint.prototype.isSatisfied):
3007 (BinaryConstraint.prototype.markInputs):
3008 (BinaryConstraint.prototype.input):
3009 (BinaryConstraint.prototype.output):
3010 (BinaryConstraint.prototype.recalculate):
3011 (BinaryConstraint.prototype.markUnsatisfied):
3012 (BinaryConstraint.prototype.inputsKnown):
3013 (BinaryConstraint.prototype.removeFromGraph):
3015 (ScaleConstraint.prototype.addToGraph):
3016 (ScaleConstraint.prototype.removeFromGraph):
3017 (ScaleConstraint.prototype.markInputs):
3018 (ScaleConstraint.prototype.execute):
3019 (ScaleConstraint.prototype.recalculate):
3020 (EqualityConstraint):
3021 (EqualityConstraint.prototype.execute):
3023 (Variable.prototype.addConstraint):
3024 (Variable.prototype.removeConstraint):
3026 (Planner.prototype.incrementalAdd):
3027 (Planner.prototype.incrementalRemove):
3028 (Planner.prototype.newMark):
3029 (Planner.prototype.makePlan):
3030 (Planner.prototype.extractPlanFromConstraints):
3031 (Planner.prototype.addPropagate):
3032 (Planner.prototype.removePropagateFrom):
3033 (Planner.prototype.addConstraintsConsumingTo):
3035 (Plan.prototype.addConstraint):
3036 (Plan.prototype.size):
3037 (Plan.prototype.constraintAt):
3038 (Plan.prototype.execute):
3043 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
3046 (Numbers.prototype.next):
3048 (return.Transpose.prototype.next):
3054 * microbenchmarks/try-catch-word-count.js: Added.
3069 (A.prototype.getValue):
3070 (B.prototype.getParentValue):
3080 (set delete.set has.set add):
3081 * stress/catch-set-argument-speculation-failure.js: Added.
3089 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
3095 2017-08-24 Commit Queue <commit-queue@webkit.org>
3097 Unreviewed, rolling out r221119, r221124, and r221143.
3098 https://bugs.webkit.org/show_bug.cgi?id=175973
3100 "I think it regressed JSBench by 20%" (Requested by saamyjoon
3103 Reverted changesets:
3105 "Support compiling catch in the DFG"
3106 https://bugs.webkit.org/show_bug.cgi?id=174590
3107 http://trac.webkit.org/changeset/221119
3109 "Unreviewed, build fix in GTK port"
3110 https://bugs.webkit.org/show_bug.cgi?id=174590
3111 http://trac.webkit.org/changeset/221124
3113 "DFG::JITCode::osrEntry should get sorted since we perform a
3114 binary search on it"
3115 https://bugs.webkit.org/show_bug.cgi?id=175893
3116 http://trac.webkit.org/changeset/221143
3118 2017-08-24 Michael Saboff <msaboff@apple.com>
3120 Add support for RegExp "dotAll" flag
3121 https://bugs.webkit.org/show_bug.cgi?id=175924
3123 Reviewed by Keith Miller.
3125 Updated tests for new dotAll ('s' flag) changes.
3127 * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
3128 * stress/static-getter-in-names.js:
3130 2017-08-24 Mark Lam <mark.lam@apple.com>
3132 Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
3133 https://bugs.webkit.org/show_bug.cgi?id=175940
3134 <rdar://problem/29003921>
3136 Reviewed by Saam Barati.
3138 * stress/regress-164081.js: Added.
3142 2017-08-24 Ryan Haddad <ryanhaddad@apple.com>
3144 Skip flaky JSC test stress/test-finally.js.
3145 https://bugs.webkit.org/show_bug.cgi?id=160283
3147 Unreviewed test gardening.
3149 * stress/test-finally.js:
3151 2017-08-23 Saam Barati <sbarati@apple.com>
3153 Support compiling catch in the DFG
3154 https://bugs.webkit.org/show_bug.cgi?id=174590
3156 Reviewed by Filip Pizlo.
3158 * microbenchmarks/delta-blue-try-catch.js: Added.
3161 (OrderedCollection):
3162 (OrderedCollection.prototype.add):
3163 (OrderedCollection.prototype.at):
3164 (OrderedCollection.prototype.size):
3165 (OrderedCollection.prototype.removeFirst):
3166 (OrderedCollection.prototype.remove):
3168 (Strength.stronger):
3170 (Strength.weakestOf):
3171 (Strength.strongest):
3172 (Strength.prototype.nextWeaker):
3174 (Constraint.prototype.addConstraint):
3175 (Constraint.prototype.satisfy):
3176 (Constraint.prototype.destroyConstraint):
3177 (Constraint.prototype.isInput):
3179 (UnaryConstraint.prototype.addToGraph):
3180 (UnaryConstraint.prototype.chooseMethod):
3181 (UnaryConstraint.prototype.isSatisfied):
3182 (UnaryConstraint.prototype.markInputs):
3183 (UnaryConstraint.prototype.output):
3184 (UnaryConstraint.prototype.recalculate):
3185 (UnaryConstraint.prototype.markUnsatisfied):
3186 (UnaryConstraint.prototype.inputsKnown):
3187 (UnaryConstraint.prototype.removeFromGraph):
3189 (StayConstraint.prototype.execute):
3190 (EditConstraint.prototype.isInput):
3191 (EditConstraint.prototype.execute):
3193 (BinaryConstraint.prototype.chooseMethod):
3194 (BinaryConstraint.prototype.addToGraph):
3195 (BinaryConstraint.prototype.isSatisfied):
3196 (BinaryConstraint.prototype.markInputs):
3197 (BinaryConstraint.prototype.input):
3198 (BinaryConstraint.prototype.output):
3199 (BinaryConstraint.prototype.recalculate):
3200 (BinaryConstraint.prototype.markUnsatisfied):
3201 (BinaryConstraint.prototype.inputsKnown):
3202 (BinaryConstraint.prototype.removeFromGraph):
3204 (ScaleConstraint.prototype.addToGraph):
3205 (ScaleConstraint.prototype.removeFromGraph):
3206 (ScaleConstraint.prototype.markInputs):
3207 (ScaleConstraint.prototype.execute):
3208 (ScaleConstraint.prototype.recalculate):
3209 (EqualityConstraint):
3210 (EqualityConstraint.prototype.execute):
3212 (Variable.prototype.addConstraint):
3213 (Variable.prototype.removeConstraint):
3215 (Planner.prototype.incrementalAdd):
3216 (Planner.prototype.incrementalRemove):
3217 (Planner.prototype.newMark):
3218 (Planner.prototype.makePlan):
3219 (Planner.prototype.extractPlanFromConstraints):
3220 (Planner.prototype.addPropagate):
3221 (Planner.prototype.removePropagateFrom):
3222 (Planner.prototype.addConstraintsConsumingTo):
3224 (Plan.prototype.addConstraint):
3225 (Plan.prototype.size):
3226 (Plan.prototype.constraintAt):
3227 (Plan.prototype.execute):
3232 * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.
3235 (Numbers.prototype.next):
3237 (return.Transpose.prototype.next):
3243 * microbenchmarks/try-catch-word-count.js: Added.
3258 (A.prototype.getValue):
3259 (B.prototype.getParentValue):
3269 (set delete.set has.set add):
3270 * stress/catch-set-argument-speculation-failure.js: Added.
3278 * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.
3284 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
3286 [JSC] Optimize Map iteration with intrinsic
3287 https://bugs.webkit.org/show_bug.cgi?id=174355
3289 Reviewed by Saam Barati.
3291 * stress/map-iterator-result-should-have-expected-shape.js: Added.
3294 * stress/set-iterator-result-should-have-expected-shape.js: Added.
3296 (throw.new.Error.let.iterator.set Symbol):
3297 (throw.new.Error.set add):
3298 (let.iterator.set Symbol):
3300 2017-08-23 Robin Morisset <rmorisset@apple.com>
3302 Add a micro-benchmark for checking that accessing a variable within a 'with'
3303 block does not automatically prevent type prediction.
3304 https://bugs.webkit.org/show_bug.cgi?id=175738
3306 Reviewed by Saam Barati.
3308 * stress/with_and_arith.js: Added.
3311 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com>
3313 [ESNext] Async iteration - Implement Async Generator - runtime
3314 https://bugs.webkit.org/show_bug.cgi?id=175240
3316 Reviewed by Yusuke Suzuki.
3318 * stress/async-iteration-async-from-sync.js: Added.
3322 (this.fullfilledDone):
3327 (const.assertLogger):
3328 (const.getPromise.promiseHolder.return.new.Promise):
3334 * stress/async-iteration-basic.js: Added.
3338 (this.fullfilledDone):
3343 (const.assertLogger):
3344 (const.getPromise.promiseHolder.return.new.Promise):
3346 (iterator.next.then):
3351 (A.prototype.async.foo):
3352 (A.prototype.async.boo):
3354 (asyncGenExp.async):
3367 * stress/async-iteration-evaluation.js: Added.
3371 * stress/async-iteration-syntax.js:
3372 * stress/async-iteration-yield-promise.js: Added.
3376 (this.fullfilledDone):
3381 (const.assertLogger):
3382 (const.getPromise.promiseHolder.return.new.Promise):
3386 * stress/async-iteration-yield-star-interface.js: Added.
3388 (const.getPromise.promiseHolder.return.new.Promise):
3391 (this.fullfilledDone):
3397 (const.assertLogger):
3398 (let.asyncIter.Symbol.asyncIterator):
3399 (let.asyncIter.next):
3400 (let.asyncIter.throw):
3401 (let.asyncIter.return):
3403 (asyncIter.Symbol.asyncIterator):
3410 * stress/async-iteration-yield-star.js: Added.
3414 (this.fullfilledDone):
3420 (const.assertLogger):
3421 (const.getPromise.promiseHolder.return.new.Promise):
3430 (let.asyncIter.Symbol.asyncIterator):
3431 (let.asyncIter.next):
3432 (let.asyncIter.throw):
3433 (let.asyncIter.return):
3438 2017-08-23 JF Bastien <jfbastien@apple.com>
3440 Fix printing in test
3442 Unreviewed: fixing verbosity, shouldn't have been there.
3444 * wasm/regress/175693.js:
3448 2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
3450 Skip flaky JSC test microbenchmarks/generator-with-several-types.js.
3451 https://bugs.webkit.org/show_bug.cgi?id=172543
3453 Unreviewed test gardening.
3455 * microbenchmarks/generator-with-several-types.js:
3457 2017-08-17 JF Bastien <jfbastien@apple.com>
3459 WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid
3460 https://bugs.webkit.org/show_bug.cgi?id=175693
3461 <rdar://problem/33952443>
3463 Reviewed by Saam Barati.
3465 Add a regression directory for WebAssembly tests.
3468 * wasm/regress/175693.js: Added.
3470 (instance.new.WebAssembly.Instance.new.WebAssembly.Module):
3472 * wasm/regress/175693.wasm: Added.
3474 2017-08-15 Robin Morisset <rmorisset@apple.com>
3476 Support the 'with' keyword in FTL.
3477 https://bugs.webkit.org/show_bug.cgi?id=175585
3479 Reviewed by Saam Barati.
3481 Also improve the JSTest/stress/with.js file to test
3482 what happens when non-objects are passed to with.
3489 2017-08-14 Keith Miller <keith_miller@apple.com>
3491 Add testing tool to lie to the DFG about profiles
3492 https://bugs.webkit.org/show_bug.cgi?id=175487
3494 Reviewed by Saam Barati.
3496 * stress/compare-eq-incomplete-profile.js: Added.
3497 (const.test.createBuiltin):
3499 2017-08-14 Robin Morisset <rmorisset@apple.com>
3501 Support the with keyword in DFG
3502 https://bugs.webkit.org/show_bug.cgi?id=175470
3504 Reviewed by Saam Barati.
3506 Added a new stress-test for the 'with' keyword, that caught a bug in a
3507 previous version of this code.
3509 * stress/with.js: Added.
3512 2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
3514 Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js
3515 https://bugs.webkit.org/show_bug.cgi?id=175544
3517 Unreviewed test gardening.
3521 2017-08-09 Caitlin Potter <caitp@igalia.com>
3523 Early error on ANY operator before new.target
3524 https://bugs.webkit.org/show_bug.cgi?id=157970
3526 Reviewed by Saam Barati.
3528 Instead of throwing if any unary operator precedes new.target, only
3529 throw if the unary operator updates the reference.
3531 The following become legal in JSC:
3541 All of which are legal in v8 and SpiderMonkey in strict and sloppy mode
3543 * stress/new-target-syntax-errors.js:
3544 * stress/new-target.js:
3546 2017-08-09 Ryan Haddad <ryanhaddad@apple.com>
3548 Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js.
3549 https://bugs.webkit.org/show_bug.cgi?id=175255
3551 Unreviewed test gardening.
3553 * stress/regress-169783.js:
3554 * wasm/stress/oom.js:
3556 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com>
3558 REGRESSION: 2 test262/test/language/statements/async-function failures
3559 https://bugs.webkit.org/show_bug.cgi?id=175334
3561 Reviewed by Yusuke Suzuki.
3563 Add @skip parameters to tests, and remove test for async iterator from
3564 async await syntax test because it is already covered by async-iterator-syntax.js
3566 * stress/async-await-syntax.js:
3567 * stress/async-iteration-syntax.js:
3569 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com>
3571 Unreviewed, gardening test262 for Promise resolve / reject function length
3572 https://bugs.webkit.org/show_bug.cgi?id=175333
3576 2017-08-07 Robin Morisset <rmorisset@apple.com>
3578 GetOwnProperty of TypedArray indexed fields is wrongly configurable
3579 https://bugs.webkit.org/show_bug.cgi?id=175307
3581 Reviewed by Saam Barati.
3583 * stress/typedarray-getownproperty-not-configurable.js: Added.
3587 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com>
3589 Promise resolve and reject function should have length = 1
3590 https://bugs.webkit.org/show_bug.cgi?id=175242
3592 Reviewed by Saam Barati.
3594 * stress/builtin-function-length.js: Added.
3597 (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor):
3598 (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort):
3600 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com>
3602 [ESNext] Async iteration - Implement Async Generator - parser
3603 https://bugs.webkit.org/show_bug.cgi?id=175210
3605 Reviewed by Yusuke Suzuki.
3607 * stress/async-await-syntax.js:
3608 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
3609 * stress/async-iteration-syntax.js: Added.
3613 (checkSimpleAsyncGeneratorSloppyMode):
3614 (checkSimpleAsyncGeneratorStrictMode):
3615 (checkNestedAsyncGenerators):
3616 (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode):
3617 * stress/generator-class-methods-syntax.js:
3619 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
3621 JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited
3622 https://bugs.webkit.org/show_bug.cgi?id=175150
3624 Unreviewed test gardening.
3626 * wasm/js-api/test_memory_constructor.js:
3628 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
3630 [Linux] JSTests/wasm/stress/oom.js should not run on Linux
3631 https://bugs.webkit.org/show_bug.cgi?id=175100
3633 Reviewed by Mark Lam.
3635 The JSC test JSTests/wasm/stress/oom.js tries to use all the
3636 available memory until an out of memory exception happens.
3638 The Linux kernel is more tuned for server workloads than for GUI
3639 responsiveness. When a process tries to use a lot of memory, Linux
3640 will do its best to serve the request. This usually translates to
3641 free physical RAM by writing to disk dirty pages and/or moving out
3642 less recently used pages to swap (disk storage).
3643 Meanwhile it does this, the system will become unresponsive and this
3644 leads to freezes that can last even some minutes on the worst cases.
3646 Therefore, let's skip this test on Linux as it will cause more harm
3647 than good on the Linux bots or on the machines of Linux developers.
3649 * wasm/stress/oom.js:
3651 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com>
3653 [JSC] Remove unnecessary print from stress\promise-finally.js test
3654 https://bugs.webkit.org/show_bug.cgi?id=175015
3656 Reviewed by Yusuke Suzuki.
3658 * stress/promise-finally.js:
3662 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
3664 Unreviewed, update test262 results for optional catch binding
3668 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com>
3670 [JSC] Support optional catch binding
3671 https://bugs.webkit.org/show_bug.cgi?id=174981
3673 Reviewed by Saam Barati.
3675 * stress/optional-catch-binding-syntax.js: Added.
3679 * stress/optional-catch-binding.js: Added.
3683 2017-07-28 Mark Lam <mark.lam@apple.com>
3685 ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently.
3686 https://bugs.webkit.org/show_bug.cgi?id=174948
3687 <rdar://problem/33495680>
3689 Reviewed by Filip Pizlo.
3691 * stress/regress-174948.js: Added.
3693 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com>
3695 ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread
3696 https://bugs.webkit.org/show_bug.cgi?id=174900
3698 Reviewed by Saam Barati.
3700 * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added.
3705 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com>
3707 Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass
3708 https://bugs.webkit.org/show_bug.cgi?id=171637
3710 Reviewed by Darin Adler.
3712 * stress/domjit-getter-complex-with-incorrect-object.js:
3714 * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js.
3718 2017-07-26 JF Bastien <jfbastien@apple.com>
3720 WebAssembly: test throwing out of the start function
3721 https://bugs.webkit.org/show_bug.cgi?id=165714
3722 <rdar://problem/29760251>
3724 Reviewed by Keith Miller.
3727 * wasm/function-tests/trap-from-start.js: Added.