1 2016-10-11 Mark Lam <mark.lam@apple.com>
3 Array.prototype.concat should not modify frozen objects.
4 https://bugs.webkit.org/show_bug.cgi?id=163302
6 Reviewed by Filip Pizlo.
8 * stress/array-concat-on-frozen-object.js: Added.
10 2016-10-11 Saam Barati <sbarati@apple.com>
12 ValueAdd should be constant folded if the operands are constant String,Primitive or Primitive,String
13 https://bugs.webkit.org/show_bug.cgi?id=163182
15 Reviewed by Filip Pizlo.
17 * microbenchmarks/string-add-constant-folding.js: Added.
23 2016-10-07 Mark Lam <mark.lam@apple.com>
25 Object.freeze() and seal() should throw if [[PreventExtensions]]() fails.
26 https://bugs.webkit.org/show_bug.cgi?id=163160
28 Reviewed by Saam Barati.
30 * stress/object-freeze-with-proxy-preventExtensions.js: Added.
31 * stress/object-seal-with-proxy-preventExtensions.js: Added.
33 2016-10-05 Yusuke Suzuki <utatane.tea@gmail.com>
35 [DOMJIT] Add initial CheckDOM and CallDOM implementations
36 https://bugs.webkit.org/show_bug.cgi?id=162941
38 Reviewed by Filip Pizlo.
40 * stress/domjit-getter-poly.js: Added.
43 * stress/domjit-getter-proto.js: Added.
46 * stress/domjit-getter-super-poly.js: Added.
49 * stress/domjit-getter.js: Added.
53 2016-10-04 Saam Barati <sbarati@apple.com>
55 String.prototype.toLowerCase should be a DFG/FTL intrinsic
56 https://bugs.webkit.org/show_bug.cgi?id=162887
58 Reviewed by Filip Pizlo and Yusuke Suzuki.
60 * microbenchmarks/to-lower-case.js: Added.
64 * stress/to-lower-case.js: Added.
68 2016-10-04 JF Bastien <jfbastien@apple.com>
70 WebAssembly: handle a few corner cases
71 https://bugs.webkit.org/show_bug.cgi?id=162884
73 Reviewed by Keith Miller.
75 * stress/wasm/generate-wasmops-header.js:
76 (const.opcodeIterator): max opcode value
78 2016-10-03 JF Bastien <jfbastien@apple.com>
80 Auto-generate WASMOps.h, share with testing JSON file
81 https://bugs.webkit.org/show_bug.cgi?id=162870
83 Reviewed by Keith Miller.
85 * stress/wasm/to-c++.js: Added. Generates WASMOps.h, siilar to the current one but with more data.
86 (const.opcode_iterator):
88 * stress/wasm/wasm.json: Added. Data from 0xC binary format version.
90 2016-10-03 Saam Barati <sbarati@apple.com>
92 MapHash should speculate on the type of its child node
93 https://bugs.webkit.org/show_bug.cgi?id=161922
95 Reviewed by Filip Pizlo.
97 * microbenchmarks/map-key-well-typed.js: Added.
109 2016-10-03 Yusuke Suzuki <utatane.tea@gmail.com>
111 [ES6] GeneratorFunction (a.k.a. GeneratorWrapperFunction)'s prototype object does not have constructor property
112 https://bugs.webkit.org/show_bug.cgi?id=162849
114 Reviewed by Geoffrey Garen.
118 2016-10-01 Yusuke Suzuki <utatane.tea@gmail.com>
120 [ES6] Align attributes of Generator related properties to spec
121 https://bugs.webkit.org/show_bug.cgi?id=162839
123 Reviewed by Saam Barati.
127 2016-10-01 Yusuke Suzuki <utatane.tea@gmail.com>
129 [ES6] GeneratorFunction constructor should instantiate generator function
130 https://bugs.webkit.org/show_bug.cgi?id=162838
132 Reviewed by Saam Barati.
134 * stress/generator-function-constructor-is-subclassible.js: Added.
138 * stress/generator-function-constructor.js:
141 2016-09-30 Saam Barati <sbarati@apple.com>
143 Arrow functions should not allow duplicate parameter names
144 https://bugs.webkit.org/show_bug.cgi?id=162741
146 Reviewed by Filip Pizlo.
150 2016-09-30 Saam Barati <sbarati@apple.com>
152 Make some microbenchmarks run for less time.
154 Rubber stamped by Filip Pizlo.
156 * microbenchmarks/bound-function-construction-performance.js:
158 * microbenchmarks/getter-richards-try-catch.js:
160 2016-09-29 Joseph Pecoraro <pecoraro@apple.com>
162 Arrow functions do not infer name from computed property but normal functions do
163 https://bugs.webkit.org/show_bug.cgi?id=162720
165 Reviewed by Saam Barati.
167 * stress/inferred-names.js:
169 2016-09-29 Mark Lam <mark.lam@apple.com>
171 Break some slow running tests into smaller bits so they don't time out.
172 https://bugs.webkit.org/show_bug.cgi?id=162743
174 Reviewed by Keith Miller.
176 The following tests have shown to be slow running:
185 These tests auto-generate permutations of values to apply to binary operations.
186 They also test the operations with 3 permutations of value types:
187 1. VarVar - both operands variables
188 2. VarConst - variable operand 1, constant / literal operand 2
189 3. ConstVar - constant / literal operand 1, variable operand 2
191 We can prevent these tests from timing out by breaking each up to only run 1 of
192 the 3 permutations of value types.
194 * stress/op_div-ConstVar.js: Added.
195 * stress/op_div-VarConst.js: Added.
196 * stress/op_div-VarVar.js: Copied from JSTests/stress/op_div.js.
197 (o1.valueOf): Deleted.
198 * stress/op_div.js: Removed.
199 * stress/op_lshift-ConstVar.js: Added.
200 * stress/op_lshift-VarConst.js: Added.
201 * stress/op_lshift-VarVar.js: Copied from JSTests/stress/op_lshift.js.
202 (o1.valueOf): Deleted.
203 * stress/op_lshift.js: Removed.
204 * stress/op_mod-ConstVar.js: Added.
205 * stress/op_mod-VarConst.js: Added.
206 * stress/op_mod-VarVar.js: Copied from JSTests/stress/op_mod.js.
207 (o1.valueOf): Deleted.
208 * stress/op_mod.js: Removed.
209 * stress/op_mul-ConstVar.js: Added.
210 * stress/op_mul-VarConst.js: Added.
211 * stress/op_mul-VarVar.js: Copied from JSTests/stress/op_mul.js.
212 (o1.valueOf): Deleted.
213 * stress/op_mul.js: Removed.
214 * stress/op_rshift-ConstVar.js: Added.
215 * stress/op_rshift-VarConst.js: Added.
216 * stress/op_rshift-VarVar.js: Copied from JSTests/stress/op_rshift.js.
217 (o1.valueOf): Deleted.
218 * stress/op_rshift.js: Removed.
219 * stress/op_sub-ConstVar.js: Added.
220 * stress/op_sub-VarConst.js: Added.
221 * stress/op_sub-VarVar.js: Copied from JSTests/stress/op_sub.js.
222 (o1.valueOf): Deleted.
223 * stress/op_sub.js: Removed.
224 * stress/op_urshift-ConstVar.js: Added.
225 * stress/op_urshift-VarConst.js: Added.
226 * stress/op_urshift-VarVar.js: Copied from JSTests/stress/op_urshift.js.
227 (o1.valueOf): Deleted.
228 * stress/op_urshift.js: Removed.
229 * stress/resources/binary-op-values.js: Added.
232 2016-09-29 Joseph Pecoraro <pecoraro@apple.com>
234 test262: class and function names should be inferred in assignment
235 https://bugs.webkit.org/show_bug.cgi?id=146262
237 Reviewed by Saam Barati.
239 * stress/arrowfunction-name.js: Added.
240 Quick tests for arrow function names.
242 * stress/inferred-names.js: Added.
243 General test for inferred function names.
246 Pass many tests checking inferred function names.
248 2016-09-29 Saam Barati <sbarati@apple.com>
250 We don't properly propagate non-simple-parameter-list when parsing a setter
251 https://bugs.webkit.org/show_bug.cgi?id=160483
253 Reviewed by Joseph Pecoraro.
257 2016-09-28 Saam Barati <sbarati@apple.com>
259 stringProtoFuncRepeatCharacter will return `null` when it should not
260 https://bugs.webkit.org/show_bug.cgi?id=161944
262 Reviewed by Yusuke Suzuki.
264 * stress/pad-start-calls-repeat-character-with-double.js: Added.
265 (logLinesWithContext):
267 2016-09-27 Filip Pizlo <fpizlo@apple.com>
269 B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64
270 https://bugs.webkit.org/show_bug.cgi?id=162644
272 Reviewed by Keith Miller.
274 * stress/chill-mod-chill-mod.js: Added.
277 2016-09-26 Csaba Osztrogonác <oszi@inf.u-szeged.hu>
279 Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
280 https://bugs.webkit.org/show_bug.cgi?id=162386
282 Unreviewed, relanding r206317 after typo fix.
284 * stress/string-joining-long-strings-should-not-crash.js:
286 2016-09-24 Caitlin Potter <caitp@igalia.com>
288 [JSTests] fix test262 expectations following r206333
289 https://bugs.webkit.org/show_bug.cgi?id=162533
291 Reviewed by Yusuke Suzuki.
295 2016-09-23 Caitlin Potter <caitp@igalia.com>
297 [JSC] Implement parsing of Async Functions
298 https://bugs.webkit.org/show_bug.cgi?id=161409
300 Reviewed by Yusuke Suzuki.
302 * stress/async-await-syntax.js: Added.
305 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
306 (testTopLevelAsyncAwaitSyntaxSloppyMode):
307 (testTopLevelAsyncAwaitSyntaxStrictMode):
308 (testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
309 (testNestedAsyncAwaitSyntax.async):
310 (testNestedAsyncAwaitSyntax.foo):
311 (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
313 2016-09-23 Ryan Haddad <ryanhaddad@apple.com>
315 Unreviewed, rolling out r206317.
317 This change caused timeouts on El Capitan Release JSC tests
321 "Skip stress/string-joining-long-strings-should-not-crash.js
322 on memory limited devices"
323 https://bugs.webkit.org/show_bug.cgi?id=162386
324 http://trac.webkit.org/changeset/206317
326 2016-09-23 Csaba Osztrogonác <ossy@webkit.org>
328 Skip mozilla-tests.yaml/js1_5/Array/regress-157652 on memory limited devices
329 https://bugs.webkit.org/show_bug.cgi?id=162381
331 Reviewed by Mark Lam.
333 * mozilla/mozilla-tests.yaml:
335 2016-09-23 Csaba Osztrogonác <ossy@webkit.org>
337 Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
338 https://bugs.webkit.org/show_bug.cgi?id=162386
340 Reviewed by Mark Lam.
342 * stress/string-joining-long-strings-should-not-crash.js:
344 2016-09-22 Benjamin Poulain <bpoulain@apple.com>
346 [JSC] Use an inline cache to generate op_negate
347 https://bugs.webkit.org/show_bug.cgi?id=162371
349 Reviewed by Saam Barati.
351 * stress/op-negate-inline-cache.js: Added.
353 2016-09-22 Mark Lam <mark.lam@apple.com>
355 Array.prototype.join should do overflow checks on string joins.
356 https://bugs.webkit.org/show_bug.cgi?id=162459
358 Reviewed by Saam Barati.
360 * stress/array-join-on-strings-need-overflow-checks.js: Added.
364 2016-09-22 Joseph Pecoraro <pecoraro@apple.com>
366 test262: Function length should be number of parameters before parameters with default values
367 https://bugs.webkit.org/show_bug.cgi?id=162377
369 Reviewed by Saam Barati.
371 * stress/es6-default-parameters.js:
372 Add our own tests for function lengths with default parameters.
375 We now pass all dflt-length tests.
377 2016-09-20 Benjamin Poulain <bpoulain@apple.com>
379 [JSC] Do not use EagerRun on tests counting recompilation
380 https://bugs.webkit.org/show_bug.cgi?id=162248
382 Reviewed by Geoffrey Garen.
384 This patch adds defaultNoEagerRun to all the tests
385 for which recompilation is the symptom of a bug.
386 The reason is that an OSR Exit can be unrelated to the tested
387 nodes when we are running in Eager mode.
389 * stress/arith-abs-on-various-types.js:
390 * stress/arith-ceil-on-various-types.js:
391 * stress/arith-clz32-on-various-types.js:
392 * stress/arith-cos-on-various-types.js:
393 * stress/arith-floor-on-various-types.js:
394 * stress/arith-fround-on-various-types.js:
395 * stress/arith-log-on-various-types.js:
396 * stress/arith-round-on-various-types.js:
397 * stress/arith-sin-on-various-types.js:
398 * stress/arith-sqrt-on-various-types.js:
399 * stress/arith-tan-on-various-types.js:
400 * stress/arith-trunc-on-various-types.js:
402 * stress/compare-strict-eq-on-various-types.js:
404 The value 2 came from the other tests.
405 CompareStrictEq supports many more cases, the worst case
406 is bool->int->int52->number->polymorphic.
408 2016-09-20 Filip Pizlo <fpizlo@apple.com>
410 Make MarkedBlock state tracking support overlapped allocation and marking state
411 https://bugs.webkit.org/show_bug.cgi?id=161581
413 Reviewed by Geoffrey Garen.
415 Add a microbenchmark for why we want to reclaim empty blocks from other allocators.
417 * microbenchmarks/switching-size-classes.js: Added.
419 2016-09-20 Saam Barati <sbarati@apple.com>
421 Unreviewed, added test for x86 32-bit failure for HasOwnProperty node in DFG.
423 * stress/has-own-property-called-on-non-object.js: Added.
428 2016-09-20 Yusuke Suzuki <utatane.tea@gmail.com>
430 [JSC] Add `typeof value === "symbol"` handling to bytecode compiler
431 https://bugs.webkit.org/show_bug.cgi?id=162253
433 Reviewed by Sam Weinig.
435 * microbenchmarks/is-symbol-mixed.js: Added.
437 (i.let.pair.of.list.String):
438 * microbenchmarks/is-symbol.js: Added.
441 2016-09-19 Saam Barati <sbarati@apple.com>
443 Make HasOwnProperty faster
444 https://bugs.webkit.org/show_bug.cgi?id=161708
446 Reviewed by Geoffrey Garen.
448 * microbenchmarks/has-own-property-name-cache.js: Added.
450 * stress/has-own-property-cache-basics.js: Added.
453 * stress/has-own-property-name-cache-string-keys.js: Added.
456 * stress/has-own-property-name-cache-symbol-keys.js: Added.
459 * stress/has-own-property-name-cache-symbols-and-strings.js: Added.
463 2016-09-19 Benjamin Poulain <bpoulain@apple.com>
465 [JSC] Make the rounding-related nodes support any type
466 https://bugs.webkit.org/show_bug.cgi?id=161895
468 Reviewed by Geoffrey Garen.
470 * stress/arith-ceil-on-various-types.js: Added.
471 * stress/arith-floor-on-various-types.js: Added.
472 * stress/arith-round-on-various-types.js: Added.
473 * stress/arith-trunc-on-various-types.js: Added.
475 2016-09-18 Yusuke Suzuki <utatane.tea@gmail.com>
477 [JSC] Do not need to use defineProperty to define methods for object literals
478 https://bugs.webkit.org/show_bug.cgi?id=162111
480 Reviewed by Saam Barati.
482 * stress/object-literal-methods.js: Added.
484 (throw.new.Error.let.object.get name):
486 (shouldBe.let.object.get name):
487 (shouldBe.let.object.get prototype):
488 (shouldBe.let.object.get 42):
490 2016-09-16 Yusuke Suzuki <utatane.tea@gmail.com>
492 [DFG] Introduce IsCellWithType node and unify IsJSArray, IsRegExpObject and newly added IsProxyObject
493 https://bugs.webkit.org/show_bug.cgi?id=162000
495 Reviewed by Filip Pizlo.
497 * microbenchmarks/is-array-for-array.js: Added.
499 * microbenchmarks/is-array-for-mixed-case.js: Added.
501 * microbenchmarks/is-array-for-non-array-object.js: Added.
503 * microbenchmarks/is-array-for-proxy.js: Added.
505 (isArray.proxy.throw.new.Error.isArray):
506 (isArray.proxy.throw.new.Error):
508 2016-09-16 Yusuke Suzuki <utatane.tea@gmail.com>
510 Unreviewed, gardening test262 results
512 Some tests are now passed with JSC, but marked as failed.
516 2016-09-16 Joseph Pecoraro <pecoraro@apple.com>
518 test262: Various Constructors length properties should be configurable
519 https://bugs.webkit.org/show_bug.cgi?id=161998
521 Reviewed by Saam Barati.
525 2016-09-15 Commit Queue <commit-queue@webkit.org>
527 Unreviewed, rolling out r205931.
528 https://bugs.webkit.org/show_bug.cgi?id=162021
530 Tests for this change fail on 32-bit JSC bots (Requested by
531 ryanhaddad on #webkit).
535 "[JSC] Make the rounding-related nodes support any type"
536 https://bugs.webkit.org/show_bug.cgi?id=161895
537 http://trac.webkit.org/changeset/205931
539 2016-09-15 Joseph Pecoraro <pecoraro@apple.com>
541 test262: Should be a SyntaxError for duplicate parameter names in function with default parameters
542 https://bugs.webkit.org/show_bug.cgi?id=162013
544 Reviewed by Saam Barati.
546 * stress/es6-default-parameters.js:
549 2016-09-14 Joseph Pecoraro <pecoraro@apple.com>
551 ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
552 https://bugs.webkit.org/show_bug.cgi?id=162003
554 Reviewed by Saam Barati.
556 * stress/spread-calling.js:
559 2016-09-14 Michael Saboff <msaboff@apple.com>
561 YARR doesn't check for invalid flags for literal regular expressions
562 https://bugs.webkit.org/show_bug.cgi?id=161995
564 Reviewed by Mark Lam.
568 * stress/regress-161995.js: Added.
572 2016-09-14 Joseph Pecoraro <pecoraro@apple.com>
574 test262: TypedArray constructors length should be 3 and configurable
575 https://bugs.webkit.org/show_bug.cgi?id=161955
577 Reviewed by Mark Lam.
581 2016-09-14 Benjamin Poulain <bpoulain@apple.com>
583 [JSC] Make the rounding-related nodes support any type
584 https://bugs.webkit.org/show_bug.cgi?id=161895
586 Reviewed by Geoffrey Garen.
588 * stress/arith-ceil-on-various-types.js: Added.
589 * stress/arith-floor-on-various-types.js: Added.
590 * stress/arith-round-on-various-types.js: Added.
591 * stress/arith-trunc-on-various-types.js: Added.
593 2016-09-14 Joseph Pecoraro <pecoraro@apple.com>
595 TaggedTemplateString function calls should emit tail position calls
596 https://bugs.webkit.org/show_bug.cgi?id=161948
598 Reviewed by Yusuke Suzuki.
600 * stress/tail-call-recognize.js:
602 Ensure a tagged template string function call is tail call.
607 2016-09-14 Joseph Pecoraro <pecoraro@apple.com>
609 test262: Array.prototype.slice should always set length
610 https://bugs.webkit.org/show_bug.cgi?id=161953
612 Reviewed by Mark Lam.
616 2016-09-13 JF Bastien <jfbastien@apple.com>
618 Support jsc shell builtin `read`
619 https://bugs.webkit.org/show_bug.cgi?id=161662
621 Reviewed by Keith Miller.
623 * stress/jsc-read.js: Added.
624 (test): test `read` and `readFile` shell builtins, in string and binary mode.
626 2016-09-12 Skachkov Oleksandr <gskachkov@gmail.com>
628 ES6: Classes: Should be allowed to create a static method with name "arguments"
629 https://bugs.webkit.org/show_bug.cgi?id=152985
631 Reviewed by Keith Miller.
635 2016-09-12 Saam Barati <sbarati@apple.com>
637 Speed up Function.prototype.bind a bit by making it a builtin
638 https://bugs.webkit.org/show_bug.cgi?id=161879
640 Reviewed by Filip Pizlo.
642 * microbenchmarks/function-bind-inlining.js: Added.
647 * microbenchmarks/function-bind-no-inlining.js: Added.
653 2016-09-12 Saam Barati <sbarati@apple.com>
655 HashMapImpl should take into account m_deleteCount in its load factor and it should be able to rehash the table to be smaller
656 https://bugs.webkit.org/show_bug.cgi?id=161640
658 Reviewed by Geoffrey Garen.
660 * microbenchmarks/map-rehash.js: Added.
661 * stress/map-delete.js: Added.
663 * stress/map-rehash-2.js: Added.
665 * stress/map-rehash.js: Added.
668 2016-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
670 Unreviewed, fix tests for different libm environments
671 https://bugs.webkit.org/show_bug.cgi?id=161857
673 * stress/ftl-arithtan.js:
675 2016-09-12 Benjamin Poulain <bpoulain@apple.com>
677 [JSC] Use GetArrayLength for JSArray.length even when the array type is undecided
678 https://bugs.webkit.org/show_bug.cgi?id=161671
680 Reviewed by Geoffrey Garen.
682 * stress/get-array-length-on-undecided.js: Added.
684 2016-09-12 Yusuke Suzuki <utatane.tea@gmail.com>
686 [DFG][FTL] Add ArithTan
687 https://bugs.webkit.org/show_bug.cgi?id=161857
689 Reviewed by Filip Pizlo.
691 * microbenchmarks/tan.js: Added.
692 * stress/arith-tan-on-various-types.js: Added.
693 (let.validInputTypedTestCases.validInputTestCases.map):
695 (opaqueTanNoArgument):
699 (testTangleTypeCall):
701 (opaqueTanForSideEffects):
702 (testSideEffect.let.testObject.valueOf):
705 (testCSE.let.testObject.valueOf):
708 (testDCE.let.testObject.valueOf):
710 (testException.opaqueTanWithException):
712 * stress/ftl-arithtan.js: Added.
715 2016-09-12 Saam Barati <sbarati@apple.com>
717 MapHash should do constant folding when it has a constant argument and its legal to hash that value
718 https://bugs.webkit.org/show_bug.cgi?id=161639
720 Reviewed by Filip Pizlo.
722 * microbenchmarks/map-constant-key.js: Added.
727 2016-09-12 Michael Saboff <msaboff@apple.com>
729 JSC test timeout: ChakraCore.yaml/ChakraCore/test/Bugs/bug56026_trycatch.js.default
730 https://bugs.webkit.org/show_bug.cgi?id=161863
732 Reviewed by Saam Barati.
735 Disabled Bugs/bug56026_trycatch.js.
737 2016-09-09 Michael Saboff <msaboff@apple.com>
739 Unreviewed, rolling r205759 back in with a fix.
741 The expectation file, JSTests/ChakraCore/test/Lib/tostring.baseline-jsc,
742 should be named "toString.baseline-jsc".
744 * ChakraCore/test/Lib/toString.baseline-jsc: Copied from JSTests/ChakraCore/test/Lib/tostring.baseline-jsc.
745 * ChakraCore/test/Lib/tostring.baseline-jsc: Removed.
747 2016-09-09 Michael Saboff <msaboff@apple.com>
749 Disable three flakey Chakra Tests
750 https://bugs.webkit.org/show_bug.cgi?id=161807
752 Reviewed by Saam Barati.
754 * ChakraCore.yaml: Disabled the flakey tests
755 ChakraCore/test/Array/protoLookup_native.js
756 ChakraCore/test/LetConst/delete.js
757 ChakraCore/test/fieldopts/fieldhoist_sideeffect.js
759 2016-09-08 Saam Barati <sbarati@apple.com>
761 We should inline operationConvertJSValueToBoolean into JIT code
762 https://bugs.webkit.org/show_bug.cgi?id=161729
764 Reviewed by Filip Pizlo.
766 * stress/value-to-boolean.js: Added.
772 2016-09-08 Mark Lam <mark.lam@apple.com>
774 REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit
775 https://bugs.webkit.org/show_bug.cgi?id=161756
777 Reviewed by Saam Barati.
779 It looks like the 32-bit JSC bot is just too slow at running this test with the
780 dfg-maximal-flush-validate-no-cjit configuration. We'll try excluding that
783 * stress/rest-parameter-many-arguments.js:
785 2016-09-08 JF Bastien <jfbastien@apple.com>
787 Delete older WebAssembly tests
788 https://bugs.webkit.org/show_bug.cgi?id=161758
790 Reviewed by Filip Pizlo.
792 They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180
794 * stress/wasm-arithmetic-float32.js: Removed.
795 * stress/wasm-arithmetic-float64.js: Removed.
796 * stress/wasm-arithmetic-int32.js: Removed.
797 * stress/wasm-calls.js: Removed.
798 * stress/wasm-comma.js: Removed.
799 * stress/wasm-control-flow.js: Removed.
800 * stress/wasm-globals.js: Removed.
801 * stress/wasm-linear-memory.js: Removed.
802 * stress/wasm-locals.js: Removed.
803 * stress/wasm-relational.js: Removed.
804 * stress/wasm-type-conversion.js: Removed.
805 * stress/wasm/arithmetic-float32.wasm: Removed.
806 * stress/wasm/arithmetic-float64.wasm: Removed.
807 * stress/wasm/arithmetic-int32.wasm: Removed.
808 * stress/wasm/calls.wasm: Removed.
809 * stress/wasm/comma.wasm: Removed.
810 * stress/wasm/control-flow.wasm: Removed.
811 * stress/wasm/globals.wasm: Removed.
812 * stress/wasm/linear-memory.wasm: Removed.
813 * stress/wasm/locals.wasm: Removed.
814 * stress/wasm/relational.wasm: Removed.
815 * stress/wasm/type-conversion.wasm: Removed.
817 2016-09-08 Per Arne Vollan <pvollan@apple.com>
819 [Win] Exception fuzz tests fail
820 https://bugs.webkit.org/show_bug.cgi?id=140928
822 Reviewed by Mark Lam.
826 * exceptionFuzz.yaml:
828 2016-09-06 Saam Barati <sbarati@apple.com>
830 ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "__proto__"
831 https://bugs.webkit.org/show_bug.cgi?id=161558
833 Reviewed by Benjamin Poulain.
835 * stress/proxy-get-prototype-of.js:
836 * stress/proxy-set-prototype-of.js:
837 (let.handler.setPrototypeOf): Deleted.
838 * stress/proxy-underscore-proto.js: Added.
841 2016-09-06 Saam Barati <sbarati@apple.com>
843 Make JSMap and JSSet faster
844 https://bugs.webkit.org/show_bug.cgi?id=160989
846 Reviewed by Filip Pizlo.
848 * microbenchmarks/dense-set.js: Added.
850 * microbenchmarks/large-map-iteration-with-additions.js: Added.
853 * microbenchmarks/large-map-iteration-with-mutation.js: Added.
856 * microbenchmarks/large-map-iteration.js: Added.
859 * microbenchmarks/map-get-get-cse.js: Added.
862 * microbenchmarks/map-has-get-cse-opportunity.js: Added.
865 * microbenchmarks/sparse-set.js: Added.
867 * stress/map-cse-correctness.js: Added.
872 * stress/map-iteration.js: Added.
893 2016-09-06 Benjamin Poulain <bpoulain@apple.com>
895 [JSC] Make ArithClz32 work with Cell arguments
896 https://bugs.webkit.org/show_bug.cgi?id=161369
898 Reviewed by Geoffrey Garen.
900 * stress/arith-clz32-on-various-types.js: Added.
902 2016-09-06 Commit Queue <commit-queue@webkit.org>
904 Unreviewed, rolling out r205504.
905 https://bugs.webkit.org/show_bug.cgi?id=161645
907 Broke the iOS device build (Requested by ryanhaddad on
912 "Make JSMap and JSSet faster"
913 https://bugs.webkit.org/show_bug.cgi?id=160989
914 http://trac.webkit.org/changeset/205504
916 2016-09-06 Saam Barati <sbarati@apple.com>
918 Make JSMap and JSSet faster
919 https://bugs.webkit.org/show_bug.cgi?id=160989
921 Reviewed by Filip Pizlo.
923 * microbenchmarks/dense-set.js: Added.
925 * microbenchmarks/large-map-iteration-with-additions.js: Added.
928 * microbenchmarks/large-map-iteration-with-mutation.js: Added.
931 * microbenchmarks/large-map-iteration.js: Added.
934 * microbenchmarks/map-get-get-cse.js: Added.
937 * microbenchmarks/map-has-get-cse-opportunity.js: Added.
940 * microbenchmarks/sparse-set.js: Added.
942 * stress/map-cse-correctness.js: Added.
947 * stress/map-iteration.js: Added.
968 2016-08-31 Filip Pizlo <fpizlo@apple.com>
970 Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
971 https://bugs.webkit.org/show_bug.cgi?id=160125
973 Reviewed by Geoffrey Garen and Keith Miller.
975 Most of the things I did properly covered by existing tests, but I found some simple cases of
976 unshifting that had sketchy coverage.
978 * stress/array-storage-array-unshift.js: Added.
979 * stress/contiguous-array-unshift.js: Added.
980 * stress/double-array-unshift.js: Added.
981 * stress/int32-array-unshift.js: Added.
983 2016-09-02 Michael Saboff <msaboff@apple.com>
985 Unreviewed fix after importing Chakra test
987 * ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original
988 test contained tab characters. I removed the tabs before landing. This test depended
989 on the tab characters and now fails after they were removed.
992 2016-09-01 Michael Saboff <msaboff@apple.com>
994 Import Chakra tests to JSC
995 https://bugs.webkit.org/show_bug.cgi?id=154697
997 Reviewed by Saam Barati.
999 Added Chakra tests. All these tests are under Chakra/test. This is the same layout
1000 for tests in the Chakra tree.
1002 Created a ChakraCore.yaml file to be used with run-jsc-stress-tests. This file contains
1003 the tests that are run when the original Chakra runtests.py script is run. That script
1004 is the test driver for *nix platforms and does not attempt to run all tests or all
1005 variations of tests. The runtest.py driver consults rlexe.xml files in each test
1006 subdirectory to determine the test to run, the options to pass to the test and how to
1007 determine pass/fail of the test. With runtests.py as the start, tests that didn't
1008 pass directly where either skipped, with a message describing why or through
1009 adjustments to the test infrastructure, as described below, where made to pass.
1011 The only modification to the test infrastrucutre are:
1013 1) Added simple mapping of Chakra expected exception text to JSC expected text in
1014 test/UnitTestFramework/UnitTestFramework.js. It would make sense to also
1015 map some JSC specific exception text to more generic text for the cases where
1016 that text contains indetifier names or other source specific strings and the
1017 Chakra equivolent exception texts are generic.
1019 2) Created JSC specific expected text files where it is clear that the text work
1020 as expected on JSC but the test output is different. Typically the differences
1021 fall into three categories, different exception output, different output from
1022 toString() of a function, slight numeric differences, and test that rely on
1025 3) Stripped the CR's from the CR-LF line terminations of the files.
1027 No actual test .js files were modified.
1029 * ChakraCore: Added.
1030 * ChakraCore.yaml: Added.
1031 * ChakraCore/CONTRIBUTING.md: Added.
1032 * ChakraCore/LICENSE.txt: Added.
1033 * ChakraCore/README.md: Added.
1034 * ChakraCore/THIRD-PARTY-NOTICES.txt: Added.
1035 * ChakraCore/test: Added this directory and the tests included therein.
1037 2016-09-01 JF Bastien <jfbastien@apple.com>
1039 GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
1040 https://bugs.webkit.org/show_bug.cgi?id=160922
1042 Reviewed by Keith Miller.
1044 Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
1045 The value profile is used by the calc functions, which do some mild math with the result.
1046 These benchmarks get ~4% faster with value profiling.
1048 * microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
1050 (A.prototype.set value):
1051 (A.prototype.get value):
1052 (B.prototype.set value):
1053 (B.prototype.get value):
1056 * microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
1058 (A.prototype.set value):
1059 (A.prototype.get value):
1060 (B.prototype.set value):
1061 (B.prototype.get value):
1064 * microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
1067 (A.prototype.set v):
1068 (A.prototype.get v):
1069 (B.prototype.set v):
1070 (B.prototype.get v):
1073 * microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
1076 (A.prototype.set v):
1077 (A.prototype.get v):
1078 (B.prototype.set v):
1079 (B.prototype.get v):
1083 2016-09-01 Benjamin Poulain <bpoulain@apple.com>
1085 arith-abs-on-various-types.js is flaky
1089 * stress/arith-abs-on-various-types.js:
1090 Two compilation is too small for the worst case.
1091 Math.abs() can be typed integer->number->untyped if we are very unlucky.
1093 2016-09-01 Filip Pizlo <fpizlo@apple.com>
1095 ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
1096 https://bugs.webkit.org/show_bug.cgi?id=161492
1098 Reviewed by Mark Lam.
1100 This bug affected function->activation references but not object->object field references,
1101 because object->object field references are !neededForMaterialization(). So, the object
1102 test always passed but the activation/function test used to always fail. It passes now.
1104 * stress/materialize-activation-referenced-from-phantom-function.js: Added.
1110 * stress/materialize-object-referenced-from-phantom-object.js: Added.
1115 2016-08-31 Yusuke Suzuki <utatane.tea@gmail.com>
1117 stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails
1118 https://bugs.webkit.org/show_bug.cgi?id=161436
1120 Reviewed by Filip Pizlo.
1122 The test checks Math.random() correctly produces 53bit random values.
1123 The test can fail by design, but this should be fairly rare.
1125 However, when introducing, we wrap the `test()` with 1e4 to ensure the FTL compilation, and this
1126 increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case.
1128 And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information
1129 and reproduce the situation easily.
1131 * stress/random-53bit.js:
1134 2016-08-29 Benjamin Poulain <bpoulain@apple.com>
1136 [JSC] Improve ArithAbs with polymorphic input
1137 https://bugs.webkit.org/show_bug.cgi?id=161286
1139 Reviewed by Saam Barati.
1141 * stress/arith-abs-on-various-types.js: Added.
1144 * stress/arith-cos-on-various-types.js:
1145 * stress/arith-fround-on-various-types.js:
1146 * stress/arith-log-on-various-types.js:
1147 * stress/arith-sin-on-various-types.js:
1148 * stress/arith-sqrt-on-various-types.js:
1149 Extend the existing tests to cover the DCE case.
1151 2016-08-26 Benjamin Poulain <benjamin@webkit.org>
1153 [JSC] Implement CompareStrictEq(String, Untyped) in FTL
1154 https://bugs.webkit.org/show_bug.cgi?id=161229
1156 Reviewed by Geoffrey Garen.
1158 * stress/compare-strict-eq-on-various-types.js: Added.
1160 2016-08-26 Yusuke Suzuki <utatane.tea@gmail.com>
1162 [ES6] newPromiseCapabilities should check the given argument is constructor
1163 https://bugs.webkit.org/show_bug.cgi?id=161226
1165 Reviewed by Mark Lam.
1167 The arrow function should not be a constructor. So the error should be raised.
1169 * stress/new-promise-capabilities-requires-constructor.js: Added.
1172 2016-08-25 Benjamin Poulain <bpoulain@apple.com>
1174 [JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log
1175 https://bugs.webkit.org/show_bug.cgi?id=161181
1177 Reviewed by Geoffrey Garen.
1179 Extend the tests to constants.
1180 Add no-argument cases where needed.
1182 * stress/arith-cos-on-various-types.js:
1183 * stress/arith-fround-on-various-types.js:
1184 * stress/arith-log-on-various-types.js:
1185 * stress/arith-sin-on-various-types.js:
1186 * stress/arith-sqrt-on-various-types.js:
1188 2016-08-25 Yusuke Suzuki <utatane.tea@gmail.com>
1190 [DFG][FTL] Implement ES6 Generators in DFG / FTL
1191 https://bugs.webkit.org/show_bug.cgi?id=152723
1193 Reviewed by Filip Pizlo.
1195 * stress/generator-fib-ftl-and-array.js: Added.
1197 * stress/generator-fib-ftl-and-object.js: Added.
1199 * stress/generator-fib-ftl-and-string.js: Added.
1201 * stress/generator-fib-ftl.js: Added.
1203 * stress/generator-frame-empty.js: Added.
1206 * stress/generator-reduced-save-point-put-to-scope.js: Added.
1209 * stress/generator-transfer-register-beyond-mutiple-yields.js: Added.
1213 2016-08-25 JF Bastien <jfbastien@apple.com>
1215 TryGetById should have a ValueProfile so that it can predict its output type
1216 https://bugs.webkit.org/show_bug.cgi?id=160921
1218 Reviewed by Saam Barati.
1220 * microbenchmarks/try-get-by-id-basic.js: Added.
1222 (const.bench.f.const.fooPlusBar.createBuiltin):
1223 * microbenchmarks/try-get-by-id-polymorphic.js: Added.
1225 (fooPlusBar.createBuiltin):
1228 2016-08-25 Caio Lima <ticaiolima@gmail.com>
1230 NewRegexp should not prevent inlining
1231 https://bugs.webkit.org/show_bug.cgi?id=154808
1233 Reviewed by Geoffrey Garen.
1235 Added test where functions with NewRegExp can be inlined right now.
1237 * stress/new-regex-inline.js: Added.
1242 (inlineRegexpNotGlobal):
1243 (toInlineRecursive):
1244 (regexpContainsRecursive):
1246 2016-08-24 Benjamin Poulain <benjamin@webkit.org>
1248 [JSC] Make FRound work with any type
1249 https://bugs.webkit.org/show_bug.cgi?id=161129
1251 Reviewed by Geoffrey Garen.
1253 * stress/arith-fround-on-various-types.js: Added.
1255 2016-08-24 Filip Pizlo <fpizlo@apple.com>
1257 Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
1259 * stress/array-storage-array-unshift.js: Removed.
1260 * stress/contiguous-array-unshift.js: Removed.
1261 * stress/double-array-unshift.js: Removed.
1262 * stress/int32-array-unshift.js: Removed.
1264 2016-08-24 Skachkov Oleksandr <gskachkov@gmail.com>
1266 [ES2016] Allow assignment in for-in head in not-strict mode
1267 https://bugs.webkit.org/show_bug.cgi?id=160955
1269 Reviewed by Saam Barati.
1271 * stress/for-in-tests.js:
1276 2016-08-23 Benjamin Poulain <benjamin@webkit.org>
1278 [JSC] Make ArithLog works with any type
1279 https://bugs.webkit.org/show_bug.cgi?id=161110
1281 Reviewed by Geoffrey Garen.
1283 * stress/arith-log-on-various-types.js: Added.
1285 2016-08-23 Saam Barati <sbarati@apple.com>
1287 JSC should have a "microbenchmarks" directory instead of "regress" directory
1288 https://bugs.webkit.org/show_bug.cgi?id=161096
1290 Rubber stamped by Mark Lam.
1292 * microbenchmarks: Copied from LayoutTests/js/regress/script-tests.
1294 2016-08-23 Keith Miller <keith_miller@apple.com>
1296 %TypedArray%.prototype.slice needs to check that the source and destination have not been detached.
1297 https://bugs.webkit.org/show_bug.cgi?id=161031
1298 <rdar://problem/27937019>
1300 Reviewed by Geoffrey Garen.
1302 * stress/typedarray-slice.js:
1305 (testSpeciesWithTransferring):
1307 2016-08-22 Filip Pizlo <fpizlo@apple.com>
1309 Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
1310 https://bugs.webkit.org/show_bug.cgi?id=160125
1312 Reviewed by Geoffrey Garen.
1314 Most of the things I did properly covered by existing tests, but I found some simple cases of
1315 unshifting that had sketchy coverage.
1317 * stress/array-storage-array-unshift.js: Added.
1318 * stress/contiguous-array-unshift.js: Added.
1319 * stress/double-array-unshift.js: Added.
1320 * stress/int32-array-unshift.js: Added.
1322 2016-08-23 Keith Miller <keith_miller@apple.com>
1324 Update/add new test262 tests
1325 https://bugs.webkit.org/show_bug.cgi?id=161098
1327 Reviewed by Saam Barati.
1330 * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
1331 * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
1332 * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
1333 * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
1335 * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
1336 * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
1337 * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
1338 * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
1339 (AsyncFunction.async.foo):
1340 * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
1341 (AsyncFunction.async):
1342 * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
1344 * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
1345 (AsyncFunction.async.foo):
1346 * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
1347 (AsyncFunction.async.foo):
1348 * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
1349 (AsyncFunction.async.foo):
1350 * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
1351 (AsyncFunction.async.foo):
1352 * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
1353 (AsyncFunction.async.foo):
1354 * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
1355 (AsyncFunction.async.foo):
1356 * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
1357 (AsyncFunction.async.foo):
1358 * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
1360 * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
1362 * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
1366 * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
1368 * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
1369 * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
1370 * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
1371 * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
1372 * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
1373 * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
1374 * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
1375 * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
1376 * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
1377 * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
1378 * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
1379 * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
1380 * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
1381 * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
1382 * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
1383 * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
1384 * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
1385 * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
1386 * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
1387 * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
1388 * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
1389 * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
1390 * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
1391 * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
1392 * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
1393 * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
1394 * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
1395 * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
1396 * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
1397 * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
1398 * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
1399 * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
1400 * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
1401 * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
1402 * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
1403 * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
1404 * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
1405 * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
1406 * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
1407 * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
1408 * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
1409 * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
1410 * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
1411 * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
1412 * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
1413 * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
1414 * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
1415 * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
1416 * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
1417 * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
1419 * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
1421 * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
1423 * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
1425 * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
1427 * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
1429 * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
1431 * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
1433 (let.g.async.string_appeared_here):
1434 * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
1436 * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
1438 * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
1439 (uncoercible.valueOf):
1441 * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
1443 * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
1444 * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
1446 * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
1448 * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
1450 * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
1452 * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
1453 * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
1454 * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
1455 * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
1456 * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
1459 * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
1460 * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
1461 * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
1462 * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
1463 * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
1464 * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
1465 * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
1466 * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
1467 (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
1468 (badProxyHandlers.allowProxyTraps.ownKeys):
1469 * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
1470 (setPrototypeOf): Deleted.
1471 * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
1472 (target.new.Proxy.Object.create.isExtensible):
1473 (target.new.Proxy.Object.create.getPrototypeOf):
1474 (target.new.Proxy.Object.create):
1476 * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
1478 * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
1480 * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
1481 (setPrototypeOf): Deleted.
1482 * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
1483 * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
1486 * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
1489 * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
1491 * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
1492 (setPrototypeOf): Deleted.
1493 * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
1496 * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
1500 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
1501 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
1503 * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
1504 * test262/test/built-ins/RegExp/lastIndex.js: Added.
1505 * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
1506 * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
1508 * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
1510 * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
1511 * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
1512 * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
1514 * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
1516 * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
1517 * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
1518 * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
1519 * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
1520 (__re.hasOwnProperty): Deleted.
1521 (__re.propertyIsEnumerable): Deleted.
1523 * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
1524 (__re.hasOwnProperty): Deleted.
1526 * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
1527 * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
1529 * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
1531 * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
1532 * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
1533 * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
1534 * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
1536 * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
1538 * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
1539 * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
1540 * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
1541 * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
1542 * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
1543 * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
1544 * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
1545 * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
1546 * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
1547 * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
1548 * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
1549 * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
1550 * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
1551 * test262/test/built-ins/String/numeric-properties.js: Added.
1552 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
1553 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
1554 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
1555 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
1556 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
1558 (compareFTPtoFormat):
1559 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
1560 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
1563 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1564 * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1565 * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
1566 * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
1567 * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
1569 (compareFTPtoFormat):
1570 * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
1571 * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
1574 * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
1575 * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
1576 * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
1578 * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
1580 * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
1582 * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
1584 * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
1586 * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
1588 * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
1590 * test262/test/language/eval-code/direct/super-call-fn.js: Added.
1592 * test262/test/language/eval-code/direct/super-call.js: Added.
1594 * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
1596 * test262/test/language/eval-code/direct/super-prop-method.js: Added.
1598 * test262/test/language/eval-code/direct/super-prop.js: Added.
1600 * test262/test/language/eval-code/indirect/super-call.js: Added.
1603 * test262/test/language/eval-code/indirect/super-prop.js: Added.
1606 * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
1608 * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
1609 * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
1611 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
1613 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
1615 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
1617 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
1619 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
1621 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
1623 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
1625 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
1627 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
1629 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
1631 * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
1633 * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
1635 * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
1637 * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
1639 * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
1641 * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
1643 * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
1645 * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
1647 * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
1649 * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
1651 * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
1653 * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
1655 * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
1657 * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
1659 * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
1662 * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
1664 * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
1667 * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
1670 * test262/test/language/expressions/await/await-in-function.js: Added.
1672 * test262/test/language/expressions/await/await-in-generator.js: Added.
1674 * test262/test/language/expressions/await/await-in-global.js: Added.
1675 * test262/test/language/expressions/await/await-in-nested-function.js: Added.
1678 * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
1681 * test262/test/language/expressions/await/await-throws-rejections.js: Added.
1683 * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
1685 * test262/test/language/expressions/await/no-operand.js: Added.
1687 * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
1689 * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
1691 * test262/test/language/expressions/call/trailing-comma.js: Added.
1693 * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
1695 * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
1697 * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
1700 * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
1702 * test262/test/language/expressions/function/params-trailing-comma.js: Added.
1703 * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
1705 * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
1707 * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
1710 * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
1712 * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
1713 * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
1714 * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
1716 (child.async.method):
1717 * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
1719 (child.async.method.x.super.method):
1720 * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
1722 * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
1724 * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
1726 * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
1728 * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
1730 * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
1732 * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
1734 * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
1736 * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
1737 (async.foo.foo.super):
1738 * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
1740 * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
1743 * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
1746 * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
1748 * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
1751 * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
1753 * test262/test/language/global-code/decl-func.js: Added.
1755 * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
1756 * test262/test/language/global-code/decl-lex-deletion.js: Added.
1758 * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
1759 * test262/test/language/global-code/decl-lex.js: Added.
1761 * test262/test/language/global-code/decl-var.js: Added.
1762 * test262/test/language/global-code/return.js: Added.
1763 * test262/test/language/global-code/script-decl-func-dups.js: Added.
1764 * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
1765 * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
1766 * test262/test/language/global-code/script-decl-func.js: Added.
1767 * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
1768 * test262/test/language/global-code/script-decl-lex-lex.js: Added.
1770 * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
1771 * test262/test/language/global-code/script-decl-lex-var.js: Added.
1773 * test262/test/language/global-code/script-decl-lex.js: Added.
1774 * test262/test/language/global-code/script-decl-var-collision.js: Added.
1776 * test262/test/language/global-code/script-decl-var-err.js: Added.
1777 * test262/test/language/global-code/script-decl-var.js: Added.
1778 * test262/test/language/global-code/super-call-arrow.js: Added.
1779 * test262/test/language/global-code/super-call.js: Added.
1780 * test262/test/language/global-code/super-prop-arrow.js: Added.
1781 * test262/test/language/global-code/super-prop.js: Added.
1782 * test262/test/language/global-code/yield-non-strict.js: Added.
1784 * test262/test/language/global-code/yield-strict.js: Added.
1785 * test262/test/language/literals/regexp/lastIndex.js: Added.
1786 * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
1787 * test262/test/language/literals/regexp/y-assertion-start.js: Added.
1788 * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
1789 * test262/test/language/module-code/instn-star-err-not-found.js:
1790 * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
1791 * test262/test/language/module-code/parse-err-return.js: Added.
1792 * test262/test/language/module-code/parse-err-yield.js: Added.
1793 * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
1794 * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
1796 * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
1798 * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
1800 * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
1802 * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
1804 * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
1806 * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
1808 * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
1810 * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
1812 * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
1814 * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
1816 * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
1818 * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
1820 * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
1822 * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
1824 * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
1827 * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
1830 * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
1833 * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
1836 * test262/test/language/statements/async-function/evaluation-body.js: Added.
1838 * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
1841 * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
1843 * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
1845 * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
1847 * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
1849 * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
1851 * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
1853 * test262/test/language/statements/async-function/syntax-declaration.js: Added.
1856 * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
1857 (Foo.prototype.async.method):
1859 * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
1860 (Foo.prototype.async.bar):
1862 * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
1863 (Foo.prototype.async.foo):
1865 * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
1866 (Foo.prototype.async.foo):
1868 * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
1869 (Foo.prototype.async.foo):
1871 * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
1872 (Foo.prototype.async.foo):
1874 * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
1875 (Foo.prototype.async.foo):
1877 * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
1878 (Foo.prototype.async.foo):
1880 * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
1883 * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
1884 (Foo.prototype.async.foo):
1886 * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
1887 (A.prototype.async.method):
1889 (B.prototype.async.method):
1891 * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
1892 (A.prototype.async.method):
1894 (B.prototype.async.method):
1896 * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
1900 * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
1904 * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
1907 * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
1911 * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
1913 * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
1915 * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
1918 * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
1921 * test262/test/language/statements/function/params-trailing-comma.js: Added.
1924 * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
1926 * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
1928 * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
1931 * test262/test/language/statements/generators/params-trailing-comma.js: Added.
1934 * test262/test262-Revision.txt:
1936 2016-08-23 Benjamin Poulain <bpoulain@apple.com>
1938 [JSC] Make Math.cos() and Math.sin() work with any argument type
1939 https://bugs.webkit.org/show_bug.cgi?id=161069
1941 Reviewed by Geoffrey Garen.
1943 * stress/arith-cos-on-various-types.js: Added.
1944 * stress/arith-sin-on-various-types.js: Added.
1946 2016-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
1948 [ES6] Module namespace object's Symbol.iterator method should only accept module namespace objects
1949 https://bugs.webkit.org/show_bug.cgi?id=161097
1951 Reviewed by Keith Miller.
1955 2016-08-22 Yusuke Suzuki <utatane.tea@gmail.com>
1957 [ES6] Modules' `export default function/class` should be declaration
1958 https://bugs.webkit.org/show_bug.cgi?id=160499
1960 Reviewed by Saam Barati.
1962 Add several module tests. And flip the failed tests flags in test262.
1964 * modules/export-default-function-name-in-assignment-expression.js: Added.
1966 * modules/export-default-function-name-in-class-declaration.js: Added.
1967 * modules/export-default-function-name-in-function-declaration.js: Added.
1969 * modules/export-default-function-name-in-generator-declaration.js: Added.
1971 * stress/method-name.js: Added.
1974 (testSyntaxError.Hello.prototype.hello.hello):
1975 (testSyntaxError.Hello):
1976 (SyntaxError.Unexpected.identifier.string_appeared_here.Expected.an.opening.string_appeared_here.before.a.method.testSyntaxError.let.obj.hello.hello):
1977 (testSyntaxError.Hello.prototype.get hello):
1978 (testSyntaxError.Hello.prototype.set hello):
1981 2016-08-22 Yusuke Suzuki <utatane.tea@gmail.com>
1983 [ES6] Module should not allow HTML comments
1984 https://bugs.webkit.org/show_bug.cgi?id=161041
1986 Reviewed by Saam Barati.
1988 * modules/html-comments.js: Added.
1992 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com>
1994 [DFG] Should not fixup AnyIntUse in 32_64
1995 https://bugs.webkit.org/show_bug.cgi?id=161029
1997 Reviewed by Saam Barati.
1999 * typeProfiler/int52-dfg.js: Added.
2002 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com>
2004 Unreviewed, rolling out r204697
2005 https://bugs.webkit.org/show_bug.cgi?id=161029
2007 * typeProfiler/int52-dfg.js: Removed.
2009 * typeProfiler/number-filter-dfg.js: Removed.
2012 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com>
2014 [DFG] Should not fixup AnyIntUse in 32_64
2015 https://bugs.webkit.org/show_bug.cgi?id=161029
2017 Reviewed by Saam Barati.
2019 * typeProfiler/int52-dfg.js: Added.
2021 * typeProfiler/number-filter-dfg.js: Added.
2024 2016-08-19 Benjamin Poulain <bpoulain@apple.com>
2026 [JSC] ArithSqrt should work with any argument type
2027 https://bugs.webkit.org/show_bug.cgi?id=160954
2029 Reviewed by Saam Barati.
2031 * stress/arith-sqrt-on-various-types.js: Added.
2032 (let.validInputTypedTestCases.validInputTestCases.map):
2034 (opaqueAllTypesSqrt):
2036 (testSingleTypeCall):
2037 (opaqueSqrtForSideEffects):
2038 (testSideEffect.let.testObject.valueOf):
2041 (testCSE.let.testObject.valueOf):
2043 (testException.opaqueSqrtWithException):
2046 2016-08-19 Joseph Pecoraro <pecoraro@apple.com>
2048 Make custom Error properties (line, column, sourceURL) configurable and writable
2049 https://bugs.webkit.org/show_bug.cgi?id=160984
2050 <rdar://problem/27905979>
2052 Reviewed by Saam Barati.
2054 * stress/native-error-properties.js: Added.
2058 (checkEmptyErrorPropertiesDescriptors):
2059 (checkNonEmptyErrorPropertiesDescriptors):
2060 The spec only describes the "message" property, so
2061 ensure it has the right descriptor attributes.
2063 (checkErrorPropertiesWritable):
2064 Ensure common error property names are writable.
2065 In strict mode this would have thrown an exception
2066 if they were readonly.
2068 2016-08-18 Mark Lam <mark.lam@apple.com>
2070 ScopedArguments is using the wrong owner object for a write barrier.
2071 https://bugs.webkit.org/show_bug.cgi?id=160976
2072 <rdar://problem/27328506>
2074 Reviewed by Keith Miller.
2076 * stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added.
2078 2016-08-17 JF Bastien <jfbastien@apple.com>
2080 We allow assignments to const variables when in a for-in/for-of loop
2081 https://bugs.webkit.org/show_bug.cgi?id=156673
2083 Reviewed by Filip Pizlo.
2085 * stress/for-in-of-const.js: Added.
2090 2016-08-17 Mark Lam <mark.lam@apple.com>
2092 Remove an invalid assertion in the DFG backend's GetById emitter.
2093 https://bugs.webkit.org/show_bug.cgi?id=160925
2094 <rdar://problem/27248961>
2096 Reviewed by Filip Pizlo.
2098 * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added.
2100 2016-08-16 Ryan Haddad <ryanhaddad@apple.com>
2102 Unreviewed, rolling out r204464.
2104 This is no longer needed after r204495.
2108 "Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js"
2109 https://bugs.webkit.org/show_bug.cgi?id=160662
2110 http://trac.webkit.org/changeset/204464
2112 2016-08-15 Ryan Haddad <ryanhaddad@apple.com>
2114 Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js
2115 https://bugs.webkit.org/show_bug.cgi?id=160662
2117 Unreviewed test gardening.
2119 * mozilla/ecma/LexicalConventions/7.7.3.js:
2121 2016-08-14 Skachkov Oleksandr <gskachkov@gmail.com>
2123 [2016] Set correct status for test262 after implementation of Object.values&Object.entries
2124 https://bugs.webkit.org/show_bug.cgi?id=160844
2126 Reviewed by Saam Barati.
2128 Patch contains fix statuses of specs in the test262 test collection after implementation of
2129 Object.values and Object.entries functions. Also patch contains small fixes in tests of the
2130 tests for Object.values/entries functions.
2132 * stress/object-entries.js:
2133 (Object.getOwnPropertyDescriptor):
2134 * stress/object-values.js:
2135 (Object.getOwnPropertyDescriptor):
2138 2016-08-12 Saam Barati <sbarati@apple.com>
2140 Inline store loop for CopyRest in DFG and FTL for certain array modes
2141 https://bugs.webkit.org/show_bug.cgi?id=159612
2143 Reviewed by Filip Pizlo.
2145 * stress/rest-parameter-having-a-bad-time.js: Added.
2146 * stress/rest-parameter-many-arguments.js: Added.
2147 * stress/rest-parameter-various-types.js: Added.
2149 2016-08-12 Skachkov Oleksandr <gskachkov@gmail.com>
2151 [ES2016] Implement Object.entries
2152 https://bugs.webkit.org/show_bug.cgi?id=160412
2154 Reviewed by Saam Barati.
2156 Patch contains tests for Object.entries function and
2157 fix of wrong tests for Object.values function.
2159 * stress/object-entries.js:
2161 (string_appeared_here.forEach):
2162 (const.getInvokedFunctions.):
2163 (const.getInvokedFunctions):
2164 (Array.prototype.push):
2165 * stress/object-values.js:
2167 2016-08-11 Mark Lam <mark.lam@apple.com>
2169 OverridesHasInstance should not branch across register allocations.
2170 https://bugs.webkit.org/show_bug.cgi?id=160792
2171 <rdar://problem/27361778>
2173 Reviewed by Benjamin Poulain.
2175 * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
2177 2016-08-11 Mark Lam <mark.lam@apple.com>
2179 The jsc shell's Element host constructor should throw if it fails to construct an object.
2180 https://bugs.webkit.org/show_bug.cgi?id=160773
2181 <rdar://problem/27328608>
2183 Reviewed by Saam Barati.
2185 * stress/generational-opaque-roots.js:
2187 2016-08-11 Mark Lam <mark.lam@apple.com>
2189 Disallow synchronous sweeping for eden GCs.
2190 https://bugs.webkit.org/show_bug.cgi?id=160716
2192 Reviewed by Geoffrey Garen.
2194 * stress/eden-gc-with-retired-blocks.js: Added.
2195 - This test is just in case we add back support for eden GCs with synchronous
2196 sweeping in the future.
2198 2016-08-10 Michael Saboff <msaboff@apple.com>
2200 Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions
2201 https://bugs.webkit.org/show_bug.cgi?id=160749
2203 Reviewed by Filip Pizlo.
2205 New test that causes baseline GetByValWithCachedId and PutByValWithCachedId
2206 stubs to be generated and then throws exceptions for those stub to handle
2207 to verify that they are properly handled.
2209 * stress/regress-160749.js: Added.
2210 (testCachedGetByVal.):
2211 (testCachedGetByVal.get for):
2212 (testCachedGetByVal):
2213 (testCachedPutByVal.):
2214 (testCachedPutByVal.set for):
2215 (testCachedPutByVal):
2217 2016-08-10 Mark Lam <mark.lam@apple.com>
2219 DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals.
2220 https://bugs.webkit.org/show_bug.cgi?id=160755
2221 <rdar://problem/27488507>
2223 Reviewed by Filip Pizlo.
2225 * stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added.
2227 2016-08-09 Skachkov Oleksandr <gskachkov@gmail.com>
2229 [ES2016] Implement Object.values
2230 https://bugs.webkit.org/show_bug.cgi?id=160410
2232 Reviewed by Saam Barati, Yusuke Suzuki.
2234 * stress/object-values.js: Added.
2236 (string_appeared_here.forEach):
2237 (const.getInvokedFunctions.):
2238 (const.getInvokedFunctions):
2239 (Array.prototype.push):
2241 2016-08-09 Saam Barati <sbarati@apple.com>
2243 JSBoundFunction should lazily generate its name string
2244 https://bugs.webkit.org/show_bug.cgi?id=160678
2245 <rdar://problem/27043194>
2247 Reviewed by Mark Lam.
2249 * stress/bound-function-lazy-name-generation.js: Added.
2255 2016-08-08 Mark Lam <mark.lam@apple.com>
2257 ASSERTION FAILED: hasInlineStorage() in JSFinalObject::visitChildren().
2258 https://bugs.webkit.org/show_bug.cgi?id=160666
2260 Reviewed by Keith Miller.
2262 * stress/object-constructor-should-be-new-target-aware.js:
2264 2016-08-07 Yusuke Suzuki <utatane.tea@gmail.com>
2266 [ES6] Module namespace object should not allow unset IC
2267 https://bugs.webkit.org/show_bug.cgi?id=160553
2269 Reviewed by Saam Barati.
2271 * modules/namespace-object-get-property.js: Added.
2272 (import.as.ns.from.string_appeared_here.shouldThrow):
2273 * modules/namespace-object-has-property.js: Added.
2274 * modules/namespace-object-inline-caching.js: Added.
2275 (import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup):
2276 (shouldBe.lookup.lookup):
2278 * modules/namespace-object-inline-caching/a.js: Added.
2279 * modules/namespace-object-inline-caching/b.js: Added.
2280 * modules/namespace-object-try-get.js: Added.
2281 (import.as.ns.from.string_appeared_here.tryGetByIdText):
2282 (tryGetByIdTextStrict):
2283 * modules/namespace-object-typed-array-fast-path.js: Added.
2286 2016-08-05 Saam Barati <sbarati@apple.com>
2288 various math operations don't properly check for an exception after calling toNumber() on the lhs
2289 https://bugs.webkit.org/show_bug.cgi?id=160154
2291 Reviewed by Mark Lam.
2293 * stress/to-number-throws-correct-exception.js: Added.
2294 (test.let.test.runTest.):
2295 (test.let.test.runTest.get f):
2296 (test.let.test.runTest):
2300 (test2.runTest.get f):
2304 2016-08-05 Saam Barati <sbarati@apple.com>
2306 Assertion failure when accessing TDZ variable in catch through eval
2307 https://bugs.webkit.org/show_bug.cgi?id=160554
2309 Reviewed by Mark Lam and Keith Miller.
2311 * stress/catch-variables-under-tdz.js: Added.
2314 2016-08-04 Yusuke Suzuki <utatane.tea@gmail.com>
2316 [ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
2317 https://bugs.webkit.org/show_bug.cgi?id=160549
2319 Reviewed by Saam Barati.
2321 * modules/namespace-object-symbol-iterator-name.js: Added.
2324 2016-08-04 Keith Miller <keith_miller@apple.com>
2326 ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
2327 https://bugs.webkit.org/show_bug.cgi?id=160562
2329 Reviewed by Mark Lam.
2331 * stress/instanceof-late-constant-folding.js: Added.
2336 2016-08-04 Caitlin Potter <caitp@igalia.com>
2338 [JSC] fix generator-syntax.js JSTest again after yield grammar fix
2339 https://bugs.webkit.org/show_bug.cgi?id=160550
2341 Reviewed by Yusuke Suzuki.
2343 * stress/generator-syntax.js:
2344 (testYieldBindingIdentifier):
2346 2016-08-03 Caitlin Potter <caitp@igalia.com>
2348 Clarify SyntaxErrors around yield and unskip tests
2349 https://bugs.webkit.org/show_bug.cgi?id=158460
2351 Reviewed by Saam Barati.
2353 Fix and unskip tests which erroneously asserted that `yield` is not a
2354 valid BindingIdentifier, and improve error message for YieldExpressions
2355 occuring in Arrow formal parameters.
2357 * stress/generator-syntax.js:
2358 * stress/yield-out-of-generator.js:
2360 2016-08-03 Filip Pizlo <fpizlo@apple.com>
2362 REGRESSION(r203368): broke some test262 tests
2363 https://bugs.webkit.org/show_bug.cgi?id=160479
2365 Reviewed by Mark Lam.
2367 Added a stress test for this case, since we don't always run test262.
2369 * stress/freeze-setter.js: Added.
2372 2016-08-03 Saam Barati <sbarati@apple.com>
2374 Implement nested rest destructuring w.r.t the ES7 spec
2375 https://bugs.webkit.org/show_bug.cgi?id=160423
2377 Reviewed by Filip Pizlo.
2379 * stress/destructuring-rest-element.js: Added.
2385 (fakeGen.return.Symbol.iterator):
2387 * stress/rest-elements.js:
2388 (testSyntaxError.String.raw):
2389 * stress/rest-parameter-is-destructuring.js: Added.
2396 2016-08-02 Saam Barati <sbarati@apple.com>
2398 Rename Changelog to ChangeLog
2400 Rubber stamped by Keith Miller.
2402 * Changelog: Removed.
2404 2016-08-02 Saam Barati <sbarati@apple.com>
2406 update a class extending null w.r.t the ES7 spec
2407 https://bugs.webkit.org/show_bug.cgi?id=160417
2409 Reviewed by Keith Miller.
2412 * stress/class-derived-from-null.js: Added.
2436 2016-08-01 Filip Pizlo <fpizlo@apple.com>
2438 Rationalize varargs stack overflow checks
2439 https://bugs.webkit.org/show_bug.cgi?id=160425
2441 Reviewed by Michael Saboff.
2443 * stress/arity-check-ftl-throw-more-args.js: Added.
2446 2016-08-01 Keith Miller <keith_miller@apple.com>
2448 We should not keep the JavaScript tests inside the Source/JavaScriptCore/ directory.
2449 https://bugs.webkit.org/show_bug.cgi?id=160372
2451 Rubber stamped by Geoffrey Garen.
2453 This patch moves all the JavaScript tests from Source/JavaScriptCore/tests to
2454 a new top level directory, JSTests. Having the tests in the Source directory
2455 was both confusing an inconvenient for people that just want to checkout the
2456 source code of WebKit. Since there is no other obvious place to put all the
2457 JavaScript tests a new top level directory seemed the most sensible.