1 2017-05-31 Oleksandr Skachkov <gskachkov@gmail.com>
3 Rolling out: Prevent async methods named 'function'
4 https://bugs.webkit.org/show_bug.cgi?id=172776
8 * stress/async-await-syntax.js:
9 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
10 (testTopLevelAsyncAwaitSyntaxSloppyMode):
11 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
12 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
13 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
15 2017-05-31 Ryan Haddad <ryanhaddad@apple.com>
17 Skip flaky JSC test stress/test-finally.js
18 https://bugs.webkit.org/show_bug.cgi?id=168587
20 Unreviewed test gardening.
22 * stress/test-finally.js:
24 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
26 Prevent async methods named 'function' in Object literal
27 https://bugs.webkit.org/show_bug.cgi?id=172660
29 Reviewed by Saam Barati.
31 * stress/async-await-syntax.js:
32 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
34 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com>
36 ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext
37 https://bugs.webkit.org/show_bug.cgi?id=171274
39 Reviewed by Saam Barati.
41 * stress/async-arrow-functions-lexical-binding-in-class.js:
43 (shouldBeAsyncAndStoreBind):
44 (promise.new.Promise):
46 (ChildClass4.prototype.classValue):
47 (ChildClass4.prototype.get classProperty):
48 * stress/async-arrow-functions-lexical-super-binding.js:
50 (const.childA1.new.prototype.var.f.async):
51 (const.childA1.new.var):
53 (const.childA2.new.prototype.var.f.async):
54 (const.childA2.new.var):
56 (const.childA3.new.prototype.var.f.async):
57 (const.childA3.new.var):
59 (try.childA4.new.prototype.var.f.async):
60 (try.childA4.new.var):
63 (const.childA5.new.prototype.var.f.async):
64 (const.childA5.new.var):
67 (checkClass.new.prototype.var.f.async):
70 (checkClass.new.prototype.method):
71 (checkClass.new.prototype.prop):
73 2017-05-27 Yusuke Suzuki <utatane.tea@gmail.com>
75 [JSC] Map and Set constructors should have fast path for cloning
76 https://bugs.webkit.org/show_bug.cgi?id=172413
78 Reviewed by Saam Barati.
80 * stress/map-clone-instance-iterator-change.js: Added.
82 (map.Symbol.iterator):
83 * stress/map-clone-iterator-change.js: Added.
85 (Map.prototype.Symbol.iterator):
86 * stress/map-clone-next-change.js: Added.
88 (map.Symbol.iterator.__proto__.next):
89 * stress/map-clone.js: Added.
92 * stress/map-inherit-set.js: Added.
96 * stress/set-clone-instance-iterator-change.js: Added.
98 (set Symbol.iterator):
99 * stress/set-clone-iterator-change.js: Added.
101 (set Set.prototype.Symbol.iterator):
102 * stress/set-clone-next-change.js: Added.
104 (set Symbol.iterator.__proto__.next):
105 * stress/set-clone.js: Added.
107 (set Set.prototype.add):
108 * stress/set-inherit-add.js: Added.
110 (DerivedSet.set add):
112 2017-05-26 Ryan Haddad <ryanhaddad@apple.com>
114 Unreviewed, rolling out r217458.
116 This change caused 55 JSC test failures.
120 "Date should use historical data if it's available."
121 https://bugs.webkit.org/show_bug.cgi?id=172592
122 http://trac.webkit.org/changeset/217458
124 2017-05-26 Yusuke Suzuki <utatane.tea@gmail.com>
126 Give ModuleProgram the same treatment that we did for ProgramCode in bug#167725
127 https://bugs.webkit.org/show_bug.cgi?id=167805
129 Reviewed by Saam Barati.
131 * modules/module-jit-reachability.js: Added.
133 2017-05-26 Oleksandr Skachkov <gskachkov@gmail.com>
135 Prevent async methods named 'function'
136 https://bugs.webkit.org/show_bug.cgi?id=172598
138 Reviewed by Mark Lam.
140 * stress/async-await-syntax.js:
141 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
142 (testTopLevelAsyncAwaitSyntaxSloppyMode):
143 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
144 (prototype.testTopLevelAsyncAwaitSyntaxStrictMode):
145 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
147 2017-05-25 Keith Miller <keith_miller@apple.com>
149 Date should use historical data if it's available.
150 https://bugs.webkit.org/show_bug.cgi?id=172592
152 Reviewed by Mark Lam.
154 Remove parts of the date tests that rely on the absence of
155 historical data in Date.
157 * mozilla/ecma/Date/15.9.5.31-1.js:
159 * mozilla/ecma/Date/15.9.5.35-1.js:
162 2017-05-25 Saam Barati <sbarati@apple.com>
164 Our for-in optimization in the bytecode generator does its static analysis incorrectly
165 https://bugs.webkit.org/show_bug.cgi?id=172532
166 <rdar://problem/32369452>
168 Reviewed by Mark Lam.
170 * stress/for-in-invalidation-for-any-write.js: Added.
175 2017-05-25 Mark Lam <mark.lam@apple.com>
177 ObjectToStringAdaptiveInferredPropertyValueWatchpoint should not reinstall itself nor handleFire if it's dying shortly.
178 https://bugs.webkit.org/show_bug.cgi?id=172548
179 <rdar://problem/31458393>
181 Reviewed by Filip Pizlo.
183 * stress/regress-172548.patch: Added.
185 2017-05-23 Saam Barati <sbarati@apple.com>
187 We should not mmap zero bytes for a memory in Wasm
188 https://bugs.webkit.org/show_bug.cgi?id=172528
189 <rdar://problem/32257076>
191 Reviewed by Mark Lam.
193 * wasm/js-api/dont-mmap-zero-byte-memory.js: Added.
196 2017-05-23 Saam Barati <sbarati@apple.com>
198 CFGSimplificationPhase should not merge a block with itself
199 https://bugs.webkit.org/show_bug.cgi?id=172508
200 <rdar://problem/28424006>
202 Reviewed by Keith Miller.
204 * stress/dont-crash-in-cfg-simplification.js: Added.
209 2017-05-20 Yusuke Suzuki <utatane.tea@gmail.com>
211 [FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
212 https://bugs.webkit.org/show_bug.cgi?id=172216
214 Reviewed by Saam Barati.
216 * stress/array-storage-get-by-val.js: Added.
220 (testSlowPutOutOfBound):
221 (testSlowPutInBound):
223 2017-05-21 Yusuke Suzuki <utatane.tea@gmail.com>
225 Unreviewed, fix commented out tests
226 https://bugs.webkit.org/show_bug.cgi?id=172225
228 * stress/get-by-val-string.js:
231 (Hello.prototype.get 42):
232 (Hello.prototype.43):
235 (throw.new.Error): Deleted.
237 2017-05-21 Saam Barati <sbarati@apple.com>
239 We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
240 https://bugs.webkit.org/show_bug.cgi?id=171041
241 <rdar://problem/32082516>
243 Reviewed by Yusuke Suzuki.
245 * stress/lexical-scoping-for-loop.js: Added.
260 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>
262 [JSC] Make get_by_val & string "499" to number 499
263 https://bugs.webkit.org/show_bug.cgi?id=172225
265 Reviewed by Saam Barati.
267 * stress/get-by-val-string.js: Added.
272 (Hello.prototype.get 42):
273 (Hello.prototype.43):
276 2017-05-19 Mark Lam <mark.lam@apple.com>
278 [Re-landing] DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
279 https://bugs.webkit.org/show_bug.cgi?id=172383
280 <rdar://problem/31418651>
282 Reviewed by Filip Pizlo.
284 * stress/regress-172383.js: Added.
286 2017-05-19 Ryan Haddad <ryanhaddad@apple.com>
288 Unreviewed, rolling out r217156.
290 This change broke the iOS build.
294 "DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring
296 https://bugs.webkit.org/show_bug.cgi?id=172383
297 http://trac.webkit.org/changeset/217156
299 2017-05-19 Mark Lam <mark.lam@apple.com>
301 Add missing exception check.
302 https://bugs.webkit.org/show_bug.cgi?id=172346
303 <rdar://problem/32289640>
305 Reviewed by Geoffrey Garen.
307 * stress/regress-172346.js: Added.
309 2017-05-19 Mark Lam <mark.lam@apple.com>
311 DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
312 https://bugs.webkit.org/show_bug.cgi?id=172383
313 <rdar://problem/31418651>
315 Reviewed by Filip Pizlo.
317 * stress/regress-172383.js: Added.
319 2017-05-19 Filip Pizlo <fpizlo@apple.com>
321 arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
322 https://bugs.webkit.org/show_bug.cgi?id=172369
324 Reviewed by Mark Lam.
326 * stress/undecided-concat.js: Added.
328 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>
330 [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
331 https://bugs.webkit.org/show_bug.cgi?id=172098
333 Reviewed by Saam Barati.
335 * stress/check-sub-class.js: Added.
342 2017-05-18 JF Bastien <jfbastien@apple.com>
344 WebAssembly: exports is a getter
345 https://bugs.webkit.org/show_bug.cgi?id=172129
347 Reviewed by Saam Barati.
349 Update test to reflect new semantics.
351 * wasm/js-api/test_basic_api.js:
352 (const.c.in.constructorProperties.switch):
354 2017-05-18 Saam Barati <sbarati@apple.com>
356 Proxy's [[Get]] passes incorrect receiver
357 https://bugs.webkit.org/show_bug.cgi?id=164849
358 <rdar://problem/31767058>
360 Reviewed by Yusuke Suzuki.
362 * stress/proxy-get-set-correct-receiver.js: Added.
365 (test.let.target.set prop):
366 (test.let.target.get prop):
368 * stress/proxy-set.js:
370 * stress/reflect-set-proxy-set.js:
372 * stress/reflect-set-receiver-proxy-set.js:
375 2017-05-18 Filip Pizlo <fpizlo@apple.com>
377 Constructor calls set this too early
378 https://bugs.webkit.org/show_bug.cgi?id=172302
380 Reviewed by Saam Barati.
382 This tests all three kinds of constructs in BytecodeGenerator. All three were previously
385 * stress/construct-overwritten-variable.js: Added.
387 * stress/construct-spread-overwritten-variable-2.js: Added.
389 * stress/construct-spread-overwritten-variable.js: Added.
392 2017-05-18 Saam Barati <sbarati@apple.com>
394 WebAssembly: perform stack checks
395 https://bugs.webkit.org/show_bug.cgi?id=165546
396 <rdar://problem/29760307>
398 Reviewed by Filip Pizlo.
401 * wasm/function-tests/factorial.js:
402 * wasm/function-tests/float-sub.js:
403 * wasm/function-tests/stack-overflow.js: Added.
404 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
405 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows):
406 (assertOverflows.makeInstance):
407 (assertOverflows.makeInstance2):
408 (assertOverflows.assertThrows):
410 (assertThrows.test.makeSignature):
411 (assertThrows.test.makeInstance):
415 2017-05-18 Keith Miller <keith_miller@apple.com>
417 WebAssembly API: test with neutered inputs
418 https://bugs.webkit.org/show_bug.cgi?id=163899
420 Reviewed by JF Bastien.
422 * wasm/js-api/neutered-inputs.js: Added.
423 (const.testFunction):
424 (const.testConstructor):
425 * wasm/js-api/test_basic_api.js:
426 (const.c.in.constructorProperties.switch):
428 2017-05-18 Filip Pizlo <fpizlo@apple.com>
430 DFG inlining should be hardened for the no-result case
431 https://bugs.webkit.org/show_bug.cgi?id=172290
433 Reviewed by Saam Barati.
435 * stress/array-constructor-no-result.js: Added.
437 * stress/pow-no-result.js: Added.
440 2017-05-18 Commit Queue <commit-queue@webkit.org>
442 Unreviewed, rolling out r217031, r217032, and r217037.
443 https://bugs.webkit.org/show_bug.cgi?id=172293
445 cause linking errors in Windows (Requested by yusukesuzuki on
450 "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass"
451 https://bugs.webkit.org/show_bug.cgi?id=172098
452 http://trac.webkit.org/changeset/217031
454 "Unreviewed, rebaseline for newly added ClassInfo"
455 https://bugs.webkit.org/show_bug.cgi?id=172098
456 http://trac.webkit.org/changeset/217032
458 "Unreviewed, fix debug and non-JIT build"
459 https://bugs.webkit.org/show_bug.cgi?id=172098
460 http://trac.webkit.org/changeset/217037
462 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com>
464 [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
465 https://bugs.webkit.org/show_bug.cgi?id=172098
467 Reviewed by Saam Barati.
469 * stress/check-sub-class.js: Added.
476 2017-05-17 Filip Pizlo <fpizlo@apple.com>
478 Unreviewed, address mlam's review feedback.
480 * stress/arguments-elimination-varargs-too-many-args-arg-count.js:
482 2017-05-17 Saam Barati <sbarati@apple.com>
484 We don't do context switches for Wasm->Wasm call indirect
485 https://bugs.webkit.org/show_bug.cgi?id=172188
486 <rdar://problem/32231828>
488 Reviewed by Keith Miller.
490 * wasm/function-tests/context-switch.js: Added.
491 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance):
492 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance2):
493 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.i2.makeInstance2):
496 (assert.eq.makeInstance):
497 (assert.eq.makeInstance2):
500 2017-05-17 Filip Pizlo <fpizlo@apple.com>
502 JSC: Incorrect LoadVarargs handling in ArgumentsEliminationPhase::transform
503 https://bugs.webkit.org/show_bug.cgi?id=172208
505 Reviewed by Saam Barati.
507 * stress/arguments-elimination-varargs-too-many-args-arg-count.js: Added.
512 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com>
514 [DFG] Constant Folding Phase should convert MakeRope("", String) => Identity(String)
515 https://bugs.webkit.org/show_bug.cgi?id=172115
517 Reviewed by Saam Barati.
519 * stress/constant-folding-should-fold-make-rope-with-empty-strings.js: Added.
527 2017-05-16 JF Bastien <jfbastien@apple.com>
529 WebAssembly: add memory fuzzer
530 https://bugs.webkit.org/show_bug.cgi?id=169976
531 <rdar://problem/31965328>
533 Reviewed by Keith Miller.
535 * wasm/fuzz/memory.js: Added.
537 (const.action.string_appeared_here):
538 (const.performAction):
541 2017-05-16 JF Bastien <jfbastien@apple.com>
543 WebAssembly: validate load / store alignment
544 https://bugs.webkit.org/show_bug.cgi?id=168836
545 <rdar://problem/31965349>
547 Reviewed by Keith Miller.
549 * wasm/WASM.js: fix regular expression greed
550 * wasm/function-tests/memory-alignment.js: Added.
551 (const.op.of.WASM.opcodes):
552 * wasm/wasm.json: fix formatting
554 2017-05-15 Mark Lam <mark.lam@apple.com>
556 Rolling out r214038 and r213697: Crashes when using computed properties with rest destructuring and object spread.
557 https://bugs.webkit.org/show_bug.cgi?id=172147
559 Rubber-stamped by Saam Barati.
561 * stress/object-rest-deconstruct.js: Removed.
562 * stress/object-spread.js: Removed.
564 2017-05-11 JF Bastien <jfbastien@apple.com>
566 WebAssembly: stop supporting 0xD
567 https://bugs.webkit.org/show_bug.cgi?id=168788
568 <rdar://problem/31880922>
570 Reviewed by Saam Barati.
572 Test that only version 1 is supported.
574 * wasm/js-api/version.js: Added.
576 2017-05-10 JF Bastien <jfbastien@apple.com>
578 WebAssemby: builder doesn't do Memory section maximum correctly
579 https://bugs.webkit.org/show_bug.cgi?id=171931
581 Reviewed by Keith Miller.
584 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
585 * wasm/Builder_WebAssemblyBinary.js:
586 (const.emitters.Memory):
587 * wasm/function-tests/memory-grow-invalid.js: Added.
589 2017-05-10 JF Bastien <jfbastien@apple.com>
591 WebAssembly: support name section
592 https://bugs.webkit.org/show_bug.cgi?id=171263
594 Reviewed by Keith Miller.
596 * wasm/function-tests/nameSection.js: Added.
598 * wasm/function-tests/nameSection.wasm: Added.
599 * wasm/function-tests/stack-trace.js: Update format
601 2017-05-10 Filip Pizlo <fpizlo@apple.com>
603 Null pointer dereference in WTF::RefPtr<WTF::StringImpl>::operator!() under slow_path_get_direct_pname
604 https://bugs.webkit.org/show_bug.cgi?id=171801
606 Reviewed by Michael Saboff.
608 These tests used to crash. The prefix and postfix tests cover different paths, except
609 postfix-ignored goes down the same path as prefix due to an optimization.
611 * stress/for-in-postfix-ignored-index.js: Added.
613 * stress/for-in-postfix-index.js: Added.
615 * stress/for-in-prefix-index.js: Added.
618 2017-05-08 Mark Lam <mark.lam@apple.com>
620 op_throw_static_error's use of its first operand should be reflected in DFG BytecodeUseDef as well.
621 https://bugs.webkit.org/show_bug.cgi?id=171786
622 <rdar://problem/32051023>
624 Reviewed by Saam Barati.
626 * stress/bug-171786.js: Added.
628 2017-05-06 Oleksandr Skachkov <gskachkov@gmail.com>
630 [ES6] Arrow function. Issue in access to this after eval('super()') within constructor
631 https://bugs.webkit.org/show_bug.cgi?id=171543
633 Reviewed by Saam Barati.
635 * stress/arrowfunction-lexical-bind-supercall-4.js:
639 2017-05-05 Saam Barati <sbarati@apple.com>
641 putDirectIndex does not properly do defineOwnProperty
642 https://bugs.webkit.org/show_bug.cgi?id=171591
643 <rdar://problem/31735695>
645 Reviewed by Geoffrey Garen.
647 * stress/array-prototype-splice-making-typed-array.js:
649 * stress/array-species-config-array-constructor.js:
652 * stress/put-direct-index-broken-2.js: Added.
655 (makeLengthWritable):
656 (set get restoreOldDesc):
657 * stress/put-direct-index-broken.js: Added.
661 * stress/put-indexed-getter-setter.js: Added.
662 (foo.X.prototype.set 7):
663 (foo.X.prototype.get 7):
667 2017-05-04 Yusuke Suzuki <utatane.tea@gmail.com>
669 [JSC] Math unary functions should be handled by DFG
670 https://bugs.webkit.org/show_bug.cgi?id=171269
672 Reviewed by Saam Barati.
674 * stress/arith-acos-on-various-types.js: Added.
675 (let.validInputTypedTestCases.validInputTestCases.map):
677 (opaqueACosNoArgument):
679 (opaqueAllTypesACos):
681 (testSingleTypeCall):
683 (opaqueACosForSideEffects):
684 (testSideEffect.let.testObject.valueOf):
687 (testCSE.let.testObject.valueOf):
690 (testDCE.let.testObject.valueOf):
692 (testException.opaqueACosWithException):
694 * stress/arith-acosh-on-various-types.js: Added.
695 (let.validInputTypedTestCases.validInputTestCases.map):
697 (opaqueACoshNoArgument):
699 (opaqueAllTypesACosh):
701 (testSingleTypeCall):
703 (opaqueACoshForSideEffects):
704 (testSideEffect.let.testObject.valueOf):
707 (testCSE.let.testObject.valueOf):
710 (testDCE.let.testObject.valueOf):
712 (testException.opaqueACoshWithException):
714 * stress/arith-asin-on-various-types.js: Added.
715 (let.validInputTypedTestCases.validInputTestCases.map):
717 (opaqueASinNoArgument):
719 (opaqueAllTypesASin):
721 (testSingleTypeCall):
723 (opaqueASinForSideEffects):
724 (testSideEffect.let.testObject.valueOf):
727 (testCSE.let.testObject.valueOf):
730 (testDCE.let.testObject.valueOf):
732 (testException.opaqueASinWithException):
734 * stress/arith-asinh-on-various-types.js: Added.
735 (let.validInputTypedTestCases.validInputTestCases.map):
737 (opaqueASinhNoArgument):
739 (opaqueAllTypesASinh):
741 (testSingleTypeCall):
743 (opaqueASinhForSideEffects):
744 (testSideEffect.let.testObject.valueOf):
747 (testCSE.let.testObject.valueOf):
750 (testDCE.let.testObject.valueOf):
752 (testException.opaqueASinhWithException):
754 * stress/arith-atan-on-various-types.js: Added.
755 (let.validInputTypedTestCases.validInputTestCases.map):
757 (opaqueATanNoArgument):
759 (opaqueAllTypesATan):
761 (testSingleTypeCall):
763 (opaqueATanForSideEffects):
764 (testSideEffect.let.testObject.valueOf):
767 (testCSE.let.testObject.valueOf):
770 (testDCE.let.testObject.valueOf):
772 (testException.opaqueATanWithException):
774 * stress/arith-atanh-on-various-types.js: Added.
775 (let.validInputTypedTestCases.validInputTestCases.map):
777 (opaqueATanhNoArgument):
779 (opaqueAllTypesATanh):
781 (testSingleTypeCall):
783 (opaqueATanhForSideEffects):
784 (testSideEffect.let.testObject.valueOf):
787 (testCSE.let.testObject.valueOf):
790 (testDCE.let.testObject.valueOf):
792 (testException.opaqueATanhWithException):
794 * stress/arith-cbrt-on-various-types.js: Added.
795 (let.validInputTypedTestCases.validInputTestCases.map):
797 (opaqueCbrtNoArgument):
799 (opaqueAllTypesCbrt):
801 (testSingleTypeCall):
803 (opaqueCbrtForSideEffects):
804 (testSideEffect.let.testObject.valueOf):
807 (testCSE.let.testObject.valueOf):
810 (testDCE.let.testObject.valueOf):
812 (testException.opaqueCbrtWithException):
814 * stress/arith-cosh-on-various-types.js: Added.
815 (let.validInputTypedTestCases.validInputTestCases.map):
817 (opaqueCoshNoArgument):
819 (opaqueAllTypesCosh):
821 (testSingleTypeCall):
823 (opaqueCoshForSideEffects):
824 (testSideEffect.let.testObject.valueOf):
827 (testCSE.let.testObject.valueOf):
830 (testDCE.let.testObject.valueOf):
832 (testException.opaqueCoshWithException):
834 * stress/arith-expm1-on-various-types.js: Added.
835 (let.validInputTypedTestCases.validInputTestCases.map):
837 (opaqueExpm1NoArgument):
839 (opaqueAllTypesExpm1):
841 (testSingleTypeCall):
843 (opaqueExpm1ForSideEffects):
844 (testSideEffect.let.testObject.valueOf):
847 (testCSE.let.testObject.valueOf):
850 (testDCE.let.testObject.valueOf):
852 (testException.opaqueExpm1WithException):
854 * stress/arith-log10-on-various-types.js: Added.
855 (let.validInputTypedTestCases.validInputTestCases.map):
857 (opaqueLog10NoArgument):
859 (opaqueAllTypesLog10):
861 (testSingleTypeCall):
863 (opaqueLog10ForSideEffects):
864 (testSideEffect.let.testObject.valueOf):
867 (testCSE.let.testObject.valueOf):
870 (testDCE.let.testObject.valueOf):
872 (testException.opaqueLog10WithException):
874 * stress/arith-log2-on-various-types.js: Added.
875 (let.validInputTypedTestCases.validInputTestCases.map):
877 (opaqueLog2NoArgument):
879 (opaqueAllTypesLog2):
881 (testSingleTypeCall):
883 (opaqueLog2ForSideEffects):
884 (testSideEffect.let.testObject.valueOf):
887 (testCSE.let.testObject.valueOf):
890 (testDCE.let.testObject.valueOf):
892 (testException.opaqueLog2WithException):
894 * stress/arith-sinh-on-various-types.js: Added.
895 (let.validInputTypedTestCases.validInputTestCases.map):
897 (opaqueSinhNoArgument):
899 (opaqueAllTypesSinh):
901 (testSingleTypeCall):
903 (opaqueSinhForSideEffects):
904 (testSideEffect.let.testObject.valueOf):
907 (testCSE.let.testObject.valueOf):
910 (testDCE.let.testObject.valueOf):
912 (testException.opaqueSinhWithException):
914 * stress/arith-tan-on-various-types.js:
916 * stress/arith-tanh-on-various-types.js: Added.
917 (let.validInputTypedTestCases.validInputTestCases.map):
919 (opaqueTanhNoArgument):
921 (opaqueAllTypesTanh):
923 (testSingleTypeCall):
925 (opaqueTanhForSideEffects):
926 (testSideEffect.let.testObject.valueOf):
929 (testCSE.let.testObject.valueOf):
932 (testDCE.let.testObject.valueOf):
934 (testException.opaqueTanhWithException):
937 2017-05-03 Keith Miller <keith_miller@apple.com>
939 Array.prototype.sort should also allow a null comparator
940 https://bugs.webkit.org/show_bug.cgi?id=171621
942 Reviewed by Michael Saboff.
944 Add test to make it less likely we revert to the incompatable behavior.
945 Also, fix now incorrect tests.
947 * ChakraCore/test/Array/array_sort.baseline-jsc:
948 * stress/array-sort-bad-comparator.js:
950 * stress/sort-null-comparator.js: Added.
953 2017-05-03 Caitlin Potter <caitp@igalia.com>
955 [JSC] remove unneeded asyncFunctionTests.yaml
956 https://bugs.webkit.org/show_bug.cgi?id=171611
958 Reviewed by Yusuke Suzuki.
960 Async functions have shipped, and those tests are run as part of
961 JSTests/stress and JSTests/test262.yaml. The file is no longer needed.
963 * asyncFunctionTests.yaml: Removed.
964 * stress/async-await-long-loop.js:
965 * stress/async-await-throw-loop.js:
967 2017-05-03 Keith Miller <keith_miller@apple.com>
969 Different behaviour with the .sort(callback) method (unlike Firefox & Chrome)
970 https://bugs.webkit.org/show_bug.cgi?id=47825
972 Reviewed by Saam Barati.
974 * stress/sorting-boolean-result-comparator.js: Added.
977 2017-05-02 David Kilzer <ddkilzer@apple.com>
979 check-webkit-style should keep JavaScript test functions in sync
980 <https://webkit.org/b/171424>
982 Reviewed by Joseph Pecoraro.
984 This change makes shouldBe(), shouldNotBe(), shouldNotThrow()
985 and shouldThrow() in sync with other copies of these methods.
987 * stress/resources/standalone-pre.js:
988 (shouldBe): Fix whitespace. Prefix 'exception' and 'quiet'
989 variables with underscore.
990 (shouldThrow): Fix whitespace.
992 2017-04-30 Oleksandr Skachkov <gskachkov@gmail.com>
994 We initialize functions too early in an eval
995 https://bugs.webkit.org/show_bug.cgi?id=161099
997 Reviewed by Saam Barati.
999 * stress/eval-func-decl-with-let-const-class.js: Added.
1001 2017-04-30 Oleksandr Skachkov <gskachkov@gmail.com>
1003 [ES6]. Implement Annex B.3.3 function hoisting rules for eval
1004 https://bugs.webkit.org/show_bug.cgi?id=163208
1006 Reviewed by Saam Barati.
1008 * stress/eval-func-decl-block-scoping-reassign.js: Added.
1010 (throw.new.Error.f):
1012 * stress/eval-func-decl-block-with-remove.js: Added.
1016 * stress/eval-func-decl-block-with-var-and-remove.js: Added.
1023 * stress/eval-func-decl-block-with-var-sinthesize.js: Added.
1031 * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added.
1032 * stress/eval-func-decl-in-eval-within-block-with-let.js: Added.
1038 * stress/eval-func-decl-in-eval-within-with-scope.js: Added.
1045 * stress/eval-func-decl-in-frozen-global.js: Added.
1050 * stress/eval-func-decl-in-global-of-eval.js: Added.
1056 * stress/eval-func-decl-in-global.js: Added.
1059 * stress/eval-func-decl-in-if.js: Added.
1061 * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added.
1071 * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added.
1077 * stress/variable-under-tdz-eval-tricky.js:
1081 2017-04-27 Mark Lam <mark.lam@apple.com>
1083 Fix some RELEASE_ASSERT failures caused by OutOfMemoryErrors.
1084 https://bugs.webkit.org/show_bug.cgi?id=171404
1085 <rdar://problem/31876178>
1087 Reviewed by Saam Barati.
1089 * stress/js-fixed-array-out-of-memory.js: Added.
1091 2017-04-27 David Kilzer <ddkilzer@apple.com>
1093 Enhance shouldBe()/shouldNotBe() to accept anonymous function arguments
1094 <https://webkit.org/b/171362>
1095 <rdar://problem/31867686>
1097 Reviewed by Joseph Pecoraro.
1099 * stress/resources/standalone-pre.js:
1103 - Update shouldBe() to accept anonymous function arguments.
1104 (The shouldNotBe() function was never copied over.)
1105 - Also fix shouldThrow()/shouldNotThrow() to accept anonymous
1106 function arguments (which were missed in r202609 for Bug
1109 2017-04-27 Yusuke Suzuki <utatane.tea@gmail.com>
1111 [JSC] Handle PhantomSpread in LoadVarargs as the same to the others
1112 https://bugs.webkit.org/show_bug.cgi?id=171262
1114 Reviewed by Saam Barati.
1116 * stress/spread-outer-create-rest.js: Added.
1122 2017-04-26 Saam Barati <sbarati@apple.com>
1124 Print Wasm function index in stack trace
1125 https://bugs.webkit.org/show_bug.cgi?id=171349
1127 Reviewed by JF Bastien.
1129 * wasm/function-tests/stack-trace.js: Added.
1130 (import.Builder.from.string_appeared_here.assert):
1132 * wasm/function-tests/trap-after-cross-instance-call.js:
1133 (wasmFrameCountFromError):
1134 * wasm/function-tests/trap-load-2.js:
1135 (wasmFrameCountFromError):
1136 * wasm/function-tests/trap-load.js:
1137 (wasmFrameCountFromError):
1139 2017-04-26 Saam Barati <sbarati@apple.com>
1141 ASSERTION FAILED: inIndex != notFound in JSC::invalidParameterInSourceAppender()
1142 https://bugs.webkit.org/show_bug.cgi?id=170924
1143 <rdar://problem/31721052>
1145 Reviewed by Mark Lam.
1147 * stress/error-message-for-function-base-not-found.js: Added.
1150 * stress/error-messages-for-in-operator-should-not-crash.js: Added.
1153 2017-04-26 Keith Miller <keith_miller@apple.com>
1155 WebAssembly: Implement tier up
1156 https://bugs.webkit.org/show_bug.cgi?id=170134
1158 Reviewed by Filip Pizlo.
1160 * wasm/function-tests/trap-after-cross-instance-call.js:
1161 * wasm/tier-up/js-to-wasm.js: Added.
1163 * wasm/tier-up/wasm-to-wasm.js: Added.
1166 2017-04-26 Caitlin Potter <caitp@igalia.com>
1168 [JSC] Object.keys() must discard property names with no PropertyDescriptor
1169 https://bugs.webkit.org/show_bug.cgi?id=171291
1171 Reviewed by Yusuke Suzuki.
1173 * es6/Proxy_ownKeys_duplicates.js:
1174 * stress/proxy-own-keys.js:
1175 (let.handler.getOwnPropertyDescriptor):
1176 (let.handler.ownKeys):
1178 2017-04-25 Commit Queue <commit-queue@webkit.org>
1180 Unreviewed, rolling out r215476.
1181 https://bugs.webkit.org/show_bug.cgi?id=171304
1183 "It broke JSBench" (Requested by saamyjoon on #webkit).
1187 "[ES6]. Implement Annex B.3.3 function hoisting rules for
1189 https://bugs.webkit.org/show_bug.cgi?id=163208
1190 http://trac.webkit.org/changeset/215476
1192 2017-04-25 Saam Barati <sbarati@apple.com>
1194 JSArray::isArrayPrototypeIteratorProtocolFastAndNonObservable is wrong because it does not do the necessary checks on the base object
1195 https://bugs.webkit.org/show_bug.cgi?id=171150
1196 <rdar://problem/31771880>
1198 Reviewed by Sam Weinig.
1200 * stress/spread-optimized-properly.js: Added.
1204 (makeArrayIterator):
1207 (test.arr.__proto__.Symbol.iterator):
1208 (test.arr.Symbol.iterator):
1214 2017-04-25 Mark Lam <mark.lam@apple.com>
1216 [Follow up] Array.prototype.slice() should ensure that end >= begin.
1217 https://bugs.webkit.org/show_bug.cgi?id=170989
1218 <rdar://problem/31705652>
1222 Follow up to rename a test file that was accidentally named wrongly.
1224 * stress/regress-170989.js: Copied from JSTests/stress/regress-170989.patch.
1225 * stress/regress-170989.patch: Removed.
1227 2017-04-25 Mark Lam <mark.lam@apple.com>
1229 Array.prototype.slice() should ensure that end >= begin.
1230 https://bugs.webkit.org/show_bug.cgi?id=170989
1231 <rdar://problem/31705652>
1233 Reviewed by Saam Barati.
1235 * stress/regress-170989.patch: Added.
1237 2017-04-25 Mark Lam <mark.lam@apple.com>
1239 Local CSE wrongly CSEs array accesses with different result types.
1240 https://bugs.webkit.org/show_bug.cgi?id=170990
1241 <rdar://problem/31705945>
1243 Reviewed by Saam Barati.
1245 * stress/regress-170990.js: Added.
1247 2017-04-25 Yusuke Suzuki <utatane.tea@gmail.com>
1249 WebAssembly: exporting a property with a name that's a number doesn't work
1250 https://bugs.webkit.org/show_bug.cgi?id=168857
1252 Reviewed by JF Bastien.
1254 r213453 allows Wasm instances to expose indexed properties. We activate the tests.
1256 * wasm/js-api/test_Instance.js:
1259 2017-04-24 Joseph Pecoraro <pecoraro@apple.com>
1261 test262: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
1262 https://bugs.webkit.org/show_bug.cgi?id=171190
1264 Reviewed by Saam Barati.
1266 * stress/async-await-syntax.js:
1269 2017-04-24 Yusuke Suzuki <utatane.tea@gmail.com>
1271 [JSC] Use JSFixedArray directly when using call_varargs
1272 https://bugs.webkit.org/show_bug.cgi?id=171057
1274 Reviewed by Saam Barati.
1276 * stress/spread-capture-rest.js: Added.
1281 * stress/spread-multi-layers.js: Added.
1287 * stress/spread-non-varargs.js: Added.
1292 2017-04-24 Joseph Pecoraro <pecoraro@apple.com>
1294 test262: test262/test/language/computed-property-names/class/static/getter-prototype.js
1295 https://bugs.webkit.org/show_bug.cgi?id=170897
1297 Reviewed by Saam Barati.
1301 2017-04-24 Joseph Pecoraro <pecoraro@apple.com>
1303 Address some FIXMEs in JavaScript tests for bugs that have been fixed
1304 https://bugs.webkit.org/show_bug.cgi?id=171191
1306 Reviewed by JF Bastien.
1308 * stress/proxy-is-extensible.js:
1310 2017-04-24 Joseph Pecoraro <pecoraro@apple.com>
1312 test262: test262/test/language/statements/for-of/dstr-array-elem-init-fn-name-arrow.js
1313 https://bugs.webkit.org/show_bug.cgi?id=171160
1315 Reviewed by JF Bastien.
1317 * stress/inferred-names.js:
1320 2017-04-24 Joseph Pecoraro <pecoraro@apple.com>
1322 test262: test262/test/language/expressions/generators/yield-as-label.js
1323 https://bugs.webkit.org/show_bug.cgi?id=170979
1325 Reviewed by Saam Barati.
1327 * stress/async-await-module-reserved-word.js:
1328 * stress/async-await-reserved-word.js:
1329 Converge on "Cannot" instead of "Can't".
1331 * catch-parameter-syntax.js:
1332 * yield-named-variable-generator.js:
1333 * yield-named-variable.js:
1334 * stress/yield-label-generator.js:
1335 * stress/yield-label.js:
1336 * stress/yield-reserved-word.js: Added.
1337 More complete list of when 'yield' is allowed.
1339 * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc:
1342 2017-04-23 Commit Queue <commit-queue@webkit.org>
1344 Unreviewed, rolling out r215674.
1345 https://bugs.webkit.org/show_bug.cgi?id=171212
1347 Possible unintended commit. This patch was on the wrong bug.
1348 (Requested by JoePeck on #webkit).
1352 "test262: test262/test/language/expressions/generators/yield-
1354 https://bugs.webkit.org/show_bug.cgi?id=170979
1355 http://trac.webkit.org/changeset/215674
1357 2017-04-23 Joseph Pecoraro <pecoraro@apple.com>
1359 test262: test262/test/built-ins/Number/prototype/toPrecision/nan.js
1360 https://bugs.webkit.org/show_bug.cgi?id=171197
1362 Reviewed by Saam Barati.
1366 2017-04-23 Joseph Pecoraro <pecoraro@apple.com>
1368 test262: test262/test/language/expressions/generators/yield-as-label.js
1369 https://bugs.webkit.org/show_bug.cgi?id=170979
1371 Reviewed by Saam Barati.
1373 * stress/async-await-module-reserved-word.js:
1374 * stress/async-await-reserved-word.js:
1375 Converge on "Cannot" instead of "Can't".
1377 * catch-parameter-syntax.js:
1378 * yield-named-variable-generator.js:
1379 * yield-named-variable.js:
1380 * stress/yield-label-generator.js:
1381 * stress/yield-label.js:
1382 * stress/yield-reserved-word.js: Added.
1383 More complete list of when 'yield' is allowed.
1385 * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc:
1388 2017-04-23 Joseph Pecoraro <pecoraro@apple.com>
1390 test262: test262/test/built-ins/Number/parseFloat.js
1391 https://bugs.webkit.org/show_bug.cgi?id=171193
1393 Reviewed by Yusuke Suzuki.
1397 2017-04-22 JF Bastien <jfbastien@apple.com>
1399 WebAssembly: Module.exports, Module.imports, Module.customSections are wrong
1400 https://bugs.webkit.org/show_bug.cgi?id=171078
1402 Reviewed by Saam Barati.
1404 They're static properties of Module, not instance properties of a module.
1405 https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymoduleexports
1407 * wasm/js-api/Module.customSection.js:
1408 (assert.throws.WebAssembly.Module.customSections):
1410 (assert.throws.WebAssembly.Module.prototype.customSections): Deleted.
1411 * wasm/js-api/Module.exports.js:
1412 (assert.throws.WebAssembly.Module.exports):
1414 (assert.throws.WebAssembly.Module.prototype.exports): Deleted.
1415 * wasm/js-api/Module.imports.js:
1416 (assert.throws.WebAssembly.Module.imports):
1418 (assert.throws.WebAssembly.Module.prototype.imports): Deleted.
1420 2017-04-21 JF Bastien <jfbastien@apple.com>
1424 Unreviewed, Fil / Michael and I talked about it in the corridor. I
1425 just forgot to set verbose to false before commit.
1427 * wasm/stress/oom.js:
1429 2017-04-20 Yusuke Suzuki <utatane.tea@gmail.com>
1431 [JSC][FTL] FTL should support Arrayify
1432 https://bugs.webkit.org/show_bug.cgi?id=169596
1434 Reviewed by Saam Barati.
1436 * stress/arrayify.js: Added.
1439 (arrayifyContiguous):
1441 2017-04-20 Mark Lam <mark.lam@apple.com>
1443 virtualThunkFor() needs to materialize its of tagMaskRegister for tail calls.
1444 https://bugs.webkit.org/show_bug.cgi?id=171079
1445 <rdar://problem/31684756>
1447 Reviewed by Saam Barati.
1449 * stress/regress-171079.js: Added.
1451 2017-04-15 Filip Pizlo <fpizlo@apple.com>
1453 Optimize SharedArrayBuffer in the DFG+FTL
1454 https://bugs.webkit.org/show_bug.cgi?id=164108
1456 Reviewed by Saam Barati.
1458 Added a fairly comprehensive test of the intrinsics. This creates a function for each possible
1459 combination of type and operation, and then first uses it nicely and then tries a bunch of
1460 erroneous conditions like OOB.
1462 * stress/SharedArrayBuffer-opt.js: Added.
1463 (string_appeared_here.switch):
1464 (string_appeared_here.str):
1468 (string_appeared_here.a.of.arrays.m.of.atomics):
1469 * stress/SharedArrayBuffer.js:
1471 2017-04-19 Mark Lam <mark.lam@apple.com>
1473 B3StackmapSpecial should handle when stackmap values are not recoverable from a Def'ed arg.
1474 https://bugs.webkit.org/show_bug.cgi?id=170973
1475 <rdar://problem/30318657>
1477 Reviewed by Filip Pizlo.
1479 * stress/regress-170973.js: Added.
1481 2017-04-19 JF Bastien <jfbastien@apple.com>
1483 WebAssembly: limit slow memories
1484 https://bugs.webkit.org/show_bug.cgi?id=170825
1486 Reviewed by Saam Barati.
1489 * wasm/stress/oom.js: Added.
1490 (try.true.WebAssemblyMemoryMode):
1493 2017-04-19 JF Bastien <jfbastien@apple.com>
1495 WebAssembly: don't expose any WebAssembly JS object if JIT is off
1496 https://bugs.webkit.org/show_bug.cgi?id=170782
1498 Reviewed by Saam Barati.
1501 * wasm/noJIT/noJIT.js: Added.
1503 2017-04-18 Mark Lam <mark.lam@apple.com>
1505 r211670 broke double to int conversion.
1506 https://bugs.webkit.org/show_bug.cgi?id=170961
1507 <rdar://problem/31687696>
1509 Reviewed by Yusuke Suzuki.
1511 * microbenchmarks/double-to-int32.js: Added.
1512 * stress/to-int32-sensible2.js: Added.
1514 2017-04-18 Oleksandr Skachkov <gskachkov@gmail.com>
1516 [ES6]. Implement Annex B.3.3 function hoisting rules for eval
1517 https://bugs.webkit.org/show_bug.cgi?id=163208
1519 Reviewed by Saam Barati.
1521 * stress/eval-func-decl-block-scoping-reassign.js: Added.
1523 (throw.new.Error.f):
1525 * stress/eval-func-decl-block-with-remove.js: Added.
1529 * stress/eval-func-decl-block-with-var-and-remove.js: Added.
1536 * stress/eval-func-decl-block-with-var-sinthesize.js: Added.
1544 * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added.
1545 * stress/eval-func-decl-in-eval-within-block-with-let.js: Added.
1551 * stress/eval-func-decl-in-eval-within-with-scope.js: Added.
1558 * stress/eval-func-decl-in-frozen-global.js: Added.
1563 * stress/eval-func-decl-in-global-of-eval.js: Added.
1569 * stress/eval-func-decl-in-global.js: Added.
1572 * stress/eval-func-decl-in-if.js: Added.
1574 * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added.
1584 * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added.
1590 * stress/variable-under-tdz-eval-tricky.js:
1594 2017-04-18 Filip Pizlo <fpizlo@apple.com>
1596 wasm/function-tests/memory-multiagent times out sometimes
1597 https://bugs.webkit.org/show_bug.cgi?id=170958
1599 Reviewed by Keith Miller.
1601 Add the ability to skip tests easily. Skip the test.
1604 * wasm/function-tests/memory-multiagent.js:
1606 2017-04-18 Saam Barati <sbarati@apple.com>
1608 Follow up to debug build stack overflow in test after r215453
1610 Rubber stamped by Mark Lam.
1612 * stress/call-apply-exponential-bytecode-size.js: Decrease the call
1613 size to prevent stack overflow errors on debug builds.
1615 2017-04-18 Yusuke Suzuki <utatane.tea@gmail.com>
1617 [DFG] Convert ValueAdd(Int32, String) => MakeRope(ToString(Int32), String)
1618 https://bugs.webkit.org/show_bug.cgi?id=170943
1620 Reviewed by Geoffrey Garen.
1622 * microbenchmarks/number-to-string-with-add-empty.js: Added.
1625 * microbenchmarks/number-to-string-with-add-in-loop.js: Added.
1628 * microbenchmarks/number-to-string-with-add.js: Added.
1631 * stress/number-to-string-with-add.js: Added.
1634 (toStringLeftEmpty):
1635 (toStringRightEmpty):
1637 2017-04-18 Yusuke Suzuki <utatane.tea@gmail.com>
1639 [DFG] Drop unknown use of CheckCell's child2 to work ObjectAllocationSinking for Array iterator object
1640 https://bugs.webkit.org/show_bug.cgi?id=170940
1642 Reviewed by Filip Pizlo.
1644 * microbenchmarks/for-of-array.js: Added.
1647 2017-04-17 Saam Barati <sbarati@apple.com>
1649 BytecodeGenerator ".call" and ".apply" is exponential in nesting depth
1650 https://bugs.webkit.org/show_bug.cgi?id=139847
1651 <rdar://problem/19321122>
1653 Reviewed by Oliver Hunt.
1655 * stress/call-apply-exponential-bytecode-size.js: Added.
1660 (randomApplyOrCall):
1666 2017-04-17 Mark Lam <mark.lam@apple.com>
1668 JSArray::appendMemcpy() needs to handle copying from Undecided indexing type too.
1669 https://bugs.webkit.org/show_bug.cgi?id=170896
1670 <rdar://problem/31651319>
1672 Reviewed by JF Bastien and Keith Miller.
1674 * stress/regress-170896.js: Added.
1676 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
1678 test262: test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js
1679 https://bugs.webkit.org/show_bug.cgi?id=170882
1681 Reviewed by Saam Barati.
1685 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
1687 test262: test262/test/built-ins/isNaN/toprimitive-not-callable-throws.js
1688 https://bugs.webkit.org/show_bug.cgi?id=170888
1690 Reviewed by Saam Barati.
1692 * stress/computed-accessor.js:
1693 * stress/eval-in-arrow-function.js:
1694 * stress/rest-elements.js:
1695 * stress/string-object-define-own-property.js:
1696 Remove unused shouldThrow.
1698 * stress/symbol-toprimitive-errors.js: Added.
1699 Check for ToPrimitive TypeErrors.
1703 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
1705 test262: test262/test/language/expressions/tagged-template/template-object.js
1706 https://bugs.webkit.org/show_bug.cgi?id=170878
1708 Reviewed by Saam Barati.
1710 * stress/array-length-not-writable.js: Added.
1714 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
1716 test262: test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js
1717 https://bugs.webkit.org/show_bug.cgi?id=170879
1719 Reviewed by Saam Barati.
1721 * ChakraCore/test/es5/enumerable.baseline-jsc:
1724 2017-04-16 Joseph Pecoraro <pecoraro@apple.com>
1726 test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
1727 https://bugs.webkit.org/show_bug.cgi?id=170884
1729 Reviewed by Yusuke Suzuki.
1733 2017-04-15 Joseph Pecoraro <pecoraro@apple.com>
1735 test262: test262/test/language/global-code/new.target-arrow.js
1736 https://bugs.webkit.org/show_bug.cgi?id=170872
1738 Reviewed by Saam Barati.
1740 * stress/async-arrow-functions-lexical-new.target-binding.js:
1741 (shouldThrowAsync): Deleted.
1742 (shouldThrowAsync.async): Deleted.
1743 This code should have thrown a SyntaxError. Instead it was throwing
1744 a ReferenceError for the internal @newTargetLocal variable.
1746 * stress/new-target-syntax-errors.js:
1747 Cover the arrow function in global code cases.
1750 * ChakraCore/test/es6/globalLambdaNewTargetSyntaxError.baseline-jsc:
1751 We now pass with an expected SyntaxError. Our error message is different.
1755 2017-04-14 Saam Barati <sbarati@apple.com>
1757 ParseInt intrinsic in DFG backend doesn't properly flush its operands
1758 https://bugs.webkit.org/show_bug.cgi?id=170865
1760 Reviewed by Mark Lam and Geoffrey Garen.
1762 * stress/parse-int-intrinsic-dfg-backend-flush.js: Added.
1766 2017-04-14 Caitlin Potter <caitp@igalia.com>
1768 [JSC] use ExpressionErrorClassifier for AwaitExpression operand
1769 https://bugs.webkit.org/show_bug.cgi?id=170844
1771 Reviewed by Saam Barati.
1773 * stress/regress-170732.js: Added.
1775 2017-04-14 Oleksandr Skachkov <gskachkov@gmail.com>
1777 Safari 10.1 JSON.parse returns incorrect object for numeric keys with decimal values
1778 https://bugs.webkit.org/show_bug.cgi?id=170442
1780 Reviewed by Yusuke Suzuki.
1782 * stress/object-number-properties.js:
1784 2017-04-13 Yusuke Suzuki <utatane.tea@gmail.com>
1786 [JSC] Date.parse should accept wider range of representation
1787 https://bugs.webkit.org/show_bug.cgi?id=170720
1789 Reviewed by Darin Adler.
1791 * stress/date-relaxed.js: Added.
1795 2017-04-13 Mark Lam <mark.lam@apple.com>
1797 Should use flushDirect() when flushing the scopeRegister due to needsScopeRegister().
1798 https://bugs.webkit.org/show_bug.cgi?id=170661
1799 <rdar://problem/31579046>
1801 Reviewed by Filip Pizlo.
1803 * stress/regress-170661.js: Added.
1805 2017-04-13 JF Bastien <jfbastien@apple.com>
1807 WebAssembly: manage memory better
1808 https://bugs.webkit.org/show_bug.cgi?id=170628
1810 Reviewed by Keith Miller, Michael Saboff.
1812 * wasm/Builder.js: move a helper out so tests can use it
1813 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
1814 * wasm/WASM.js: add utilities to classify opcodes
1816 (export.const.memoryAccessInfo.op.const.sign):
1817 * wasm/function-tests/memory-access-past-4gib.js: Added. This test
1818 fails before this patch.
1819 (const.op.of.WASM.opcodes):
1820 * wasm/function-tests/memory-many.js: Added. This simple tests
1821 just shouldn't crash. In verbose mode it's useful at determining
1822 if the GC falls behind or not.
1823 * wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage.
1824 (const.startAgents.numAgentsToStart.a.agent.receiveBroadcast):
1825 (const.startAgents.numAgentsToStart.a.write.const.idx.Math.random):
1826 (const.broadcastToAgents):
1827 * wasm/js-api/extension-MemoryMode.js: verbose logging.
1830 (testInstanceNoMemory):
1831 (testInstanceNoMax):
1833 * wasm/utilities.js: move a utility here.
1835 2017-04-12 Joseph Pecoraro <pecoraro@apple.com>
1837 test262: test262/test/built-ins/NativeErrors/EvalError/proto.js
1838 https://bugs.webkit.org/show_bug.cgi?id=170668
1840 Reviewed by Keith Miller.
1843 * ChakraCore/test/Lib/error.baseline-jsc: Added.
1844 This test does not match the spec.
1848 2017-04-12 Joseph Pecoraro <pecoraro@apple.com>
1850 test262: test262/test/language/literals/regexp/u-dec-esc.js
1851 https://bugs.webkit.org/show_bug.cgi?id=170687
1853 Reviewed by Michael Saboff.
1857 2017-04-11 Michael Saboff <msaboff@apple.com>
1859 Implement Object.isFrozen() and Object.isSealed() per ECMA spec
1860 https://bugs.webkit.org/show_bug.cgi?id=170753
1862 Reviewed by Mark Lam.
1864 Added JSC baseline and enabled defineIndexProperty test.
1866 Note that JSC differs from Chakra in that a JSC doesn't use indexed
1867 properties placed on the Array prototype when sorting the indexed
1868 properties of an Object. This is behavior is considered undefined
1872 * ChakraCore/test/es5/defineIndexProperty.baseline-jsc: Added.
1874 2017-04-11 Joseph Pecoraro <pecoraro@apple.com>
1876 test262: test262/test/annexB/language/comments/multi-line-html-close.js
1877 https://bugs.webkit.org/show_bug.cgi?id=170648
1879 Reviewed by Keith Miller.
1883 2017-04-11 Joseph Pecoraro <pecoraro@apple.com>
1885 test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
1886 https://bugs.webkit.org/show_bug.cgi?id=170652
1888 Reviewed by Michael Saboff.
1890 * stress/native-constructors-length.js: Added.
1891 (assertLengthDescriptorAttributes):
1892 Add a quick test for the length properties of all native constructors.
1894 * ChakraCore/test/es5/enumerable.baseline-jsc:
1895 Rebaseline expectations for this test.
1899 2017-04-10 Keith Miller <keith_miller@apple.com>
1901 WebAssembly: Update spec tests
1902 https://bugs.webkit.org/show_bug.cgi?id=170683
1904 Rubber-stamped by JF Bastien.
1907 * wasm/spec-tests/br_table.wast.js:
1908 * wasm/spec-tests/conversions.wast.js: Removed.
1909 * wasm/spec-tests/f32_bitwise.wast.js: Added.
1910 * wasm/spec-tests/f32_cmp.wast.js:
1911 * wasm/spec-tests/f64_bitwise.wast.js: Added.
1912 * wasm/spec-tests/f64_cmp.wast.js:
1913 * wasm/spec-tests/i32.wast.js:
1914 * wasm/spec-tests/i64.wast.js:
1915 * wasm/spec-tests/int_exprs.wast.js:
1916 * wasm/spec-tests/memory.wast.js:
1918 2017-04-09 Joseph Pecoraro <pecoraro@apple.com>
1920 test262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js
1921 https://bugs.webkit.org/show_bug.cgi?id=170650
1923 Reviewed by Saam Barati.
1925 * stress/inferred-names.js:
1928 2017-04-09 Joseph Pecoraro <pecoraro@apple.com>
1930 test262: test262/test/annexB/language/literals/regexp/identity-escape.js
1931 https://bugs.webkit.org/show_bug.cgi?id=170651
1933 Reviewed by Saam Barati.
1937 2017-04-07 Michael Saboff <msaboff@apple.com>
1939 Fix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072
1940 https://bugs.webkit.org/show_bug.cgi?id=170580
1942 Reviewed by JF Bastien.
1944 Commented out subtest that expects defineProperty("length") to a getter on a
1945 sealed function shouldn't throw.
1948 * ChakraCore/test/es6/ES6Function_bugs.js:
1950 2017-04-06 Michael Saboff <msaboff@apple.com>
1952 Cannot Object.seal() or Object.freeze() global "this"
1953 https://bugs.webkit.org/show_bug.cgi?id=170549
1955 Reviewed by Mark Lam.
1957 Enabled failing tests fixed by the corresponding code change:
1958 ChakraCore/test/LetConst/delete.js
1959 ChakraCore/test/LetConst/dop.js
1960 ChakraCore/test/LetConst/dop1.js
1963 * ChakraCore/test/LetConst/dop.baseline-jsc: Added JSC specific expected output.
1964 * ChakraCore/test/LetConst/dop1.baseline-jsc: Added JSC specific expected output.
1966 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
1968 test262: ES2017 test progressions need updated expectations (arguments.caller removed)
1969 https://bugs.webkit.org/show_bug.cgi?id=170536
1971 Reviewed by Mark Lam.
1974 After r208867 the tests are out of date and are now expected to fail.
1976 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
1978 test262: Final rebaseline of existing tests, a few tests have started failing
1979 https://bugs.webkit.org/show_bug.cgi?id=170538
1981 Reviewed by Mark Lam.
1984 These tests started failing a while ago. Mark them as legitmate failures.
1986 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
1988 test262: Rebaseline expectations for now passing tests
1989 https://bugs.webkit.org/show_bug.cgi?id=170532
1991 Reviewed by Ryosuke Niwa.
1994 Update expectations for tests we are now passing.
1996 2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
1998 test262: module test progressions need updated expectations (@@iterator changes)
1999 https://bugs.webkit.org/show_bug.cgi?id=170535
2001 Reviewed by Saam Barati.
2004 After r212430 the tests are out of date and are now expected to fail.
2006 2017-04-05 Michael Saboff <msaboff@apple.com>
2008 Unreviewed rollout of r214642 as the test still intermittently fails.
2010 Disabled ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js.
2014 2017-04-05 Michael Saboff <msaboff@apple.com>
2016 REGRESSION (Safari 10.1): Inserting elements into arrays fails when array contains very large numbers
2017 https://bugs.webkit.org/show_bug.cgi?id=170264
2018 <rdar://problem/31375593>
2020 Rubber-stamped by Saam Barati.
2022 The original bug was fixed in: https://trac.webkit.org/changeset/214714
2023 I'm just adding another test for good measure.
2025 * stress/double-array-to-array-storage.js: Added.
2028 2017-04-05 Keith Miller <keith_miller@apple.com>
2030 WebAssembly: We shouldn't need to pin size registers if we have a fast memory.
2031 https://bugs.webkit.org/show_bug.cgi?id=170504
2033 Reviewed by Mark Lam.
2035 * wasm/function-tests/trap-after-cross-instance-call.js: Added.
2036 (b.new.WebAssembly.Memory):
2037 (importObject.foo.bar):
2038 (wasmFrameCountFromError):
2040 2017-03-16 Yusuke Suzuki <utatane.tea@gmail.com>
2042 [JSC] Generate TemplateObjects at linking time
2043 https://bugs.webkit.org/show_bug.cgi?id=169743
2045 Reviewed by Keith Miller.
2047 * stress/template-string-tags-eval.js: Added.
2051 2017-04-04 Mark Lam <mark.lam@apple.com>
2053 On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32.
2054 https://bugs.webkit.org/show_bug.cgi?id=170473
2055 <rdar://problem/29912391>
2057 Reviewed by Saam Barati.
2059 * stress/regress-170473.js: Added.
2061 2017-04-03 Mark Lam <mark.lam@apple.com>
2063 Fix incorrect capacity delta calculation reported in SparseArrayValueMap::add().
2064 https://bugs.webkit.org/show_bug.cgi?id=170412
2065 <rdar://problem/29697336>
2067 Reviewed by Filip Pizlo.
2069 * stress/regress-170412.js: Added.
2071 2017-04-03 Keith Miller <keith_miller@apple.com>
2073 WebAssembly: Update spec tests
2074 https://bugs.webkit.org/show_bug.cgi?id=170361
2076 Rubber-stamped by Saam Barati.
2078 Update the spec tests to run tests generated by the newer spec
2079 test builder wasm-spec/test/builder.py. This patch also adds the
2080 necessary harness code in spec-harness.js so we can run the tests.
2083 * wasm/import-spec-tests.rb:
2084 * wasm/spec-harness.js: Added.
2085 (import.string_appeared_here.then):
2088 (let.assert_unreached):
2089 * wasm/spec-harness/index.js: Added.
2095 (Result.prototype.isError):
2100 (assert_soft_invalid):
2106 (assert_unlinkable):
2107 (assert_uninstantiable):
2111 (assert_exhaustion):
2113 (assert_return_nan):
2114 * wasm/spec-harness/testharness.css: Added.
2120 (table#results th:first-child,):
2121 (table#results th:last-child,):
2122 (table#results.assertions th:last-child,):
2125 (tr.pass > td:first-child):
2126 (tr.fail > td:first-child):
2127 (tr.timeout > td:first-child):
2128 (tr.notrun > td:first-child):
2129 (.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child):
2130 (table#results span):
2131 (table#results span.expected):
2132 (table#results span.actual):
2136 (span.ok, span.timeout, span.error):
2137 * wasm/spec-harness/testharness.js: Added.
2138 (WindowTestEnvironment):
2139 (WindowTestEnvironment.prototype._dispatch):
2140 (WindowTestEnvironment.prototype._forEach_windows):
2141 (WindowTestEnvironment.prototype.on_tests_ready):
2142 (WindowTestEnvironment.prototype.setup_messages):
2143 (WindowTestEnvironment.prototype.next_default_test_name):
2144 (WindowTestEnvironment.prototype.on_new_harness_properties):
2145 (WindowTestEnvironment.prototype.add_on_loaded_callback):
2146 (WindowTestEnvironment.prototype.test_timeout):
2147 (WindowTestEnvironment.prototype.global_scope):
2148 (WorkerTestEnvironment):
2149 (WorkerTestEnvironment.prototype._dispatch):
2150 (WorkerTestEnvironment.prototype._add_message_port):
2151 (WorkerTestEnvironment.prototype.next_default_test_name):
2152 (WorkerTestEnvironment.prototype.on_new_harness_properties):
2153 (WorkerTestEnvironment.prototype.on_tests_ready):
2154 (WorkerTestEnvironment.prototype.add_on_loaded_callback):
2155 (WorkerTestEnvironment.prototype.test_timeout):
2156 (WorkerTestEnvironment.prototype.global_scope):
2157 (DedicatedWorkerTestEnvironment):
2158 (DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
2159 (SharedWorkerTestEnvironment):
2160 (SharedWorkerTestEnvironment.prototype.on_tests_ready):
2161 (ServiceWorkerTestEnvironment):
2162 (ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
2163 (create_test_environment):
2165 (is_service_worker):
2178 * wasm/spec-harness/testharnessreport.js: Added.
2179 * wasm/spec-harness/wasm-constants.js: Added.
2190 * wasm/spec-harness/wasm-module-builder.js: Added.
2191 (Binary.prototype.emit_u8):
2192 (Binary.prototype.emit_u16):
2193 (Binary.prototype.emit_u32):
2194 (Binary.prototype.emit_u32v):
2195 (Binary.prototype.emit_bytes):
2196 (Binary.prototype.emit_string):
2197 (Binary.prototype.emit_header):
2198 (Binary.prototype.emit_section):
2200 (WasmFunctionBuilder):
2201 (WasmFunctionBuilder.prototype.exportAs):
2202 (WasmFunctionBuilder.prototype.exportFunc):
2203 (WasmFunctionBuilder.prototype.addBody):
2204 (WasmFunctionBuilder.prototype.addLocals):
2205 (WasmFunctionBuilder.prototype.end):
2206 (WasmGlobalBuilder):
2207 (WasmGlobalBuilder.prototype.exportAs):
2208 (WasmModuleBuilder):
2209 (WasmModuleBuilder.prototype.addStart):
2210 (WasmModuleBuilder.prototype.addMemory):
2211 (WasmModuleBuilder.prototype.addExplicitSection):
2212 (WasmModuleBuilder.prototype.addType):
2213 (WasmModuleBuilder.prototype.addGlobal):
2214 (WasmModuleBuilder.prototype.addFunction):
2215 (WasmModuleBuilder.prototype.addImport):
2216 (WasmModuleBuilder.prototype.addImportedGlobal):
2217 (WasmModuleBuilder.prototype.addImportedMemory):
2218 (WasmModuleBuilder.prototype.addImportedTable):
2219 (WasmModuleBuilder.prototype.addExport):
2220 (WasmModuleBuilder.prototype.addExportOfKind):
2221 (WasmModuleBuilder.prototype.addDataSegment):
2222 (WasmModuleBuilder.prototype.exportMemoryAs):
2223 (WasmModuleBuilder.prototype.addFunctionTableInit):
2224 (WasmModuleBuilder.prototype.appendToTable):
2225 (WasmModuleBuilder.prototype.setFunctionTableLength):
2226 (WasmModuleBuilder.prototype.toArray):
2227 (WasmModuleBuilder.prototype.toBuffer):
2228 (WasmModuleBuilder.prototype.instantiate):
2229 * wasm/spec-harness/wast.js: Added.
2231 (require.else._registry.name):
2256 (instr.else.switch.case.0.f):
2257 (instr.else.switch.case.1.f.1):
2258 (instr.else.switch.case.2.f.2):
2281 (module_with_var_opt):
2288 (_registry.string_appeared_here):
2328 (array1_of_genarray):
2329 (array2_of_genarray):
2330 (array3_of_genarray):
2351 (advance_to_closing):
2352 (advance_to_non_alpha):
2382 (caml_array_concat):
2388 (caml_int32_float_of_bits):
2389 (caml_int32_bits_of_float):
2390 (caml_classify_float):
2394 (caml_copysign_float):
2400 (int_of_string_base):
2401 (parse_sign_and_base):
2402 (caml_int_of_string.aux):
2403 (caml_int_of_string):
2404 (caml_int64_of_string.aux):
2405 (caml_int64_of_string):
2408 (finish_formatting):
2410 (caml_int64_format):
2411 (caml_format_float):
2445 (bits_of_float.to_nat):
2456 (param_format_of_ignored_format):
2457 (buffer_check_size):
2459 (buffer_add_string):
2465 (set while.set var):
2466 (set while.set else):
2472 (bprint_ignored_flag):
2476 (bprint_iconv_flag):
2478 (bprint_altint_fmt):
2479 (bprint_fconv_flag):
2481 (string_of_formatting_lit):
2482 (string_of_formatting_gen):
2483 (bprint_char_literal):
2484 (bprint_string_literal):
2486 (int_of_custom_arity):
2492 (fmtty_of_formatting_gen):
2495 (fmtty_of_padding_fmtty):
2496 (fmtty_of_precision_fmtty):
2499 (type_ignored_param_one):
2501 (type_ignored_format_substitution):
2505 (fix_int_precision):
2506 (string_to_caml_string):
2512 (convert_nativeint):
2519 (else.switch.k.prime):
2520 (else.switch.else.):
2521 (else.switch.else.k.prime.1):
2525 (make_string_padding):
2526 (make_int_padding_precision):
2531 (failwith_message.k):
2533 (open_box_of_string.else.invalid_box):
2534 (open_box_of_string.else.parse_spaces):
2535 (open_box_of_string.else.parse_lword):
2536 (open_box_of_string.else.parse_int):
2537 (open_box_of_string):
2538 (make_padding_fmt_ebb):
2539 (make_precision_fmt_ebb):
2540 (make_padprec_fmt_ebb):
2541 (invalid_format_message):
2542 (invalid_format_without):
2543 (expected_character):
2545 (incompatible_flag):
2548 (parse_after_precision):
2549 (else.parse_literal):
2550 (parse_after_padding):
2556 (compute_float_conv):
2557 (search_subformat_end):
2561 (else.switch.case.99.char_format):
2562 (else.switch.scan_format):
2569 (fail_single_percent):
2570 (parse_char_set_after_char):
2571 (parse_char_set_content):
2572 (parse_char_set_start):
2576 (fmt_ebb_of_string):
2577 (format_of_string_fmtty):
2578 (format_of_string_format):
2580 (caml_ml_open_descriptor_in):
2581 (caml_ml_open_descriptor_out):
2584 (caml_ml_output_char):
2586 (caml_ml_input_char):
2587 (caml_ml_out_channels_list):
2593 (caml_new_lex_engine):
2595 (caml_obj_truncate):
2596 (caml_lazy_make_forward):
2597 (caml_update_dummy):
2602 (caml_greaterequal):
2605 (caml_get_public_method):
2606 (caml_parse_engine):
2607 (caml_set_parser_trace):
2608 (js_string_of_char):
2610 (caml_create_string):
2611 (caml_string_compare):
2617 (caml_string_of_char_array):
2618 (caml_is_printable):
2619 (caml_string_get16):
2620 (caml_string_get32):
2692 (mutability.get if):
2700 (import_kind.get if):
2707 (export_kind.get if):
2734 (encode.patch_gap32):
2735 (encode.value_type):
2736 (encode.stack_type):
2739 (encode.table_type):
2740 (encode.memory_type):
2741 (encode.global_type):
2747 (encode.type_section):
2749 (encode.import_section):
2751 (encode.func_section):
2753 (encode.table_section):
2755 (encode.memory_section):
2757 (encode.global_section):
2758 (encode.export_kind):
2760 (encode.export_section):
2761 (encode.start_section):
2766 (encode.code_section):
2768 (encode.table_segment):
2769 (encode.elem_section):
2770 (encode.memory_segment):
2775 (print_nan_significand_digits):
2779 (Make.canonicalize_nan):
2780 (Make.determine_binary_nan):
2781 (Make.determine_unary_nan):
2804 (Make.of_signless_string):
2815 (pp_force_break_line):
2821 (enqueue_string_as):
2828 (pp_set_print_tags):
2830 (pp_get_print_tags):
2833 (pp_get_formatter_tag_functions):
2834 (pp_set_formatter_tag_functions):
2850 (pp_print_if_newline):
2864 (pp_over_max_boxes):
2865 (pp_get_ellipsis_text):
2867 (pp_set_max_indent):
2868 (pp_get_max_indent):
2871 (pp_set_formatter_out_functions):
2872 (pp_get_formatter_out_functions):
2873 (pp_set_formatter_output_functions):
2874 (pp_get_formatter_output_functions):
2875 (pp_set_all_formatter_output_functions):
2876 (pp_get_all_formatter_output_functions):
2883 (pp_set_formatter_out_channel):
2884 (default_pp_mark_open_tag):
2885 (default_pp_mark_close_tag):
2886 (default_pp_print_open_tag):
2887 (default_pp_print_close_tag):
2888 (pp_make_formatter):
2892 (formatter_of_out_channel):
2893 (formatter_of_buffer):
2894 (flush_str_formatter):
2895 (flush_buf_formatter):
2927 (set_ellipsis_text):
2928 (get_ellipsis_text):
2929 (set_formatter_out_channel):
2930 (set_formatter_out_functions):
2931 (get_formatter_out_functions):
2932 (set_formatter_output_functions):
2933 (get_formatter_output_functions):
2934 (set_all_formatter_output_functions):
2935 (get_all_formatter_output_functions):
2936 (set_formatter_tag_functions):
2937 (get_formatter_tag_functions):
2944 (output_formatting_lit):
2972 (Make.clamp_rotate_count):
3000 (token.else.switch):
3001 (token.else.switch.):
3003 (__ocaml_lex_comment_rec):
3013 (sub_lexeme_char_opt):
3074 (Make.remove_min_binding):
3082 (Make.add_min_binding):
3083 (Make.add_max_binding):
3086 (Make.concat_or_join):
3095 (Make.bindings_aux):
3149 (positions_to_region):
3179 (current_lookahead_fun):
3180 (catch.else.current_lookahead_fun.0):
3191 (is_current_lookahead):
3201 (valid_float_lexem):
3219 (unsafe_really_input):
3221 (really_input_string):
3222 (input_line.build_result):
3240 (at_exit.exit_function.0):
3244 (output_binary_int):
3247 (out_channel_length):
3248 (set_binary_mode_out):
3253 (in_channel_length):
3255 (set_binary_mode_in):
3268 (escaped.needs_escape):
3272 (string_of_value_type):
3273 (string_of_value_types):
3274 (string_of_elem_type):
3276 (string_of_table_type):
3277 (string_of_global_type):
3278 (string_of_stack_type):
3279 (string_of_func_type):
3289 * wasm/spec-tests/address.wast.js:
3290 (register): Deleted.
3292 (instance): Deleted.
3293 (assert_malformed): Deleted.
3294 (assert_invalid): Deleted.
3295 (assert_soft_invalid): Deleted.
3296 (assert_unlinkable): Deleted.
3297 (assert_uninstantiable): Deleted.
3298 (assert_trap): Deleted.
3299 (assert_return): Deleted.
3300 (assert_return_nan): Deleted.
3301 * wasm/spec-tests/binary.wast.js:
3302 (register): Deleted.
3304 (instance): Deleted.
3305 (assert_malformed): Deleted.
3306 (assert_invalid): Deleted.
3307 (assert_soft_invalid): Deleted.
3308 (assert_unlinkable): Deleted.
3309 (assert_uninstantiable): Deleted.
3310 (assert_trap): Deleted.
3311 (assert_return): Deleted.
3312 (assert_return_nan): Deleted.
3313 * wasm/spec-tests/block.wast.js:
3314 (register): Deleted.
3316 (instance): Deleted.
3317 (assert_malformed): Deleted.
3318 (assert_invalid): Deleted.
3319 (assert_soft_invalid): Deleted.
3320 (assert_unlinkable): Deleted.
3321 (assert_uninstantiable): Deleted.
3322 (assert_trap): Deleted.
3323 (assert_return): Deleted.
3324 (assert_return_nan): Deleted.
3325 * wasm/spec-tests/br.wast.js:
3326 (register): Deleted.
3328 (instance): Deleted.
3329 (assert_malformed): Deleted.
3330 (assert_invalid): Deleted.
3331 (assert_soft_invalid): Deleted.
3332 (assert_unlinkable): Deleted.
3333 (assert_uninstantiable): Deleted.
3334 (assert_trap): Deleted.
3335 (assert_return): Deleted.
3336 (assert_return_nan): Deleted.
3337 * wasm/spec-tests/br_if.wast.js:
3338 (register): Deleted.
3340 (instance): Deleted.
3341 (assert_malformed): Deleted.
3342 (assert_invalid): Deleted.
3343 (assert_soft_invalid): Deleted.
3344 (assert_unlinkable): Deleted.
3345 (assert_uninstantiable): Deleted.
3346 (assert_trap): Deleted.
3347 (assert_return): Deleted.
3348 (assert_return_nan): Deleted.
3349 * wasm/spec-tests/br_table.wast.js:
3350 (register): Deleted.
3352 (instance): Deleted.
3353 (assert_malformed): Deleted.
3354 (assert_invalid): Deleted.
3355 (assert_soft_invalid): Deleted.
3356 (assert_unlinkable): Deleted.
3357 (assert_uninstantiable): Deleted.
3358 (assert_trap): Deleted.
3359 (assert_return): Deleted.
3360 (assert_return_nan): Deleted.
3361 * wasm/spec-tests/break-drop.wast.js:
3362 (register): Deleted.
3364 (instance): Deleted.
3365 (assert_malformed): Deleted.
3366 (assert_invalid): Deleted.
3367 (assert_soft_invalid): Deleted.
3368 (assert_unlinkable): Deleted.
3369 (assert_uninstantiable): Deleted.
3370 (assert_trap): Deleted.
3371 (assert_return): Deleted.
3372 (assert_return_nan): Deleted.
3373 * wasm/spec-tests/call.wast.js:
3374 (register): Deleted.
3376 (instance): Deleted.
3377 (assert_malformed): Deleted.
3378 (assert_invalid): Deleted.
3379 (assert_soft_invalid): Deleted.
3380 (assert_unlinkable): Deleted.
3381 (assert_uninstantiable): Deleted.
3382 (assert_trap): Deleted.
3383 (assert_return): Deleted.
3384 (assert_return_nan): Deleted.
3385 * wasm/spec-tests/call_indirect.wast.js:
3386 (register): Deleted.
3388 (instance): Deleted.
3389 (assert_malformed): Deleted.
3390 (assert_invalid): Deleted.
3391 (assert_soft_invalid): Deleted.
3392 (assert_unlinkable): Deleted.
3393 (assert_uninstantiable): Deleted.
3394 (assert_trap): Deleted.
3395 (assert_return): Deleted.
3396 (assert_return_nan): Deleted.
3397 * wasm/spec-tests/comments.wast.js:
3398 (register): Deleted.
3400 (instance): Deleted.
3401 (assert_malformed): Deleted.
3402 (assert_invalid): Deleted.
3403 (assert_soft_invalid): Deleted.
3404 (assert_unlinkable): Deleted.
3405 (assert_uninstantiable): Deleted.
3406 (assert_trap): Deleted.
3407 (assert_return): Deleted.
3408 (assert_return_nan): Deleted.
3409 * wasm/spec-tests/conversions.wast.js:
3410 (register): Deleted.
3412 (instance): Deleted.
3413 (assert_malformed): Deleted.
3414 (assert_invalid): Deleted.
3415 (assert_soft_invalid): Deleted.
3416 (assert_unlinkable): Deleted.
3417 (assert_uninstantiable): Deleted.
3418 (assert_trap): Deleted.
3419 (assert_return): Deleted.
3420 (assert_return_nan): Deleted.
3421 * wasm/spec-tests/custom_section.wast.js:
3422 (register): Deleted.
3424 (instance): Deleted.
3425 (assert_malformed): Deleted.
3426 (assert_invalid): Deleted.
3427 (assert_soft_invalid): Deleted.
3428 (assert_unlinkable): Deleted.
3429 (assert_uninstantiable): Deleted.
3430 (assert_trap): Deleted.
3431 (assert_return): Deleted.
3432 (assert_return_nan): Deleted.
3433 * wasm/spec-tests/endianness.wast.js:
3434 (register): Deleted.
3436 (instance): Deleted.
3437 (assert_malformed): Deleted.
3438 (assert_invalid): Deleted.
3439 (assert_soft_invalid): Deleted.
3440 (assert_unlinkable): Deleted.
3441 (assert_uninstantiable): Deleted.
3442 (assert_trap): Deleted.
3443 (assert_return): Deleted.
3444 (assert_return_nan): Deleted.
3445 * wasm/spec-tests/exports.wast.js:
3446 (register): Deleted.
3448 (instance): Deleted.
3449 (assert_malformed): Deleted.
3450 (assert_invalid): Deleted.
3451 (assert_soft_invalid): Deleted.
3452 (assert_unlinkable): Deleted.
3453 (assert_uninstantiable): Deleted.
3454 (assert_trap): Deleted.
3455 (assert_return): Deleted.
3456 (assert_return_nan): Deleted.
3457 * wasm/spec-tests/f32.wast.js: Removed.
3458 * wasm/spec-tests/f32_cmp.wast.js:
3459 (register): Deleted.
3461 (instance): Deleted.
3462 (assert_malformed): Deleted.
3463 (assert_invalid): Deleted.
3464 (assert_soft_invalid): Deleted.
3465 (assert_unlinkable): Deleted.
3466 (assert_uninstantiable): Deleted.
3467 (assert_trap): Deleted.
3468 (assert_return): Deleted.
3469 (assert_return_nan): Deleted.
3470 * wasm/spec-tests/f64.wast.js: Removed.
3471 * wasm/spec-tests/f64_cmp.wast.js:
3472 (register): Deleted.
3474 (instance): Deleted.
3475 (assert_malformed): Deleted.
3476 (assert_invalid): Deleted.
3477 (assert_soft_invalid): Deleted.
3478 (assert_unlinkable): Deleted.
3479 (assert_uninstantiable): Deleted.
3480 (assert_trap): Deleted.
3481 (assert_return): Deleted.
3482 (assert_return_nan): Deleted.
3483 * wasm/spec-tests/fac.wast.js:
3484 (register): Deleted.
3486 (instance): Deleted.
3487 (assert_malformed): Deleted.
3488 (assert_invalid): Deleted.
3489 (assert_soft_invalid): Deleted.
3490 (assert_unlinkable): Deleted.
3491 (assert_uninstantiable): Deleted.
3492 (assert_trap): Deleted.
3493 (assert_return): Deleted.
3494 (assert_return_nan): Deleted.
3495 * wasm/spec-tests/float_exprs.wast.js: Removed.
3496 * wasm/spec-tests/float_literals.wast.js:
3497 (register): Deleted.
3499 (instance): Deleted.
3500 (assert_malformed): Deleted.
3501 (assert_invalid): Deleted.
3502 (assert_soft_invalid): Deleted.
3503 (assert_unlinkable): Deleted.
3504 (assert_uninstantiable): Deleted.
3505 (assert_trap): Deleted.
3506 (assert_return): Deleted.
3507 (assert_return_nan): Deleted.
3508 * wasm/spec-tests/float_memory.wast.js:
3509 (register): Deleted.
3511 (instance): Deleted.
3512 (assert_malformed): Deleted.
3513 (assert_invalid): Deleted.
3514 (assert_soft_invalid): Deleted.
3515 (assert_unlinkable): Deleted.
3516 (assert_uninstantiable): Deleted.
3517 (assert_trap): Deleted.
3518 (assert_return): Deleted.
3519 (assert_return_nan): Deleted.
3520 * wasm/spec-tests/float_misc.wast.js: Removed.
3521 * wasm/spec-tests/forward.wast.js:
3522 (register): Deleted.
3524 (instance): Deleted.
3525 (assert_malformed): Deleted.
3526 (assert_invalid): Deleted.
3527 (assert_soft_invalid): Deleted.
3528 (assert_unlinkable): Deleted.
3529 (assert_uninstantiable): Deleted.
3530 (assert_trap): Deleted.
3531 (assert_return): Deleted.
3532 (assert_return_nan): Deleted.
3533 * wasm/spec-tests/func.wast.js:
3534 (register): Deleted.
3536 (instance): Deleted.
3537 (assert_malformed): Deleted.
3538 (assert_invalid): Deleted.
3539 (assert_soft_invalid): Deleted.
3540 (assert_unlinkable): Deleted.
3541 (assert_uninstantiable): Deleted.
3542 (assert_trap): Deleted.
3543 (assert_return): Deleted.
3544 (assert_return_nan): Deleted.
3545 * wasm/spec-tests/func_ptrs.wast.js:
3546 (register): Deleted.
3548 (instance): Deleted.
3549 (assert_malformed): Deleted.
3550 (assert_invalid): Deleted.
3551 (assert_soft_invalid): Deleted.
3552 (assert_unlinkable): Deleted.
3553 (assert_uninstantiable): Deleted.
3554 (assert_trap): Deleted.
3555 (assert_return): Deleted.
3556 (assert_return_nan): Deleted.
3557 * wasm/spec-tests/get_local.wast.js:
3558 (register): Deleted.
3560 (instance): Deleted.
3561 (assert_malformed): Deleted.
3562 (assert_invalid): Deleted.
3563 (assert_soft_invalid): Deleted.
3564 (assert_unlinkable): Deleted.
3565 (assert_uninstantiable): Deleted.
3566 (assert_trap): Deleted.
3567 (assert_return): Deleted.
3568 (assert_return_nan): Deleted.
3569 * wasm/spec-tests/globals.wast.js:
3570 (register): Deleted.
3572 (instance): Deleted.
3573 (assert_malformed): Deleted.
3574 (assert_invalid): Deleted.
3575 (assert_soft_invalid): Deleted.
3576 (assert_unlinkable): Deleted.
3577 (assert_uninstantiable): Deleted.
3578 (assert_trap): Deleted.
3579 (assert_return): Deleted.
3580 (assert_return_nan): Deleted.
3581 * wasm/spec-tests/i32.wast.js:
3582 (register): Deleted.
3584 (instance): Deleted.
3585 (assert_malformed): Deleted.
3586 (assert_invalid): Deleted.
3587 (assert_soft_invalid): Deleted.
3588 (assert_unlinkable): Deleted.
3589 (assert_uninstantiable): Deleted.
3590 (assert_trap): Deleted.
3591 (assert_return): Deleted.
3592 (assert_return_nan): Deleted.
3593 * wasm/spec-tests/i64.wast.js:
3594 (register): Deleted.
3596 (instance): Deleted.
3597 (assert_malformed): Deleted.
3598 (assert_invalid): Deleted.
3599 (assert_soft_invalid): Deleted.
3600 (assert_unlinkable): Deleted.
3601 (assert_uninstantiable): Deleted.
3602 (assert_trap): Deleted.
3603 (assert_return): Deleted.
3604 (assert_return_nan): Deleted.
3605 * wasm/spec-tests/if.wast.js: Added.
3606 * wasm/spec-tests/imports.wast.js:
3607 (register): Deleted.
3609 (instance): Deleted.
3610 (assert_malformed): Deleted.
3611 (assert_invalid): Deleted.
3612 (assert_soft_invalid): Deleted.
3613 (assert_unlinkable): Deleted.
3614 (assert_uninstantiable): Deleted.
3615 (assert_trap): Deleted.
3616 (assert_return): Deleted.
3617 (assert_return_nan): Deleted.
3618 * wasm/spec-tests/int_exprs.wast.js:
3619 (register): Deleted.
3621 (instance): Deleted.
3622 (assert_malformed): Deleted.
3623 (assert_invalid): Deleted.
3624 (assert_soft_invalid): Deleted.
3625 (assert_unlinkable): Deleted.
3626 (assert_uninstantiable): Deleted.
3627 (assert_trap): Deleted.
3628 (assert_return): Deleted.
3629 (assert_return_nan): Deleted.
3630 * wasm/spec-tests/int_literals.wast.js:
3631 (register): Deleted.
3633 (instance): Deleted.
3634 (assert_malformed): Deleted.
3635 (assert_invalid): Deleted.
3636 (assert_soft_invalid): Deleted.
3637 (assert_unlinkable): Deleted.
3638 (assert_uninstantiable): Deleted.
3639 (assert_trap): Deleted.
3640 (assert_return): Deleted.
3641 (assert_return_nan): Deleted.
3642 * wasm/spec-tests/jsapi.js: Added.
3643 (testJSAPI.get test):
3645 (testJSAPI.set test):
3646 (testJSAPI.assertCompileError):
3647 (testJSAPI.assertCompileSuccess):
3649 * wasm/spec-tests/labels.wast.js: Added.
3650 * wasm/spec-tests/left-to-right.wast.js:
3651 (register): Deleted.
3653 (instance): Deleted.
3654 (assert_malformed): Deleted.
3655 (assert_invalid): Deleted.
3656 (assert_soft_invalid): Deleted.
3657 (assert_unlinkable): Deleted.
3658 (assert_uninstantiable): Deleted.
3659 (assert_trap): Deleted.
3660 (assert_return): Deleted.
3661 (assert_return_nan): Deleted.
3662 * wasm/spec-tests/linking.wast.js:
3663 (register): Deleted.
3665 (instance): Deleted.
3666 (assert_malformed): Deleted.
3667 (assert_invalid): Deleted.
3668 (assert_soft_invalid): Deleted.
3669 (assert_unlinkable): Deleted.
3670 (assert_uninstantiable): Deleted.
3671 (assert_trap): Deleted.
3672 (assert_return): Deleted.
3673 (assert_return_nan): Deleted.
3674 * wasm/spec-tests/loop.wast.js:
3675 (register): Deleted.
3677 (instance): Deleted.
3678 (assert_malformed): Deleted.
3679 (assert_invalid): Deleted.
3680 (assert_soft_invalid): Deleted.
3681 (assert_unlinkable): Deleted.
3682 (assert_uninstantiable): Deleted.
3683 (assert_trap): Deleted.
3684 (assert_return): Deleted.
3685 (assert_return_nan): Deleted.
3686 * wasm/spec-tests/memory.wast.js:
3687 (register): Deleted.
3689 (instance): Deleted.
3690 (assert_malformed): Deleted.
3691 (assert_invalid): Deleted.
3692 (assert_soft_invalid): Deleted.
3693 (assert_unlinkable): Deleted.
3694 (assert_uninstantiable): Deleted.
3695 (assert_trap): Deleted.
3696 (assert_return): Deleted.
3697 (assert_return_nan): Deleted.
3698 * wasm/spec-tests/memory_redundancy.wast.js:
3699 (register): Deleted.
3701 (instance): Deleted.
3702 (assert_malformed): Deleted.
3703 (assert_invalid): Deleted.
3704 (assert_soft_invalid): Deleted.
3705 (assert_unlinkable): Deleted.
3706 (assert_uninstantiable): Deleted.
3707 (assert_trap): Deleted.
3708 (assert_return): Deleted.
3709 (assert_return_nan): Deleted.
3710 * wasm/spec-tests/memory_trap.wast.js: Removed.
3711 * wasm/spec-tests/names.wast.js:
3712 (register): Deleted.
3714 (instance): Deleted.
3715 (assert_malformed): Deleted.
3716 (assert_invalid): Deleted.
3717 (assert_soft_invalid): Deleted.
3718 (assert_unlinkable): Deleted.
3719 (assert_uninstantiable): Deleted.
3720 (assert_trap): Deleted.
3721 (assert_return): Deleted.
3722 (assert_return_nan): Deleted.
3723 * wasm/spec-tests/nop.wast.js:
3724 (register): Deleted.
3726 (instance): Deleted.
3727 (assert_malformed): Deleted.
3728 (assert_invalid): Deleted.
3729 (assert_soft_invalid): Deleted.
3730 (assert_unlinkable): Deleted.
3731 (assert_uninstantiable): Deleted.
3732 (assert_trap): Deleted.
3733 (assert_return): Deleted.
3734 (assert_return_nan): Deleted.
3735 * wasm/spec-tests/resizing.wast.js:
3736 (register): Deleted.
3738 (instance): Deleted.
3739 (assert_malformed): Deleted.
3740 (assert_invalid): Deleted.
3741 (assert_soft_invalid): Deleted.
3742 (assert_unlinkable): Deleted.
3743 (assert_uninstantiable): Deleted.
3744 (assert_trap): Deleted.
3745 (assert_return): Deleted.
3746 (assert_return_nan): Deleted.
3747 * wasm/spec-tests/return.wast.js:
3748 (register): Deleted.
3750 (instance): Deleted.
3751 (assert_malformed): Deleted.
3752 (assert_invalid): Deleted.
3753 (assert_soft_invalid): Deleted.
3754 (assert_unlinkable): Deleted.
3755 (assert_uninstantiable): Deleted.
3756 (assert_trap): Deleted.
3757 (assert_return): Deleted.
3758 (assert_return_nan): Deleted.
3759 * wasm/spec-tests/select.wast.js:
3760 (register): Deleted.
3762 (instance): Deleted.
3763 (assert_malformed): Deleted.
3764 (assert_invalid): Deleted.
3765 (assert_soft_invalid): Deleted.
3766 (assert_unlinkable): Deleted.
3767 (assert_uninstantiable): Deleted.
3768 (assert_trap): Deleted.
3769 (assert_return): Deleted.
3770 (assert_return_nan): Deleted.
3771 * wasm/spec-tests/set_local.wast.js:
3772 (register): Deleted.
3774 (instance): Deleted.
3775 (assert_malformed): Deleted.
3776 (assert_invalid): Deleted.
3777 (assert_soft_invalid): Deleted.
3778 (assert_unlinkable): Deleted.
3779 (assert_uninstantiable): Deleted.
3780 (assert_trap): Deleted.
3781 (assert_return): Deleted.
3782 (assert_return_nan): Deleted.
3783 * wasm/spec-tests/skip-stack-guard-page.wast.js:
3784 (register): Deleted.
3786 (instance): Deleted.
3787 (assert_malformed): Deleted.
3788 (assert_invalid): Deleted.
3789 (assert_soft_invalid): Deleted.
3790 (assert_unlinkable): Deleted.
3791 (assert_uninstantiable): Deleted.
3792 (assert_trap): Deleted.
3793 (assert_return): Deleted.
3794 (assert_return_nan): Deleted.
3795 * wasm/spec-tests/stack.wast.js:
3796 (register): Deleted.
3798 (instance): Deleted.
3799 (assert_malformed): Deleted.
3800 (assert_invalid): Deleted.
3801 (assert_soft_invalid): Deleted.
3802 (assert_unlinkable): Deleted.
3803 (assert_uninstantiable): Deleted.
3804 (assert_trap): Deleted.
3805 (assert_return): Deleted.
3806 (assert_return_nan): Deleted.
3807 * wasm/spec-tests/start.wast.js:
3808 (register): Deleted.
3810 (instance): Deleted.
3811 (assert_malformed): Deleted.
3812 (assert_invalid): Deleted.
3813 (assert_soft_invalid): Deleted.
3814 (assert_unlinkable): Deleted.
3815 (assert_uninstantiable): Deleted.
3816 (assert_trap): Deleted.
3817 (assert_return): Deleted.
3818 (assert_return_nan): Deleted.
3819 * wasm/spec-tests/store_retval.wast.js:
3820 (register): Deleted.
3822 (instance): Deleted.
3823 (assert_malformed): Deleted.
3824 (assert_invalid): Deleted.
3825 (assert_soft_invalid): Deleted.
3826 (assert_unlinkable): Deleted.
3827 (assert_uninstantiable): Deleted.
3828 (assert_trap): Deleted.
3829 (assert_return): Deleted.
3830 (assert_return_nan): Deleted.
3831 * wasm/spec-tests/switch.wast.js:
3832 (register): Deleted.
3834 (instance): Deleted.
3835 (assert_malformed): Deleted.
3836 (assert_invalid): Deleted.
3837 (assert_soft_invalid): Deleted.
3838 (assert_unlinkable): Deleted.
3839 (assert_uninstantiable): Deleted.
3840 (assert_trap): Deleted.
3841 (assert_return): Deleted.
3842 (assert_return_nan): Deleted.
3843 * wasm/spec-tests/tee_local.wast.js:
3844 (register): Deleted.
3846 (instance): Deleted.
3847 (assert_malformed): Deleted.
3848 (assert_invalid): Deleted.
3849 (assert_soft_invalid): Deleted.
3850 (assert_unlinkable): Deleted.
3851 (assert_uninstantiable): Deleted.
3852 (assert_trap): Deleted.
3853 (assert_return): Deleted.
3854 (assert_return_nan): Deleted.
3855 * wasm/spec-tests/traps.wast.js:
3856 (register): Deleted.
3858 (instance): Deleted.
3859 (assert_malformed): Deleted.
3860 (assert_invalid): Deleted.
3861 (assert_soft_invalid): Deleted.
3862 (assert_unlinkable): Deleted.
3863 (assert_uninstantiable): Deleted.
3864 (assert_trap): Deleted.
3865 (assert_return): Deleted.
3866 (assert_return_nan): Deleted.
3867 * wasm/spec-tests/typecheck.wast.js:
3868 (register): Deleted.
3870 (instance): Deleted.
3871 (assert_malformed): Deleted.
3872 (assert_invalid): Deleted.
3873 (assert_soft_invalid): Deleted.
3874 (assert_unlinkable): Deleted.
3875 (assert_uninstantiable): Deleted.
3876 (assert_trap): Deleted.
3877 (assert_return): Deleted.
3878 (assert_return_nan): Deleted.
3879 * wasm/spec-tests/unreachable.wast.js:
3880 (register): Deleted.
3882 (instance): Deleted.
3883 (assert_malformed): Deleted.
3884 (assert_invalid): Deleted.
3885 (assert_soft_invalid): Deleted.
3886 (assert_unlinkable): Deleted.
3887 (assert_uninstantiable): Deleted.
3888 (assert_trap): Deleted.
3889 (assert_return): Deleted.
3890 (assert_return_nan): Deleted.
3891 * wasm/spec-tests/unreached-invalid.wast.js: Added.
3892 * wasm/spec-tests/unwind.wast.js:
3893 (register): Deleted.
3895 (instance): Deleted.
3896 (assert_malformed): Deleted.
3897 (assert_invalid): Deleted.
3898 (assert_soft_invalid): Deleted.
3899 (assert_unlinkable): Deleted.
3900 (assert_uninstantiable): Deleted.
3901 (assert_trap): Deleted.
3902 (assert_return): Deleted.
3903 (assert_return_nan): Deleted.
3905 2017-04-01 Oleksandr Skachkov <gskachkov@gmail.com>
3907 Object with numerical keys with gaps gets filled by NaN values
3908 https://bugs.webkit.org/show_bug.cgi?id=164412
3910 Reviewed by Merk Lam.
3912 * stress/object-number-properties.js: Added.
3916 2017-03-30 Michael Saboff <msaboff@apple.com>
3918 Turning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it appears to always work
3919 https://bugs.webkit.org/show_bug.cgi?id=170313
3921 Reviewed by Saam Barati.
3923 Enable ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js as it seems solid.
3927 2017-03-30 Michael Saboff <msaboff@apple.com>
3929 Enable ChakraCore/Function/FuncBody.js test as it now works
3930 https://bugs.webkit.org/show_bug.cgi?id=170301
3932 Reviewed by Mark Lam.
3934 This test no longer crashes, so enable it and create a JSC specific
3938 * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: Added.
3940 2017-03-30 JF Bastien <jfbastien@apple.com>
3942 WebAssembly: fix misc JS API implementation inconsistencies
3943 https://bugs.webkit.org/show_bug.cgi?id=170187
3945 Reviewed by Keith Miller.
3947 Verify that WebAssembly function are on the object's __proto__.
3949 * wasm/js-api/Module-compile.js:
3950 * wasm/js-api/validate.js:
3951 * wasm/js-api/web-assembly-instantiate.js:
3953 2017-03-29 JF Bastien <jfbastien@apple.com>
3955 WebAssembly: add shell-only Memory mode helper
3956 https://bugs.webkit.org/show_bug.cgi?id=170227
3958 Reviewed by Mark Lam.
3960 * wasm/assert.js: fix a prior debug thing I forgot to remove
3961 * wasm/function-tests/memory-section-and-import.js: the assert
3962 issue was hiding a failure in error message here
3963 * wasm/js-api/element.js: the assert issue was hiding a failure in
3965 (badInstantiation.test):
3967 * wasm/js-api/extension-MemoryMode.js: Added.
3968 (const.validateMode.what.switch):
3971 (testInstanceNoMemory):
3972 (testInstanceNoMax):
3974 * wasm/js-api/test_memory.js: the assert issue was hiding a
3975 failure in error message here
3978 2017-03-28 Keith Miller <keith_miller@apple.com>
3980 WebAssembly: Make WebAssembly.instantiate/compile truly asynchronous
3981 https://bugs.webkit.org/show_bug.cgi?id=169187
3983 Reviewed by Saam Barati.
3986 * wasm/js-api/Module-compile.js:
3987 (async.testPromiseAPI):
3988 * wasm/js-api/web-assembly-compile-parallel.js: Added.
3991 * wasm/js-api/web-assembly-instantiate-parallel.js: Added.
3993 * wasm/js-api/web-assembly-instantiate.js:
3994 (assert.eq.async.test):
3996 (assert.asyncTest.async.test):
3998 (assert.truthy.async.test): Deleted.
3999 (assert.truthy): Deleted.
4001 2017-03-28 JF Bastien <jfbastien@apple.com>
4003 WebAssembly: implement Module imports/exports
4004 https://bugs.webkit.org/show_bug.cgi?id=166982
4006 Reviewed by Saam Barati.
4008 * wasm/js-api/Module.exports.js: Added.
4009 (assert.throws.WebAssembly.Module.prototype.exports):
4011 * wasm/js-api/Module.imports.js: Added.
4012 (assert.throws.WebAssembly.Module.prototype.imports):
4015 2017-03-27 JF Bastien <jfbastien@apple.com>
4017 WebAssembly: misc memory testing
4018 https://bugs.webkit.org/show_bug.cgi?id=170137
4020 Reviewed by Keith Miller.
4022 * wasm/assert.js: handle newlines in code we print out, avoid regex
4023 * wasm/function-tests/memory-import-and-grow.js: Added.
4024 (const.instantiate):
4026 * wasm/function-tests/memory-section-and-import.js: Added.
4027 (const.instantiate):
4029 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
4031 [JSC] Use jsNontrivialString agressively for ToString(Int52)
4032 https://bugs.webkit.org/show_bug.cgi?id=170002
4034 Reviewed by Sam Weinig.
4036 * stress/to-string-int52.js: Added.
4041 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com>
4043 [JSC][DFG] Make addShouldSpeculateAnyInt more conservative to avoid regression caused by Double <-> Int52 conversions
4044 https://bugs.webkit.org/show_bug.cgi?id=169998
4046 Reviewed by Saam Barati.
4048 * microbenchmarks/int52-back-and-forth.js: Added.
4052 2017-03-23 Mark Lam <mark.lam@apple.com>
4054 Clients of JSArray::tryCreateForInitializationPrivate() should do their own null checks.
4055 https://bugs.webkit.org/show_bug.cgi?id=169783
4057 Reviewed by Saam Barati.
4059 * stress/regress-169783.js: Added.
4061 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
4063 [JSC][DFG] Propagate AnyIntAsDouble information carefully to utilize it in fixup
4064 https://bugs.webkit.org/show_bug.cgi?id=169914
4066 Reviewed by Saam Barati.
4068 * stress/any-int-as-double-add.js: Added.
4071 * stress/to-this-numbers.js: Added.
4073 (Number.prototype.toThis):
4075 2017-03-22 Mark Lam <mark.lam@apple.com>
4077 Add support for Error.stackTraceLimit.
4078 https://bugs.webkit.org/show_bug.cgi?id=169904
4080 Reviewed by Saam Barati.
4082 * stress/error-stack-trace-limit.js: Added.
4084 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com>
4086 [JSC] Use jsNontrivialString for Number toString operations
4087 https://bugs.webkit.org/show_bug.cgi?id=169965
4089 Reviewed by Mark Lam.
4091 * stress/to-string-int32.js: Added.
4096 2017-03-22 JF Bastien <jfbastien@apple.com>
4098 WebAssembly: test module namespace object for WebAssembly.Instance
4099 https://bugs.webkit.org/show_bug.cgi?id=169951
4101 Reviewed by Saam Barati.
4103 * wasm/js-api/test_basic_api.js:
4104 (const.c.in.constructorProperties.switch):
4106 2017-03-22 JF Bastien <jfbastien@apple.com>
4108 WebAssembly: constructors without new don't throw
4109 https://bugs.webkit.org/show_bug.cgi?id=165995
4111 Reviewed by Saam Barati.
4113 * wasm/js-api/test_basic_api.js:
4114 (const.c.in.constructorProperties.switch):
4116 2017-03-21 Yusuke Suzuki <utatane.tea@gmail.com>
4118 [JSC] Optimize Number.prototype.toString on Int32 / Int52 / Double
4119 https://bugs.webkit.org/show_bug.cgi?id=167454
4121 Reviewed by Saam Barati.
4123 * stress/number-to-string-abstract-operation.js: Added.
4126 (shouldBe.int32ToString.new.Number.int52ToString):
4127 (shouldBe.int32ToString.new.Number):
4128 (shouldBe.doubleToString):
4129 * stress/number-to-string-radix.js: Added.
4132 (shouldBe.int32ToString.new.Number.int52ToString):
4133 (shouldBe.int32ToString.new.Number):
4134 (shouldBe.doubleToString):
4135 * stress/number-to-string.js: Added.
4138 (shouldBe.int32ToString.new.Number.int52ToString):
4139 (shouldBe.int32ToString.new.Number):
4140 (shouldBe.doubleToString):
4142 2017-03-19 Chris Dumez <cdumez@apple.com>
4144 `const location = "foo"` throws in a worker
4145 https://bugs.webkit.org/show_bug.cgi?id=169839
4147 Reviewed by Mark Lam.
4149 * ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.baseline-jsc:
4150 Update expected jsc result now that we throw a SyntaxError when trying to shadow undefined
4151 with a let variable. We used not to throw because the value is undefined but this was not
4152 as per EcmaScript. Both Firefox and Chrome throw in this case.
4154 * stress/global-lexical-redeclare-variable.js:
4156 Update test that defines a non-configurable 'zoo' property on the global object and then
4157 expected shadowing it with a 'let zoo' variable to work because its value was undefined.
4158 This was not as per EcmaScript spec and both Firefox and Chrome throw in this case.
4160 2017-03-19 Yusuke Suzuki <utatane.tea@gmail.com>
4162 import(arg) crashes when ToString(arg) throws
4163 https://bugs.webkit.org/show_bug.cgi?id=169778
4165 Reviewed by Saam Barati.
4167 * stress/import-reject-with-exception.js: Added.
4169 (let.x.get toString):
4171 2017-03-16 Filip Pizlo <fpizlo@apple.com>
4173 FTL should support global and eval code
4174 https://bugs.webkit.org/show_bug.cgi?id=169656
4176 Reviewed by Geoffrey Garen and Saam Barati.
4178 Added basic performance tests of global and eval code. These tests will run a lot faster in with
4179 the FTL because of the object allocation.
4181 * microbenchmarks/eval-code-ftl-reentry.js: Added.
4182 * microbenchmarks/eval-code-ftl.js: Added.
4183 * microbenchmarks/global-code-ftl.js: Added.
4184 * stress/arith-log-on-various-types.js: This was a flaky fail with concurrent JIT, so I stopped running it with concurrent JIT. The failure was its assertion about how many times something gets compiled.
4186 2017-03-16 Caio Lima <ticaiolima@gmail.com>
4188 [ESnext] Implement Object Spread
4189 https://bugs.webkit.org/show_bug.cgi?id=167963
4191 Reviewed by Yusuke Suzuki.
4193 * stress/object-spread.js: Added.
4202 (try.let.obj.get foo):
4205 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
4207 [JSC] Default parameter part should be retrieved by op_get_argument opcode instead of changing arity
4208 https://bugs.webkit.org/show_bug.cgi?id=164582
4210 Reviewed by Saam Barati.
4212 * stress/function-with-defaults-inlining.js: Added.
4216 * stress/function-with-defaults-non-inlining.js: Added.
4221 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com>
4223 [DFG] ToString operation should have fixup for primitives to say this node does not have side effects
4224 https://bugs.webkit.org/show_bug.cgi?id=169544
4226 Reviewed by Saam Barati.
4228 * microbenchmarks/template-string-array.js: Added.
4230 * stress/to-string-non-cell-use.js: Added.
4234 2017-03-13 Commit Queue <commit-queue@webkit.org>
4236 Unreviewed, rolling out r213856.
4237 https://bugs.webkit.org/show_bug.cgi?id=169562
4239 Breaks JSC stress test stress/super-property-access.js.ftl-
4240 eager failing (Requested by mlam|g on #webkit).
4244 "FTL should not flush strict arguments unless it really needs
4246 https://bugs.webkit.org/show_bug.cgi?id=169519
4247 http://trac.webkit.org/changeset/213856
4249 2017-03-11 Filip Pizlo <fpizlo@apple.com>
4251 FTL should not flush strict arguments unless it really needs to
4252 https://bugs.webkit.org/show_bug.cgi?id=169519
4254 Reviewed by Mark Lam.
4256 This benchmark runs 3.5x faster thanks to this patch.
4258 * microbenchmarks/strict-arguments-no-escape.js: Added.
4263 2017-03-13 Caio Lima <ticaiolima@gmail.com>
4265 [JSC] It should be possible create a label named let when parsing Statement in non strict mode
4266 https://bugs.webkit.org/show_bug.cgi?id=168684
4268 Reviewed by Saam Barati.
4270 * ChakraCore/test/LetConst/DeclOutofBlock.baseline-jsc:
4272 2017-03-10 Saam Barati <sbarati@apple.com>
4274 WebAssembly: Make more demos run
4275 https://bugs.webkit.org/show_bug.cgi?id=165510
4276 <rdar://problem/29760310>
4278 Reviewed by Keith Miller.
4281 (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
4282 * wasm/js-api/wrapper-function.js: Added.
4284 (return.new.WebAssembly.Module):
4285 (assert.throws.makeInstance):
4286 (assert.throws.Bar):
4289 2017-03-10 Mark Lam <mark.lam@apple.com>
4291 JSC: BindingNode::bindValue doesn't increase the scope's reference count.
4292 https://bugs.webkit.org/show_bug.cgi?id=168546
4293 <rdar://problem/30589551>
4295 Reviewed by Saam Barati.
4297 * stress/regress-168546.js: Added.
4299 2017-03-09 Caio Lima <ticaiolima@gmail.com>
4301 [ESnext] Implement Object Rest - Implementing Object Rest Destructuring
4302 https://bugs.webkit.org/show_bug.cgi?id=167962
4304 Reviewed by Keith Miller.
4306 * stress/object-rest-deconstruct.js: Added.
4308 (let.assertPropDescriptor):
4316 2017-03-09 Saam Barati <sbarati@apple.com>
4318 WebAssembly: Make the Unity AngryBots demo run
4319 https://bugs.webkit.org/show_bug.cgi?id=169268
4321 Reviewed by Keith Miller.
4323 * wasm/function-tests/many-arguments-to-function.js: Added.
4324 (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.I32Const.0.I32Const.1.I32Const.2.I32Const.3.I32Const.4.I32Const.5.I32Const.6.I32Const.7.I32Const.8.I32Const.9.I32Const.10.I32Const.11.I32Const.12.I32Const.13.I32Const.14.I32Const.15.I32Const.16.I32Const.17.Call.0.Return.End.End.foo):
4325 (i.instance.exports.f0.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.Call.Return.End.End.foo):
4326 (i.instance.exports.f0):
4327 (instance.exports.f0.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.Call.Return.End.End.foo):
4328 (instance.exports.f0):
4330 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com>
4332 [GTK] JSC test stress/arity-check-ftl-throw.js.ftl-no-cjit-validate-sampling-profiler crashing on GTK bot
4333 https://bugs.webkit.org/show_bug.cgi?id=160124
4335 Reviewed by Mark Lam.
4337 * stress/spread-forward-call-varargs-stack-overflow.js:
4339 2017-03-06 Saam Barati <sbarati@apple.com>
4341 WebAssembly: Implement the WebAssembly.instantiate API
4342 https://bugs.webkit.org/show_bug.cgi?id=165982
4343 <rdar://problem/29760110>
4345 Reviewed by Keith Miller.
4347 * wasm/js-api/web-assembly-instantiate.js: Added.
4348 (assert.eq.async.test):
4350 (assert.truthy.async.test):
4353 2017-03-06 Saam Barati <sbarati@apple.com>
4355 Unreviewed. Fix test expected error message.
4357 * wasm/js-api/element.js:
4360 2017-03-06 Caio Lima <ticaiolima@gmail.com>
4362 op_get_by_id_with_this should use inline caching
4363 https://bugs.webkit.org/show_bug.cgi?id=162124
4365 Reviewed by Saam Barati.
4367 * microbenchmarks/super-getter.js: Added.
4368 (A.prototype.get f):
4370 (B.prototype.get f):
4372 * stress/super-force-ic-fail.js: Added.
4378 * stress/super-get-by-id.js: Added.
4381 (Base.prototype.get name):
4382 (Base.prototype.set name):
4383 (Subclass.prototype.get name):
4387 (PolymorphicSubclass.prototype.get value):
4388 (PolymorphicSubclass):
4391 (MegamorphicSubclass.prototype.get value):
4392 (MegamorphicSubclass):
4393 (let.subObj.get value):
4397 (BaseException.prototype.get name):
4398 (SubclassException.prototype.get name):
4399 (SubclassException):
4401 (prototype.get name):
4402 (SubclassExceptionComplex.prototype.get name):
4403 (SubclassExceptionComplex):
4404 * stress/super-getter-reset-ic.js: Added.
4408 2017-03-06 Saam Barati <sbarati@apple.com>
4410 WebAssembly: implement init_expr for Element
4411 https://bugs.webkit.org/show_bug.cgi?id=165888
4412 <rdar://problem/29760199>
4414 Reviewed by Keith Miller.
4416 * wasm/Builder_WebAssemblyBinary.js:
4417 (const.emitters.Element):
4419 * wasm/js-api/element.js:
4421 (badInstantiation.makeModule):
4422 (badInstantiation.test):
4424 * wasm/js-api/global-error.js:
4426 2017-03-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
4428 [JSC] [Linux] Test stress/spread-forward-call-varargs-stack-overflow.js fails
4429 https://bugs.webkit.org/show_bug.cgi?id=169206
4431 Unreviewed test gardening.
4433 * stress/spread-forward-call-varargs-stack-overflow.js: Skip on Linux platforms.
4435 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
4437 [JSC] Allow indexed module namespace object fields
4438 https://bugs.webkit.org/show_bug.cgi?id=168870
4440 Reviewed by Saam Barati.
4442 * wasm/spec-tests/names.wast.js:
4444 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
4446 Null pointer crash when loading module with unresolved import also as a script file
4447 https://bugs.webkit.org/show_bug.cgi?id=168971
4449 Reviewed by Saam Barati.
4451 * stress/re-execute-error-module.js: Added.
4454 * stress/resources/error-module.js: Added.
4456 2017-03-02 Keith Miller <keith_miller@apple.com>
4458 WebAssemblyFunction should have Function.prototype as its prototype
4459 https://bugs.webkit.org/show_bug.cgi?id=169101
4461 Reviewed by Filip Pizlo.
4463 * wasm/js-api/web-assembly-function.js: Added.
4465 2017-02-28 Oleksandr Skachkov <gskachkov@gmail.com>
4467 Use of arguments in arrow function is slow
4468 https://bugs.webkit.org/show_bug.cgi?id=168829
4470 Reviewed by Saam Barati.
4472 * microbenchmarks/arrowfunciton-direct-arguments.js: Added.
4474 * microbenchmarks/arrowfunciton-reference-arguments.js: Added.
4477 2017-02-27 Commit Queue <commit-queue@webkit.org>
4479 Unreviewed, rolling out r213019.
4480 https://bugs.webkit.org/show_bug.cgi?id=168925
4482 "It broke 32-bit jsc tests in debug builds" (Requested by
4483 saamyjoon on #webkit).
4487 "op_get_by_id_with_this should use inline caching"
4488 https://bugs.webkit.org/show_bug.cgi?id=162124
4489 http://trac.webkit.org/changeset/213019