1. 11 Jun, 2019 1 commit
  2. 24 May, 2019 3 commits
    • Simon Zünd's avatar
      Reland "[array] Move Array#sort pre-processing to Torque" · 843b6646
      Simon Zünd authored
      This is a reland of 2b0ac2fb
      
      The layout test that caused this revert was fixed with:
      https://crrev.com/c/1627386
      
      Original change's description:
      > [array] Move Array#sort pre-processing to Torque
      >
      > This CL removes the "PrepareElementsForSort" runtime function, and
      > replaces it with a simpler version in Torque. The biggest difference
      > is that certain sparse configurations no longer have a fast-path.
      >
      > The Torque pre-processing step replaces the existing Torque mechanism that
      > copied already pre-processed elements into the "work" FixedArray. The Torque
      > compacting works as follows:
      >   - Iterate all elements from 0 to {length}
      >     - If the element is the hole: Do nothing.
      >     - If the element is "undefined": Increment undefined counter.
      >     - In all other cases, push the element into the "work" FixedArray.
      >
      > Then the "work" FixedArray is sorted as before. Writing the elements from
      > the "work" array back into the receiver, after sorting, has three steps:
      >   1. Copy the sorted elements from the "work" FixedArray to the receiver.
      >   2. Add previously counted number of "undefined" to the receiver.
      >   3. Depending on the backing store either delete properties or
      >      set them to the Hole up to {length}.
      >
      > Bug: v8:8714
      > Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756
      > Commit-Queue: Simon Zünd <szuend@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61812}
      
      TBR: jgruber@chromium.org
      Bug: v8:8714
      Change-Id: If7613f6e5f37c5e0d649e8192195594bc6c32100
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627977
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Auto-Submit: Simon Zünd <szuend@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61827}
      843b6646
    • Simon Zünd's avatar
      Revert "[array] Move Array#sort pre-processing to Torque" · 70eeb22d
      Simon Zünd authored
      This reverts commit 2b0ac2fb.
      
      Reason for revert: Breaks scrollingcoordinator/non-fast-scrollable-region-nested.html layout test on https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/32241 
      
      Original change's description:
      > [array] Move Array#sort pre-processing to Torque
      > 
      > This CL removes the "PrepareElementsForSort" runtime function, and
      > replaces it with a simpler version in Torque. The biggest difference
      > is that certain sparse configurations no longer have a fast-path.
      > 
      > The Torque pre-processing step replaces the existing Torque mechanism that
      > copied already pre-processed elements into the "work" FixedArray. The Torque
      > compacting works as follows:
      >   - Iterate all elements from 0 to {length}
      >     - If the element is the hole: Do nothing.
      >     - If the element is "undefined": Increment undefined counter.
      >     - In all other cases, push the element into the "work" FixedArray.
      > 
      > Then the "work" FixedArray is sorted as before. Writing the elements from
      > the "work" array back into the receiver, after sorting, has three steps:
      >   1. Copy the sorted elements from the "work" FixedArray to the receiver.
      >   2. Add previously counted number of "undefined" to the receiver.
      >   3. Depending on the backing store either delete properties or
      >      set them to the Hole up to {length}.
      > 
      > Bug: v8:8714
      > Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756
      > Commit-Queue: Simon Zünd <szuend@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61812}
      
      TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,tebbi@chromium.org,szuend@chromium.org
      
      Change-Id: If1c1bc07f38dfbd4bf6b6ce8f9d70714e7526877
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8714
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627976Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61814}
      70eeb22d
    • Simon Zünd's avatar
      [array] Move Array#sort pre-processing to Torque · 2b0ac2fb
      Simon Zünd authored
      This CL removes the "PrepareElementsForSort" runtime function, and
      replaces it with a simpler version in Torque. The biggest difference
      is that certain sparse configurations no longer have a fast-path.
      
      The Torque pre-processing step replaces the existing Torque mechanism that
      copied already pre-processed elements into the "work" FixedArray. The Torque
      compacting works as follows:
        - Iterate all elements from 0 to {length}
          - If the element is the hole: Do nothing.
          - If the element is "undefined": Increment undefined counter.
          - In all other cases, push the element into the "work" FixedArray.
      
      Then the "work" FixedArray is sorted as before. Writing the elements from
      the "work" array back into the receiver, after sorting, has three steps:
        1. Copy the sorted elements from the "work" FixedArray to the receiver.
        2. Add previously counted number of "undefined" to the receiver.
        3. Depending on the backing store either delete properties or
           set them to the Hole up to {length}.
      
      Bug: v8:8714
      Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61812}
      2b0ac2fb
  3. 02 May, 2019 1 commit
  4. 09 Apr, 2019 1 commit
  5. 20 Mar, 2019 1 commit
  6. 26 Feb, 2019 1 commit
  7. 06 Feb, 2019 1 commit
    • Tamer Tas's avatar
      Reland "Reland "[test] refactor testsuite configuration"" · df630e67
      Tamer Tas authored
      This is a reland of 81eec150
      
      Original change's description:
      > Reland "[test] refactor testsuite configuration"
      >
      > This is a reland of 7f92ad0a
      >
      > Original change's description:
      > > [test] refactor testsuite configuration
      > >
      > > Every testsuite configuration consist of at least 30% code duplication.
      > >
      > > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > > touches the testsuite code becomes a technical fight to the death.
      > >
      > > This CL removes all the duplication by refactoring the common functionality.
      > >
      > > This CL contains structural changes without any logical changes % small bug
      > > fixes.
      > >
      > > R=machenbach@chromium.org
      > > CC=yangguo@chromium.org,sergiyb@chromium.org
      > >
      > > Bug: v8:8174, v8:8769
      > > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59361}
      >
      > Bug: v8:8174, v8:8769
      > Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      > Reviewed-on: https://chromium-review.googlesource.com/c/1454485
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59369}
      
      Bug: v8:8174, v8:8790
      Change-Id: I38ab9d37bca76057441a970f26e2102e4387a857
      Reviewed-on: https://chromium-review.googlesource.com/c/1454724
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59387}
      df630e67
  8. 05 Feb, 2019 4 commits
    • Tamer Tas's avatar
      Revert "Reland "[test] refactor testsuite configuration"" · ea4412ad
      Tamer Tas authored
      This reverts commit 81eec150.
      
      Reason for revert: windows mozilla test failures
      
      Original change's description:
      > Reland "[test] refactor testsuite configuration"
      > 
      > This is a reland of 7f92ad0a
      > 
      > Original change's description:
      > > [test] refactor testsuite configuration
      > > 
      > > Every testsuite configuration consist of at least 30% code duplication.
      > > 
      > > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > > touches the testsuite code becomes a technical fight to the death.
      > > 
      > > This CL removes all the duplication by refactoring the common functionality.
      > > 
      > > This CL contains structural changes without any logical changes % small bug
      > > fixes.
      > > 
      > > R=machenbach@chromium.org
      > > CC=yangguo@chromium.org,sergiyb@chromium.org
      > > 
      > > Bug: v8:8174, v8:8769
      > > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59361}
      > 
      > Bug: v8:8174, v8:8769
      > Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      > Reviewed-on: https://chromium-review.googlesource.com/c/1454485
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59369}
      
      TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org
      
      Change-Id: I8f5650b5f46be299c004e2fa8b708fa2c17a4dc2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8174, v8:8769
      Reviewed-on: https://chromium-review.googlesource.com/c/1454607Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59370}
      ea4412ad
    • Tamer Tas's avatar
      Reland "[test] refactor testsuite configuration" · 81eec150
      Tamer Tas authored
      This is a reland of 7f92ad0a
      
      Original change's description:
      > [test] refactor testsuite configuration
      > 
      > Every testsuite configuration consist of at least 30% code duplication.
      > 
      > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > touches the testsuite code becomes a technical fight to the death.
      > 
      > This CL removes all the duplication by refactoring the common functionality.
      > 
      > This CL contains structural changes without any logical changes % small bug
      > fixes.
      > 
      > R=machenbach@chromium.org
      > CC=yangguo@chromium.org,sergiyb@chromium.org
      > 
      > Bug: v8:8174, v8:8769
      > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59361}
      
      Bug: v8:8174, v8:8769
      Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
      Reviewed-on: https://chromium-review.googlesource.com/c/1454485Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59369}
      81eec150
    • Tamer Tas's avatar
      Revert "[test] refactor testsuite configuration" · 97068800
      Tamer Tas authored
      This reverts commit 7f92ad0a.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win32/19148
      
      Original change's description:
      > [test] refactor testsuite configuration
      >
      > Every testsuite configuration consist of at least 30% code duplication.
      >
      > The code age ranges from 10 years old to 5 years old. Implementing anything that
      > touches the testsuite code becomes a technical fight to the death.
      >
      > This CL removes all the duplication by refactoring the common functionality.
      >
      > This CL contains structural changes without any logical changes % small bug
      > fixes.
      >
      > R=​machenbach@chromium.org
      > CC=​yangguo@chromium.org,sergiyb@chromium.org
      >
      > Bug: v8:8174, v8:8769
      > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59361}
      
      TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org,v8-reviews@chromium.org
      
      Change-Id: I473f0d4c6b9c0239923b8c03699dbc38b7f85030
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8174, v8:8769
      Reviewed-on: https://chromium-review.googlesource.com/c/1454599
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59362}
      97068800
    • Tamer Tas's avatar
      [test] refactor testsuite configuration · 7f92ad0a
      Tamer Tas authored
      Every testsuite configuration consist of at least 30% code duplication.
      
      The code age ranges from 10 years old to 5 years old. Implementing anything that
      touches the testsuite code becomes a technical fight to the death.
      
      This CL removes all the duplication by refactoring the common functionality.
      
      This CL contains structural changes without any logical changes % small bug
      fixes.
      
      R=machenbach@chromium.org
      CC=yangguo@chromium.org,sergiyb@chromium.org
      
      Bug: v8:8174, v8:8769
      Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
      Reviewed-on: https://chromium-review.googlesource.com/c/1445881
      Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59361}
      7f92ad0a
  9. 02 Feb, 2019 1 commit
  10. 29 Jan, 2019 1 commit
  11. 22 Jan, 2019 1 commit
  12. 08 Jan, 2019 1 commit
  13. 04 Jan, 2019 2 commits
  14. 21 Dec, 2018 1 commit
    • Jakob Gruber's avatar
      Reland "[regexp] Escape newlines when setting [[OriginalSource]]" · 4edfaa1f
      Jakob Gruber authored
      This is a reland of 0e22ec73
      
      Original change's description:
      > [regexp] Escape newlines when setting [[OriginalSource]]
      > 
      > This escapes LineTerminator characters in a regexp pattern when
      > creating the string that will be stored in the [[OriginalSource]] slot.
      > 
      > As an example, the source property for all following objects will equal
      > "\n" (a '\' character followed by 'n'):
      > 
      >   /\n/
      >   new RegExp("\n")
      >   new RegExp("\\n")
      > 
      > Bug: v8:1982, chromium:855009
      > Change-Id: I3b539497a0697e3d51ec969cae49308b0b312a19
      > Reviewed-on: https://chromium-review.googlesource.com/c/1384316
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Mathias Bynens <mathias@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58387}
      
      Bug: v8:1982, chromium:855009
      Change-Id: I1ba22395477ec37e8e8c944000f9beade1e3250b
      Reviewed-on: https://chromium-review.googlesource.com/c/1386495Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58419}
      4edfaa1f
  15. 20 Dec, 2018 2 commits
  16. 18 Dec, 2018 1 commit
  17. 14 Dec, 2018 1 commit
  18. 30 Nov, 2018 1 commit
    • Peter Marshall's avatar
      Revert "[runtime] Reduce spread/apply call max arguments" · ff0cf00c
      Peter Marshall authored
      This reverts commit 4e3a17d0.
      
      Reason for revert: Web compact issues, see crbug.com/910252
      
      Original change's description:
      > [runtime] Reduce spread/apply call max arguments
      > 
      > Bug: chromium:906043
      > Change-Id: I308b29af0644c318d73926b27e65a94913c760c7
      > Reviewed-on: https://chromium-review.googlesource.com/c/1346115
      > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57731}
      
      TBR=jarin@chromium.org,jgruber@chromium.org,petermarshall@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:906043
      Change-Id: I240c1b55c10fd3e108e3c49f93ce1d9ca9c61780
      Reviewed-on: https://chromium-review.googlesource.com/c/1356502Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57956}
      ff0cf00c
  19. 22 Nov, 2018 2 commits
  20. 14 Nov, 2018 1 commit
  21. 07 Nov, 2018 1 commit
  22. 06 Nov, 2018 1 commit
  23. 18 Oct, 2018 1 commit
  24. 16 Oct, 2018 3 commits
  25. 15 Oct, 2018 1 commit
  26. 01 Oct, 2018 1 commit
  27. 12 Sep, 2018 1 commit
  28. 05 Sep, 2018 1 commit
    • Hai Dang's avatar
      Reland "[interpreter] Add bytecode for leading array spreads." · 5f8a4272
      Hai Dang authored
      This is a reland of 1c48d52b.
      
      It turned out that IterableToList doesn't always behave according to
      the ES operation with the same name. Specifically, it allows holey arrays
      to take its fast path, which produces an output array with holes where
      actually "undefined" elements should appear.
      
      This CL changes the version of IterableToList that is used for spreads
      (IterableToListWithSymbolLookup) such that holey arrays take the slow path.
      It also includes tests for such situations.
      
      Original change's description:
      > [interpreter] Add bytecode for leading array spreads.
      >
      > This CL improves the performance of creating [...a, b] or [...a].
      > If the array literal has a leading spread, this CL emits the bytecode
      > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      > is implemented by [IterableToListDefault] builtin to create the initial
      > array for the leading spread. IterableToListDefault has a fast path to
      > clone efficiently if the spread is an actual array.
      >
      > The bytecode generated is now shorter. Bytecode generation is refactored
      > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      > from this optimization also.
      > For now, turbofan also lowers the bytecode to the builtin.
      >
      > The idiomatic use of [...a] to clone the array a now performs better
      > than a simple for-loop, but still does not match the performance of slice.
      >
      > Bug: v8:7980
      >
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      > Reviewed-on: https://chromium-review.googlesource.com/1181024
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Commit-Queue: Hai Dang <dhai@google.com>
      > Cr-Commit-Position: refs/heads/master@{#55520}
      
      Bug: v8:7980
      Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1201882
      Commit-Queue: Hai Dang <dhai@google.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55639}
      5f8a4272
  29. 04 Sep, 2018 1 commit
    • Mike Stanton's avatar
      [builtins] Enable Torque Array.prototype.splice · fd334b32
      Mike Stanton authored
      Before, splice was implemented with a C++ fast path and a
      comprehensive JavaScript version.
      
      This impl. is entirely in Torque with a fastpath for SMI,
      DOUBLE and OBJECT arrays, and a comprehensive slow path.
      The same level of "sparse" array support as given by the
      array.js implementation is included.
      
      This reland addresses several issues:
      
      * Removed "sparse" array support from splice.
      * Addressed ClusterFuzz issue 876443:
        The test and code that uses the fix is in this CL.
        The fix in isolation can be seen here:
        https://chromium-review.googlesource.com/c/v8/v8/+/1199403
      * Removed dead code in elements.cc
      
      BUG=chromium:876443, v8:8131, v8:1956, v8:7221
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I2d4a66c24ba1edabeca34e27e6ff8ee6136ed5f1
      Reviewed-on: https://chromium-review.googlesource.com/1201783
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55610}
      fd334b32
  30. 31 Aug, 2018 1 commit
    • Georg Neis's avatar
      Revert "[interpreter] Add bytecode for leading array spreads." · ef569028
      Georg Neis authored
      This reverts commit 1c48d52b.
      
      Reason for revert: Clusterfuzz found something.
      
      Original change's description:
      > [interpreter] Add bytecode for leading array spreads.
      > 
      > This CL improves the performance of creating [...a, b] or [...a].
      > If the array literal has a leading spread, this CL emits the bytecode
      > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      > is implemented by [IterableToListDefault] builtin to create the initial
      > array for the leading spread. IterableToListDefault has a fast path to
      > clone efficiently if the spread is an actual array.
      > 
      > The bytecode generated is now shorter. Bytecode generation is refactored
      > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      > from this optimization also.
      > For now, turbofan also lowers the bytecode to the builtin.
      > 
      > The idiomatic use of [...a] to clone the array a now performs better
      > than a simple for-loop, but still does not match the performance of slice.
      > 
      > Bug: v8:7980
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      > Reviewed-on: https://chromium-review.googlesource.com/1181024
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Commit-Queue: Hai Dang <dhai@google.com>
      > Cr-Commit-Position: refs/heads/master@{#55520}
      
      TBR=rmcilroy@chromium.org,neis@chromium.org,sigurds@chromium.org,gsathya@chromium.org,jgruber@chromium.org,dhai@google.com
      
      Change-Id: I1c86ddcc24274da9f5a8dd3d8bf8d869cbb55cb6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7980
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1199303Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55544}
      ef569028