- 23 Aug, 2018 3 commits
-
-
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:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#55360}
-
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:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#55355}
-
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:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55325}
-
- 14 Aug, 2018 1 commit
-
-
Leszek Swirski authored
This reverts commit 5a389395. Reason for revert: Breaks some chromium tests. Not your fault, but it's blocking the roll so we have to fix those first -- then you can reland without changes: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21727 Original change's description: > [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} TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7382, v8:7624 Change-Id: Id4002d8080648c418639d35e7b82487fa43f463d Reviewed-on: https://chromium-review.googlesource.com/1174231 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#55114}
-
- 09 Aug, 2018 1 commit
-
-
Simon Zünd authored
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}
-
- 03 Jul, 2018 1 commit
-
-
Simon Zünd authored
This CL is a manual revert of the Array.p.sort Torque QuickSort implementation. The plan is to ship TimSort in either Chromium 69 or 70 and not ship Torque-QuickSort at all (to keep disruption to a minimum). For this reason we revert back to the implementation in array.js. R=jgruber@chromium.org Bug: chromium:859809, v8:7382 Change-Id: I92eb70408883f51d98311e78642f554316bc1e76 Reviewed-on: https://chromium-review.googlesource.com/1124334Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#54166}
-
- 05 Jun, 2018 1 commit
-
-
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:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53511}
-
- 04 Jun, 2018 2 commits
-
-
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:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53494}
-
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:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53481}
-
- 26 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951}
-
- 20 Oct, 2017 1 commit
-
-
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:
Adam Klein <adamk@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#48800}
-
- 11 Mar, 2016 1 commit
-
-
mstarzinger authored
This converts another test case that is expected to throw a TypeError but no SyntaxError to have better test coverage (exact message is being checked now). R=machenbach@chromium.org TEST=message,preparser Review URL: https://codereview.chromium.org/1786623002 Cr-Commit-Position: refs/heads/master@{#34715}
-
- 31 Mar, 2011 1 commit
-
-
lrn@chromium.org authored
Remove test for existence of VM. Not all tests need the VM. Review URL: http://codereview.chromium.org/6783011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Mar, 2011 2 commits
-
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6756036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
The test suite builds the preparser test program and runs it on each .js file in the test/preparser directory. Currently it only checks that preparsing runs without crashing or erroring. This also implicitly tests that the preparser library can be built. TEST=test/preparser/*.js Review URL: http://codereview.chromium.org/6777010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-