- 26 Aug, 2021 1 commit
-
-
Joyee Cheung authored
Taken from https://chromium-review.googlesource.com/c/v8/v8/+/2944249 Bug: v8:10793 Change-Id: I7bd0ed9b4af48d3cade6cd98b49a1733f3101da3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3105650Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#76501}
-
- 19 Aug, 2021 1 commit
-
-
Jakob Kummerow authored
Some of the Array benchmarks were unintentionally spending a lot of time on Number-to-String conversions. This patch avoids that, by computing the dynamically-created strings only once. Bug: chromium:1240981 Change-Id: If10826813d555398b45c22c958dee27e17f35d3c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3106747Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#76387}
-
- 12 Aug, 2021 1 commit
-
-
Joyee Cheung authored
Landing define-class-fields microbencharks upstream before optimization so that the benefit is visible. Bug: v8:9888 Change-Id: Ie3bd2bd2cdd5710f43e398aa834985b5faa973d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999030 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#76267}
-
- 23 Jun, 2021 1 commit
-
-
Mihir Shah authored
The change is made since for switch statements with lots of cases, where each case is a constant integer, the emitted bytecode is still a series of jumps, when we can instead use a jump table. If there are 6 or more cases (similar to GCC) of Smi literals, and if the max Smi case minus the min Smi case is not more than 3 times the number of cases, we use a jump table up front to handle Smi's, and then use traditional if-else logic for the rest of the cases. We then use the jump table in interpreter/bytecode-jump-table to do the optimization. This tries to go off issue 9738 in v8's issue tracker. It is not exactly the same, since that recommends doing the work at JIT-time, but has similar ideas. It also partially goes off issue 10764. Bug: v8:9738 Change-Id: Ic805682ee3abf9ce464bb733b427fa0c83a6e10c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2904926Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75323}
-
- 01 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883}
-
- 25 Feb, 2021 1 commit
-
-
Hannes Payer authored
Change-Id: I86b0d01ed283f97cde2f3d71df68c3a75107c61d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712906Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73051}
-
- 16 Nov, 2020 1 commit
-
-
Marja Hölttä authored
- Add tests comparing super property access to normal property access - Shift the work so that the framework takes less time and the thing we're trying to measure takes more time. - Optimize / disable the optimization for the target function, not the whole test framework. - Reduce the amount of boilerplate code in the tests. Bug: v8:9237 Change-Id: Idde133298c9b8ffb3d49945ef9c67f5039634598 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2536635Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71196}
-
- 31 Aug, 2020 1 commit
-
-
Marja Hölttä authored
The goal is to have one graph per test case, and inside the graph, 4 different lines: - baseline - baseline noopt - super-ic - super-ic noopt Bug: v8:9237 Change-Id: I511b5555487a3d96698a3fb648abf76a13f76858 No-Try: True Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2384770Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#69618}
-
- 25 Aug, 2020 1 commit
-
-
Marja Hölttä authored
Bug: v8:9237 Change-Id: Iaa1e3485eaecdd5af654177f207a990a2e63396b No-Try: True Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2374545Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#69546}
-
- 24 Aug, 2020 1 commit
-
-
Marja Hölttä authored
Bug: v8:9237 No-Try: True Change-Id: Ic1bba1e0f5584350217c3971dfcc769c86beb1fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366694 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#69538}
-
- 30 Jul, 2020 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:10477 Change-Id: I0ce6cd46d3886a37e96bdd62df263addc5b9631f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2327186Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69136}
-
- 01 Jul, 2020 1 commit
-
-
Camillo Bruni authored
Skip unhandled promises for AsyncAwait performance test. Bug: v8:1099632 Change-Id: I21d69d5700860f0b05fb8c6c90ea85dc28cb3890 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274606Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#68631}
-
- 29 Jun, 2020 1 commit
-
-
Camillo Bruni authored
This slows down promise benchmarks since we process all unhandled promises. Bug: vu:1099632 Change-Id: I2188a2842ec0a69ca93e5d406f10371ceff60f9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270235Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#68575}
-
- 04 May, 2020 1 commit
-
-
Nico Hartmann authored
Bug: v8:5660 Change-Id: I8952535b2a361d56ae6822b1efbda88a4149c593 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162166 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67526}
-
- 12 Feb, 2020 1 commit
-
-
Santiago Aboy Solanes authored
We were calling setup for both the setup and the run. Bug: v8:10155 Change-Id: Id60df16ad8c98f443dc1b1a9a2155000999ab815 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2039431Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66234}
-
- 22 Oct, 2019 1 commit
-
-
Nico Hartmann authored
BigInt performance benchmarks are restructured in JSTest1.json in such a way that it is easier to run meaningful subsets of BigInt test cases. Bug: v8:9213 Change-Id: Ibf94bfb0f14cf8afa890927d97f920659e8b28d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1872390 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64468}
-
- 09 Oct, 2019 1 commit
-
-
Mythri A authored
Bug: v8:8394 Change-Id: Idd8f3a4a096c94b355ff0ef491281da31a1c960b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849529Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64198}
-
- 16 Aug, 2019 1 commit
-
-
Sathya Gunasekaran authored
Bug: v8:9616 Change-Id: Ieca74f8df90b342672c8904beef2c2298f0ba597 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1755991Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#63221}
-
- 12 Jul, 2019 2 commits
-
-
Santiago Aboy Solanes authored
Reorganized folder as well. Bug: v8:9451 Change-Id: I65203aa88791dd05d6ca0127d5b832ccd898aa52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695901 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#62690}
-
Sathya Gunasekaran authored
Bug: v8:9449 Change-Id: I7c50db92459df2a8a7da7b0bd2efdd2f3bed3e46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690952Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62671}
-
- 04 Jul, 2019 2 commits
-
-
Santiago Aboy Solanes authored
This will be used to test InterpreterEntryTrampoline Change-Id: I2ee2cffea0741e15597a7e31f70e156e9aaa1c2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688890Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62527}
-
Santiago Aboy Solanes authored
Change-Id: I154b7705fe9750ed16166c50a22cd16b0abc0425 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687889 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62523}
-
- 01 Jul, 2019 3 commits
-
-
Tamer Tas authored
crrev.com/c/1656852 Added an Array.reduce microbenchmark for frozen objects. On Android devices, resources need to be whitelisted for loading. This CL whitelists the missing resource file R=bmeurer@chromium.org,verwaest@chromium.org CC=duongn@microsoft.com Bug: v8:9417 Change-Id: I0a2caca2eaaa769b085f28c3fede3a0c62d64754 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1683994 Auto-Submit: Tamer Tas <tmrts@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62468}
-
Tamer Tas authored
crrev.com/c/1653733 Added an Array.map microbenchmark for frozen objects. The micro-benchmark is missing from the resource files. On Android devices, resources need to be whitelisted for loading. The missing resource file is causing the error in https://chrome-swarming.appspot.com/task?id=45c1664eaeefd410 This CL adds the missing resource file R=bmeurer@chromium.org,verwaest@chromium.org,duongn@microsoft.com Bug: v8:9417 Change-Id: I66f8d989a1fafe5b2a357bdae7b3abd58ae54223 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682576 Commit-Queue: Tamer Tas <tmrts@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Tamer Tas <tmrts@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62463}
-
Nico Hartmann authored
Bug: v8:9213 Change-Id: I05f56f7bdd8d15f2ae992a97529fba18f0644c55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678417 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#62461}
-
- 28 Jun, 2019 1 commit
-
-
Frank Tang authored
Measure speed regression of a range of char in complex regexp The measurement is using the code from chromium:977003 To measure python -u tools/run_perf.py --binary-override-path out/x64.release/d8 \ test/js-perf-test/RegExp.json Run on three setting: a. m74 based on tag 7.4.301 b. trunk (m77) c. apply cl 1674851 on trunk ComplexCaseInsensitiveTest-RegExp Score is better if higher Score imp % comp to m74 m74 22910 23430 23360 Trunk (m77) 15190 66.30% 15710 67.05% 15570 66.65% CL 1674851 24590 161.88% 107.33% 24690 157.16% 105.38% 24200 155.43% 103.60% Bug: chromium:977003 Change-Id: I7756f4739c44a07949103650565d1ca902e1b7ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1679651Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#62449}
-
- 25 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:6664 Change-Id: If5a8a85a7537fa429fb58d1e0654ffe5f6a5897f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669788 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62363}
-
- 24 Jun, 2019 1 commit
-
-
Clemens Hammacher authored
We have a global test/OWNERS that has "file://COMMON_OWNERS". This CL removes redundant OWNERS files in test/ subdirectories and removes redundant entries from OWNERS files we need to keep for special per-file entries. R=yangguo@chromium.org, machenbach@chromium.org CC=jkummerow@chromium.org Bug: v8:9247 Change-Id: Ic2e8cbe8e379d7d23c86c6164305e65807f28ed3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674024Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62336}
-
- 17 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:664 Change-Id: I180a59462bd22a1f2378a59fd31edbb539603a1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1659569 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62227}
-
- 13 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:6831 Change-Id: I61d4080e11e354fb47d5c79c3c26076488f3fe13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1656852 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62156}
-
- 12 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:6831 Change-Id: I79cd1e25ddca17f0d5026bee737cd3fde0041e85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1653733 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62124}
-
- 11 Jun, 2019 2 commits
-
-
Z Nguyen-Huu authored
Bug: v8:6664 Change-Id: Iaef787b3b0c2a24de57b7c3a5c4e75e5a723228e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1652061 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62101}
-
Z Nguyen-Huu authored
Bug: v8:6831 Change-Id: I906dcc363620fda97f00cb02b68c3e393471076d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1651144Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62093}
-
- 06 Jun, 2019 1 commit
-
-
Nico Hartmann authored
Bug: v8:9213 Change-Id: Iee04bfe25e37cfe639964f8ab31e6702d3750bfb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645319 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#62016}
-
- 05 Jun, 2019 1 commit
-
-
Nico Hartmann authored
Bug: v8:9213 Change-Id: I78e2e4b00c3dec92252adf3823138b14a7bc4a5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1640202 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61994}
-
- 03 Jun, 2019 1 commit
-
-
Z Nguyen-Huu authored
Bug: v8:6664 Change-Id: Ie320264cfba8c33c90405bb009f584b8e2b3d8ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637660Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61969}
-
- 30 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: Id6860e7b0f932990ac3cda39e369b0809e4f6a2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632072Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61928}
-
- 24 May, 2019 3 commits
-
-
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:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61827}
-
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:
Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61814}
-
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:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61812}
-