1. 23 Aug, 2018 3 commits
    • Simon Zünd's avatar
      Reland ^2 "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" · fa11e2ac
      Simon Zünd authored
      This is a reland of 9e48a24f
      
      Original change's description:
      > Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"
      >
      > The CL was reverted because it broke some tests in ChromeOS.
      >
      > > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      > >
      > > This CL changes the sorting algorithm used in Array.p.sort from
      > > QuickSort to TimSort (implemented in Torque).
      > >
      > > Detailed performance results can be found here: https://goo.gl/4E733J
      > >
      > > To save on code space, fast-paths are implemented as sets of
      > > function pointers instead of specializing generics.
      > >
      > > R=cbruni@chromium.org, jgruber@chromium.org
      > >
      > > Bug: v8:7382, v8:7624
      > > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > > Commit-Queue: Simon Zünd <szuend@google.com>
      > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#55003}
      >
      > Bug: v8:7382, v8:7624
      > Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      > Reviewed-on: https://chromium-review.googlesource.com/1184901
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55325}
      
      Bug: v8:7382, v8:7624
      Change-Id: I297611f45c09967e0f6961156b0c9ebdebc7053f
      Reviewed-on: https://chromium-review.googlesource.com/1186801
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55360}
      fa11e2ac
    • Maya Lekova's avatar
      Revert "Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"" · 8e43b9c0
      Maya Lekova authored
      This reverts commit 9e48a24f.
      
      Reason for revert: Possibly breaking the V8-Blink Mac bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Mac/15097
      
      Original change's description:
      > Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"
      > 
      > The CL was reverted because it broke some tests in ChromeOS.
      > 
      > > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      > >
      > > This CL changes the sorting algorithm used in Array.p.sort from
      > > QuickSort to TimSort (implemented in Torque).
      > >
      > > Detailed performance results can be found here: https://goo.gl/4E733J
      > >
      > > To save on code space, fast-paths are implemented as sets of
      > > function pointers instead of specializing generics.
      > >
      > > R=cbruni@chromium.org, jgruber@chromium.org
      > >
      > > Bug: v8:7382, v8:7624
      > > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > > Commit-Queue: Simon Zünd <szuend@google.com>
      > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#55003}
      > 
      > Bug: v8:7382, v8:7624
      > Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      > Reviewed-on: https://chromium-review.googlesource.com/1184901
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55325}
      
      TBR=jgruber@chromium.org,szuend@google.com
      
      Change-Id: Ie7e2af57a6480aa0504ba21ec98ee825d7ac74fe
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7382, v8:7624
      Reviewed-on: https://chromium-review.googlesource.com/1186601Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55355}
      8e43b9c0
    • Simon Zünd's avatar
      Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" · 9e48a24f
      Simon Zünd authored
      The CL was reverted because it broke some tests in ChromeOS.
      
      > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      >
      > This CL changes the sorting algorithm used in Array.p.sort from
      > QuickSort to TimSort (implemented in Torque).
      >
      > Detailed performance results can be found here: https://goo.gl/4E733J
      >
      > To save on code space, fast-paths are implemented as sets of
      > function pointers instead of specializing generics.
      >
      > R=cbruni@chromium.org, jgruber@chromium.org
      >
      > Bug: v8:7382, v8:7624
      > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55003}
      
      Bug: v8:7382, v8:7624
      Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      Reviewed-on: https://chromium-review.googlesource.com/1184901
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55325}
      9e48a24f
  2. 14 Aug, 2018 1 commit
  3. 09 Aug, 2018 1 commit
  4. 03 Jul, 2018 1 commit
  5. 05 Jun, 2018 1 commit
    • Simon Zünd's avatar
      Reland "[array] Implement Array.p.sort in Torque" · aff80345
      Simon Zünd authored
      This is a reland of df1676e6
      
      Original change's description:
      > [array] Implement Array.p.sort in Torque
      >
      > This CL implements a generic baseline version and 3 fastpaths, for
      > various elements kinds, of Array.p.sort in Torque. Details can be found
      > in the Design Doc: https://goo.gl/Ge321G.
      >
      > Performance impact on micro benchmarks depends on the element kind
      > and whether the user provides a comparison function.
      > For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      > the board. For Dictionary we are slower in all micro benchmarks (0.7).
      > For PackedSmi it depends on the call site and whether or not a
      > comparison function is used.
      >
      > Detailed numbers: https://goo.gl/mTyPSb
      >
      > Bug: v8:7382
      > Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      > Reviewed-on: https://chromium-review.googlesource.com/1061523
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53481}
      
      Bug: v8:7382,v8:7806,chromium:849293
      Change-Id: I176cb660d92eb174bd91685cb0a39f50c4cbaa69
      Reviewed-on: https://chromium-review.googlesource.com/1086827Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Simon Zünd <szuend@google.com>
      Cr-Commit-Position: refs/heads/master@{#53511}
      aff80345
  6. 04 Jun, 2018 2 commits
    • Jakob Gruber's avatar
      Revert "[array] Implement Array.p.sort in Torque" · 3348ed0b
      Jakob Gruber authored
      This reverts commit df1676e6.
      
      Reason for revert: https://crbug.com/v8/7382#c26
      
      Original change's description:
      > [array] Implement Array.p.sort in Torque
      > 
      > This CL implements a generic baseline version and 3 fastpaths, for
      > various elements kinds, of Array.p.sort in Torque. Details can be found
      > in the Design Doc: https://goo.gl/Ge321G.
      > 
      > Performance impact on micro benchmarks depends on the element kind
      > and whether the user provides a comparison function.
      > For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      > the board. For Dictionary we are slower in all micro benchmarks (0.7).
      > For PackedSmi it depends on the call site and whether or not a
      > comparison function is used.
      > 
      > Detailed numbers: https://goo.gl/mTyPSb
      > 
      > Bug: v8:7382
      > Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      > Reviewed-on: https://chromium-review.googlesource.com/1061523
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53481}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com
      
      Change-Id: I4c1b32a434d49caba67c80bccb068390607f90a2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7382
      Reviewed-on: https://chromium-review.googlesource.com/1085407Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53494}
      3348ed0b
    • Simon Zünd's avatar
      [array] Implement Array.p.sort in Torque · df1676e6
      Simon Zünd authored
      This CL implements a generic baseline version and 3 fastpaths, for
      various elements kinds, of Array.p.sort in Torque. Details can be found
      in the Design Doc: https://goo.gl/Ge321G.
      
      Performance impact on micro benchmarks depends on the element kind
      and whether the user provides a comparison function.
      For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      the board. For Dictionary we are slower in all micro benchmarks (0.7).
      For PackedSmi it depends on the call site and whether or not a
      comparison function is used.
      
      Detailed numbers: https://goo.gl/mTyPSb
      
      Bug: v8:7382
      Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      Reviewed-on: https://chromium-review.googlesource.com/1061523
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53481}
      df1676e6
  7. 26 Oct, 2017 1 commit
  8. 20 Oct, 2017 1 commit
    • Mathias Bynens's avatar
      [js] Remove CHECK_OBJECT_COERCIBLE for Array methods · 35b6aa38
      Mathias Bynens authored
      The spec got rid of `CheckObjectCoercible` a while back, and so should
      we. This change is not observable in most of the affected cases since
      `ToObject` is up near the top of most Array method algorithms. An
      example of an observable effect of this change occurs for the following
      input:
      
          Array.prototype.sort.call(null, 1);
      
      Behavior before applying the patch (incorrect message):
      
          TypeError: Array.prototype.sort called on null or undefined
      
      Expected behavior:
      
          TypeError: The comparison function must be either a function or
                     undefined
      
      This patch removes `CheckObjectCoercible` and adds tests to ensure the
      few observable cases are addressed correctly.
      
      The patch also adds a missing `ToObject(this)` to
      `Array.prototype.lastIndexOf` which would otherwise become observable
      as a result of `CheckObjectCoercible` being removed.
      
      BUG=v8:3577,v8:6921
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ia086095076c4bf4d8d58dab26bc28df02994ed01
      Reviewed-on: https://chromium-review.googlesource.com/718577Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48800}
      35b6aa38
  9. 11 Mar, 2016 1 commit
  10. 31 Mar, 2011 1 commit
  11. 30 Mar, 2011 2 commits