- 18 Feb, 2019 1 commit
-
-
Daniel Clifford authored
In the process, cleanup the StoreFixedArray* operators and change most FixedArray element accesses so that they explicitly use the '.objects' and '.floats' fields. Bug: v8:7793 Change-Id: I3e45a9b7536ec76e1413b7e508d79a56b37604ff Reviewed-on: https://chromium-review.googlesource.com/c/1460948 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59649}
-
- 05 Dec, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I12aae5d61a21f3e6e010e07622fe0d01a5ba03eb Reviewed-on: https://chromium-review.googlesource.com/c/1344118 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58052}
-
- 27 Nov, 2018 1 commit
-
-
Daniel Clifford authored
Change-Id: I57e21c5bc754ca07f52032f85ec8aeff96448dd0 Reviewed-on: https://chromium-review.googlesource.com/c/1342929 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57855}
-
- 20 Nov, 2018 1 commit
-
-
Daniel Clifford authored
Includes creating Oddball-specific types. Change-Id: Ib5d80dfe95838b2deb0a2fcae67c349940970252 Reviewed-on: https://chromium-review.googlesource.com/c/1342930Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#57655}
-
- 15 Nov, 2018 1 commit
-
-
Daniel Clifford authored
Change-Id: I0652a75f6d1f6abfb40ba9bf35afeadfd4533336 Reviewed-on: https://chromium-review.googlesource.com/c/1328801 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57531}
-
- 13 Nov, 2018 1 commit
-
-
Mike Stanton authored
BUG=v8:7793 Change-Id: Ibcf16998ef9a44ae899a2536ccf02af1b7b7193d Reviewed-on: https://chromium-review.googlesource.com/c/1333410 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57469}
-
- 31 Oct, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: chromium:899029 Change-Id: I0fc724d5c77e5cbf2580de53f48934ae6f968934 Reviewed-on: https://chromium-review.googlesource.com/c/1310196Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57189}
-
- 19 Oct, 2018 3 commits
-
-
Daniel Clifford authored
In the process: - add volatile types for FastJSArray and remove the length_fast accessor from JSArray with the application of more rigorous typing. - add micro benchmarks for testing all the interesting slice cases Also update a few assorted places in .tq code to make them more idiomatic. The original version of this patch had an overly agressive assert that has been loosened. TBR=jgruber@chromium.org Change-Id: I56870862f4b124d1b38372daa326182a526c874c Reviewed-on: https://chromium-review.googlesource.com/c/1291375Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#56829}
-
Sigurd Schneider authored
This reverts commit 41ba3d3e. Reason for revert: Speculative revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Fuzzer/27370 https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20predictable/19895 Original change's description: > [builtins] Implement Array.prototype.slice in Torque > > In the process: > > - add volatile types for FastJSArray and remove the length_fast accessor > from JSArray with the application of more rigorous typing. > - add micro benchmarks for testing all the interesting slice cases > > Also update a few assorted places in .tq code to make them more > idiomatic. > > Change-Id: I76ec2bb25b65a869180af1f7288419dc1f0a9c37 > Reviewed-on: https://chromium-review.googlesource.com/c/1281603 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56806} TBR=danno@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: I1f2c82b4c3ab0848857f620facacf9604d4fcd11 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1290973Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56815}
-
Daniel Clifford authored
In the process: - add volatile types for FastJSArray and remove the length_fast accessor from JSArray with the application of more rigorous typing. - add micro benchmarks for testing all the interesting slice cases Also update a few assorted places in .tq code to make them more idiomatic. Change-Id: I76ec2bb25b65a869180af1f7288419dc1f0a9c37 Reviewed-on: https://chromium-review.googlesource.com/c/1281603 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56806}
-
- 28 Sep, 2018 1 commit
-
-
Daniel Clifford authored
This CL adds a bit more rigor to the handling of length properties in JSObject-derived classes that explicitly contain that property inline. This involves: - Introducing a new superclass of JSArgumentsObject called JSArgumentsObjectWithLength that is shared with other object instances that also have a fixed length property. - Adding JSArgumentsObjectWithLength to the type hierarchy in Torque, including adding fast-cases for leading the length property for all classes deriving from JSObjectWithLength. - Adding more rigor to Context and NativeContext handling in base.tq. This is useful for the map checks required to verify objects are argument object types derived from JSArgumentsObjectWithLength. Change-Id: I2f0a20601ffcb90b3767cbaeb766e9998d3462ec Reviewed-on: https://chromium-review.googlesource.com/1248661 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56289}
-
- 24 Sep, 2018 1 commit
-
-
Daniel Clifford authored
Issues/problems addressed: - Fix line-wrapping and indenting for long declarations including strings, e.g. generates and constexpr clauses. - Implement proper formatting for typeswitch statements - Fix formatting of operator declarations - Fix formatting of constexpr if-clauses (the constexpr is now included on the same line as the if and it doesn't mess up the formatting that - Fix formatting of label declarations on callables, the "label" keyword now always starts a new line with indentation. - Remove space after identifier name in generic parameter declarations, e.g. "<a : T>" is now "<a: T>" which is consistent with type specification formatting elsewhere. - Indent "otherwise" clauses that have been pushed to the next line. Also ran the formatter over all existing .tq files. Bug: v8:7793 Change-Id: I5adbb2ffa3d573deed062f9a5c1da57348c8fc71 Reviewed-on: https://chromium-review.googlesource.com/1238580 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56158}
-
- 11 Sep, 2018 1 commit
-
-
Simon Zünd authored
To make the changes in base.tq work, there were 2 changes needed on the C++ side: - calls to "FromConstexpr" are generated by the compiler for implicit conversions. - type switch is desugared and uses "Cast" R=jgruber@chromium.org, tebbi@chromium.org Change-Id: I085f1a393f93e501e6bbcaeacb0d6568259a4714 Reviewed-on: https://chromium-review.googlesource.com/1219629 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55794}
-
- 06 Sep, 2018 2 commits
-
-
Simon Zünd authored
Also changes occurrences of 'length' with kLengthString. R=mvstanton@chromium.org Bug: v8:8015 Change-Id: Ida205a7d69939d7d3473e1ab8e82d0cdba4c8668 Reviewed-on: https://chromium-review.googlesource.com/1209302Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55686}
-
Simon Zünd authored
This CL implements a generic baseline version of Array.p.unshift in Torque, enabling us to remove the JS fall-back. The elements-accessor fast-path is still used, but the check whether to use it is also moved to Torque. Support for sparse JSArrays is removed. Drive-by change: Small refactoring in builtins-array that will get extended to other array builtins in a follow-up CL. R=cbruni@chromium.org, jgruber@chromium.org Bug: v8:7624 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7b23ce15e7b922eb333f61a408050dedec77c95a Reviewed-on: https://chromium-review.googlesource.com/1189902 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@{#55670}
-
- 04 Sep, 2018 1 commit
-
-
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: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55610}
-
- 03 Sep, 2018 1 commit
-
-
Simon Zünd authored
This CL replaces occurrences of "length" with the CSA macro LengthStringConstant(). R=jgruber@chromium.org Bug: v8:8015 Change-Id: Idf095587940f859e4c634865560abae325cd9fb4 Reviewed-on: https://chromium-review.googlesource.com/1201782Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55578}
-
- 24 Aug, 2018 1 commit
-
-
Simon Zünd authored
This CL adds a baseline implementation for Array.p.reverse in Torque, as well as fastpaths for PACKED elements kinds. Support for sparse JSArrays was removed. R=jgruber@chromium.org, petermarshall@chromium.org Bug: v8:7624 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I12900fbbb44746f1c5d36b78be826e14b88b4f69 Reviewed-on: https://chromium-review.googlesource.com/1185600 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55369}
-
- 22 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
This reverts commit cdaaa311. Reason for revert: chromium:876445 chromium:876453 chromium:876443 Original change's description: > [builtins] Reland Array.prototype.splice() Torque implementation. > > 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. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f > Reviewed-on: https://chromium-review.googlesource.com/1169466 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55263} TBR=mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: I5b750a98e671b7284474ffcabc6b4d37a9d1219e No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1184741Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55289}
-
- 21 Aug, 2018 1 commit
-
-
Tobias Tebbi 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. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f Reviewed-on: https://chromium-review.googlesource.com/1169466Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55263}
-
- 10 Aug, 2018 1 commit
-
-
Simon Zünd authored
This CL replaces Delete/SetProperty runtime calls with calls to their stub version. The stubs will bail to the runtime themselves if they can't perform the action. R=jgruber@chromium.org Bug: v8:8015 Change-Id: I1f141296ee074e028c27a3682e2eb46d9f74c0d9 Reviewed-on: https://chromium-review.googlesource.com/1169810Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55031}
-
- 09 Aug, 2018 2 commits
-
-
Simon Zünd authored
This CL changes the order of the parameters of HasProperty to be more consistent with other CSA macros. Drive-by-change: Use HasProperty stub directly in Torque. R=jgruber@chromium.org Bug: v8:8015 Change-Id: I73d1096afbb86d52e2af67c1969549f1158448a7 Reviewed-on: https://chromium-review.googlesource.com/1166831 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#55025}
-
Michael Hablich authored
This reverts commit ff4fa92e. Reason for revert: blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/1167969 ... see https://chromium-swarm.appspot.com/task?id=3f344f7ada4e0110&refresh=10&show_raw=1 for stacktrace. Original change's description: > [builtins] Enable Torque Array.prototype.splice > > 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. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 > Reviewed-on: https://chromium-review.googlesource.com/1039190 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54974} TBR=danno@chromium.org,yangguo@chromium.org,mvstanton@chromium.org,tebbi@chromium.org,szuend@google.com Change-Id: I900f667b30a0cf673ead9621618a9988cf85ffdf No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1168902 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54998}
-
- 08 Aug, 2018 1 commit
-
-
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. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 Reviewed-on: https://chromium-review.googlesource.com/1039190Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54974}
-
- 07 Aug, 2018 1 commit
-
-
Mike Stanton authored
The CSA HasProperty has an inlining that makes it rather large. Also, tighten up some type usage. ToObject() returns a JSReceiver and we can do with less casting if we make use of this. Change-Id: I56d2443b5d409314cc3c74a5a079810d857727ad Reviewed-on: https://chromium-review.googlesource.com/1165241 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54951}
-
- 02 Jul, 2018 1 commit
-
-
Daniel Clifford authored
In the process, create a shared array utility GetLengthProperty that fast-paths accessing the length properties of JSArray. Bug: v8:7793 Change-Id: I6d7f0007c162794773dc0fc3e8bf12b3adf12fa0 Reviewed-on: https://chromium-review.googlesource.com/1116221 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54133}
-
- 18 Jun, 2018 1 commit
-
-
Simon Zünd authored
R=jgruber@chromium.org Bug: v8:7382 Change-Id: I5b92f46736d8c0ca8ef0f187ecaa1d58661a1c7f Reviewed-on: https://chromium-review.googlesource.com/1101690Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53778}
-
- 13 Jun, 2018 2 commits
-
-
Daniel Clifford authored
In the process and as a test case of the module/file-handling, separate Array.p.forEach into its own Torque file. Bug: v8:7793 Change-Id: If45103a9df3bf8fade34e7bcf7c7c9c060e25966 Reviewed-on: https://chromium-review.googlesource.com/1097755Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53703}
-
Simon Zünd authored
R=tebbi@chromium.org Bug: v8:7793 Change-Id: I691b3682aec3269350ee02c29b48ce1d46a1ffcb Reviewed-on: https://chromium-review.googlesource.com/1098656Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53701}
-
- 12 Jun, 2018 1 commit
-
-
Daniel Clifford authored
In the process: - Add strict ordering of Types so that name mangling is consistent and build time. Previously, the UnionType stored the union's types in a std::set<const Type*>, which did not have a consistent ordering of the types in the set. - Add a int31 type to enable consistency and correctness of handling of 'constexpr int31' values on the C++ side. - By removing the "implicit" keyword for operators, there is now one less difference between operators and calls, another incremental step in unifying operators and calls. - Enable external (i.e. C++-defined) generic specializations - Add CSA support for checking double ElementsKinds, including tests. - Clean up some constexpr/non-constexpr handling of ElementsKinds. Bug: v8:7793 Change-Id: I27699aba70b98ebf5466e5b62b045d7b1dad62c8 Reviewed-on: https://chromium-review.googlesource.com/1091155 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53664}
-
- 07 Jun, 2018 1 commit
-
-
Simon Zünd authored
This is a reland of 91bab558 This CL contains two major changes w.r.t to the original CL: The random state is removed from the Smi root list and we pre-seed the RNG on each sort with the length of the array. To cut down on the length of the arguments list and to keep track of the random state across recursive calls, we move most of the sort arguments into a FixedArray and reload from the array for each recursion. Original change's description: > [array] Use random middle element to determine pivot during sorting > > This CL adds a "random state" to the Smi Root list and implements a > basic Linear congruential pseudo random number generator in Torque. > > The RNG is used to determine the pivot element for sorting. This will > prevent the worst cases for certain data layouts. > > Drive-by-fix: Make sorting of ranges and execution pauses for profviz > deterministic by adding a secondary sorting criteria. > > Bug: v8:7382 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ieb871e98e74bdb803f821b0cd35d2f67ee0f2868 > Reviewed-on: https://chromium-review.googlesource.com/1082193 > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-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@{#53524} Bug: v8:7382 Change-Id: Ia7bef7ed1c0e904ffe43bc428e702f64f9c6a60b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1087888Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53583}
-
- 06 Jun, 2018 1 commit
-
-
Michael Achenbach authored
This reverts commit 91bab558. Reason for revert: Seems to break a layout test: https://ci.chromium.org/buildbot/client.v8.fyi/V8-Blink%20Linux%2064/23895 See also: https://github.com/v8/v8/wiki/Blink-layout-tests Original change's description: > [array] Use random middle element to determine pivot during sorting > > This CL adds a "random state" to the Smi Root list and implements a > basic Linear congruential pseudo random number generator in Torque. > > The RNG is used to determine the pivot element for sorting. This will > prevent the worst cases for certain data layouts. > > Drive-by-fix: Make sorting of ranges and execution pauses for profviz > deterministic by adding a secondary sorting criteria. > > Bug: v8:7382 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ieb871e98e74bdb803f821b0cd35d2f67ee0f2868 > Reviewed-on: https://chromium-review.googlesource.com/1082193 > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-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@{#53524} TBR=hpayer@chromium.org,cbruni@chromium.org,jgruber@chromium.org,szuend@google.com Change-Id: I54f5d3f719428fd089ff12ff217d1c819f9ad1f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7382 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1088506Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53542}
-
- 05 Jun, 2018 2 commits
-
-
Simon Zünd authored
This CL adds a "random state" to the Smi Root list and implements a basic Linear congruential pseudo random number generator in Torque. The RNG is used to determine the pivot element for sorting. This will prevent the worst cases for certain data layouts. Drive-by-fix: Make sorting of ranges and execution pauses for profviz deterministic by adding a secondary sorting criteria. Bug: v8:7382 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ieb871e98e74bdb803f821b0cd35d2f67ee0f2868 Reviewed-on: https://chromium-review.googlesource.com/1082193Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-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@{#53524}
-
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}
-
- 29 May, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7754 Change-Id: I8548d0e07fabc23bb5f65b1f91683c756195ae1b Reviewed-on: https://chromium-review.googlesource.com/1071654Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53398}
-
- 24 May, 2018 1 commit
-
-
Simon Zünd authored
R=tebbi@chromium.org Change-Id: Id524c8239f99fc26ac5cd19cbdea39dba62f2c3f Reviewed-on: https://chromium-review.googlesource.com/1071650Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53331}
-
- 18 May, 2018 1 commit
-
-
Mike Stanton authored
Making it into more "idiomatic" Torque code (we are still defining what that means). Template specialization on double and fast fixed arrays allowed me to cut down on the boilerplate. Bug: v8:7672 Change-Id: Ia35706993a9e2ea087ecc3ef93b3a5864ec97827 Reviewed-on: https://chromium-review.googlesource.com/1064054 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53246}
-
- 09 May, 2018 1 commit
-
-
Mike Stanton authored
BUG=v8:7672 Change-Id: I0c157ce88b31312dfbea7a149c1d9fbdfb398278 Reviewed-on: https://chromium-review.googlesource.com/1013524 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53091}
-