- 05 Nov, 2019 30 commits
-
-
Clemens Backes authored
Especially on ia32 and x64, shifts with immediate generate much shorter and more efficient code. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I33acf287d5eb6fc5c4d39a295f410557348a4f19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899770Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64780}
-
Clemens Backes authored
The {shrd} instruction was implemented with switched {src} and {dst} registers. The only users ({ShrPair} and {SarPair}) "fixed" this by passing switched registers again. This CL cleans this up, and adds some DCHECKs that are required for the logic in the pair-wise shifts to work correctly. Also, avoid an unneccessary shift by 0 on ia32. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I8ec31526f5adcea68f6f6ef7c8076ac2e5589a5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899767Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64779}
-
Milad Farazmand authored
Port d710756a Original Commit Message: This is the last remaining missing instruction from the MVP. This CL adds support for ia32, x64, arm, and arm64. For CPUs which do not support the POPCNT instruction, there exists a fallback implementation in C. R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8965f4312c5e8ac6510c754772ba3d60394dfc4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899908Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64778}
-
Milad Farazmand authored
Port 9c4ffc38 Original Commit Message: In fact, shifts are used most often with a fixed shift amount. This CL adds special handling for this in Liftoff, to generate shorter and faster code. R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I20f8cfa6930bc20eb8db33a99bd07fce49f3f74d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899907Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64777}
-
Zhao Jiazhong authored
port 352bbb12 https://crrev.com/c/1893192 Original Commit Message: Reland "Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE" This is a reland of 855591a5 Fixes break in builds that verify ReadOnlyHeap by relaxing the requirement for Code objects to be in CODE_SPACE in PagedSpaceObjectIterator::FromCurrentPage. Original change's description: > Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. > > [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Creates an allow-list of builtins that can still go in code_space > including all TFJ builtins and a small manual list that should be pared > down in the future. > > For builtins that go in RO_SPACE a Code object is created that contains an > immediate trap instruction. Generally these Code objects are still no > smaller than CODE_SPACE Code objects because of the Code object alignment > requirements. This will hopefully be addressed in a follow-up CL either by > relaxing them or removing the instruction stream completely. > > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and > increases by the same amount. > > Change-Id: I76661c35c7ea5866c1fb16e87e87122b3e3ca0ce > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893336 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64700} Change-Id: I58c10e438f164a992041960f7a54d57be500ef48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898831 Auto-Submit: Zhao Jiazhong <kyslie3100@gmail.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#64776}
-
Milad Farazmand authored
Port e554dec4 Original Commit Message: These are two of the remaining missing instructions from the MVP. This CL adds support to {LiftoffCompiler} and provides assembly implementations for ia32, x64, arm, and arm64. R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I00b9b7ef4c3b7e022e7cf57255a030949e7dca89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899886Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64775}
-
Eric Leese authored
Currently there are two ways wasm locations are represented in the inspector. This remains unchanged for now. Also, currently there are multiple ways location is represented within V8, with the line number sometimes being a function index and sometimes being 0, and the column number being a byte offset which is sometimes function relative and sometimes module relative. With this change, the line number is never used within V8 (it is always 0), and the column number is always a byte offset from the beginning of the module. This simplifies translation logic and keeps it in one place, and will simplify future changes to wasm location representation in the inspector API. Bug: chromium:1013527 Change-Id: I8813d47c881988f9ab49d7529fb81fe10dbbccff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886915 Commit-Queue: Eric Leese <leese@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64774}
-
Santiago Aboy Solanes authored
Change-Id: Iafb5cc7f634f7c56f9dfc0d64032953773453436 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899614 Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64773}
-
Michael Achenbach authored
The deopt-stress mode is unused. This prepares for deprecating corresponding api methods. The same kind of testing can be done by using --stress-opt and setting --deopt-every-n-times. Bug: v8:9941 Change-Id: I6796fcfa43d0efad51ec9d9a9adc949c26805a81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899617Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64772}
-
Santiago Aboy Solanes authored
Bug: v8:9937 Change-Id: Ia0ad5def3cf8e5b9209b546e1d3fb9213bbfa810 Fixed: v8:9937 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899622 Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64771}
-
Dan Elphick authored
Also tnodifies TransitionElementsKind, StoreMap and LoadStringLengthAsSmi in code-stub-assembler.cc. Bug: v8:9810, v8:6949 Change-Id: If7214f0a9645adc9d478fd4f7cb1257c0e01608c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897888Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64770}
-
Georgia Kouveli authored
When running the tests with --turbo-stress-instruction-scheduling, there are crashes in the cases where there is no isolate, since we used the random generator from the isolate. This change introduces a RandomNumberGenerator to the instruction scheduler instead. We use the value from --random-seed for seeding the random number generator. We don't treat a zero value specially, as the feature is meant to be used with the test system which always sets a random seed and doesn't rely on default behaviour. This also means that the instruction scheduler will always produce the same result for the same input within the same run, which fixes another issue with the x64 jump optimisation: when that optimisation is enabled, the backend is ran twice, and previously it was producing a different schedule each time, thus collecting incorrect jump information. Bug: v8:9884 Change-Id: I00394a7e50d0c502254b18490ebaf28a38d8f819 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895555Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#64769}
-
Igor Sheludko authored
Bug: v8:8996 Change-Id: I822c945c56738a1bb0561c208e321d70fd96f863 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895568Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64768}
-
Georgia Kouveli authored
Change-Id: Ie51d9d88fd1c13048557687fcf1a76435f776b9a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856009Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#64767}
-
Sathya Gunasekaran authored
Bug: chromium:1016738, chromium:1016709, v8:9449 Change-Id: I5b50f21b3e40651e16201e63b4a7010b1bf0c639 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897890Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64766}
-
Pierre Langlois authored
We were using 'strtoll' which returns a signed integer, we should have used 'strtoull' instead. Change-Id: Ie2e48ecc1fa58cff4b61fcea30087608769a80bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893333Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#64765}
-
Clemens Backes authored
This is the last remaining missing instruction from the MVP. This CL adds support for ia32, x64, arm, and arm64. For CPUs which do not support the POPCNT instruction, there exists a fallback implementation in C. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: Ie7a79a46e91726e15379b9a21b59775bbf5de556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895569 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64764}
-
Stefano Sanfilippo authored
Instead of inferring allow_codegen from the state of MaybeLocal<String>, return it separately. This allows to distinguish "could not stringify this object" from "block execution of this object", regardless of whether the object is a string or not. Currently, the hook can trigger an EvalError only if the original source was a string. Modify the logic so that one of the three mechanisms (unconditional, non-modifying, modifying) decides alone. Before, if the non-modifying callback rejected a value, the value would be forwarded to the modifying callback, but the unconditional would not forward to the non-modifying callback. This introduces a more uniform behaviour where the three mechanisms act in decreasing priority. Change-Id: Iaaa9873227052653d714df65f31c4de914f48b7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776082Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stefano Sanfilippo <ssanfilippo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64763}
-
Pierre Langlois authored
The heap profiler and debugger use allocation trackers to observe allocation events and need to disable inlined allocations temporarily. But if --no-inline-new is passed, they do not need to. However, when removing allocation trackers they would accidently enable it again. Bug: v8:9906 Change-Id: I6f8322886a3ada66d3f1cc26f0e321a9863dcf08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895572Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#64762}
-
Clemens Backes authored
The {pinned} argument is always an empty register list now. Hence this CL removes it. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I3b7612d90b0577f2763c5ab70c34eeb11307657b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899607 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64761}
-
ajihyf authored
Bug: v8:7864 Change-Id: Iaeca4ab9d098edc73b2191dc260dd37a6114f3bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893732 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64760}
-
Clemens Backes authored
This make {LiftoffCompiler} use the new "shift by immediate" assembler instructions. This generates shorter and faster code. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I49200e06edde3399a516871f43cce6a9ff5b8d7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899606Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64759}
-
Clemens Backes authored
In fact, shifts are used most often with a fixed shift amount. This CL adds special handling for this in Liftoff, to generate shorter and faster code. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I9629872b628e0d617af00143ea27f9fbe95cb21e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897539Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64758}
-
Ulan Degenbaev authored
This removes the usage of retaining_path_mode template parameter in main thread marking visitor and makes the incremental visitor identical to the stop-the-world visitor. Subsequent CL will switch these visitors to MarkingVisitorBase. Bug: chromium:1019218 Change-Id: I00e3ef190d8f2ac821cb63b02c402aad5ea49e9c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897538Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64757}
-
Michael Achenbach authored
Since flags are statically stored, there's no difference between the first runs and the second last run in stress-opt mode. This simplifies the code to account for that. Bug: v8:9940 Change-Id: Icc978f20476c0dffb084f7e9e6a200a5608e3515 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898659Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64756}
-
Dominik Inführ authored
Measure remembered set processing during Scavenge. Change-Id: I8f7f31269bf1c09ff1f3cb3455fc96bce5c4f35d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895562 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64755}
-
Clemens Backes authored
The function has a single call only, so inline it there. R=jkummerow@chromium.org Change-Id: I7beeefa6e54aa2a85389fd5df33c08b8a5126de6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895563 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64754}
-
Zhao Jiazhong authored
port 46648402 https://crrev.com/c/1871605 Original Commit Message: CallDebugOnFunctionCall was always using Registers and not Immediates. Then ParameterCount is not really needed. Since updating that, we could update other functions, e.g InvokeFunction, to only use registers too. Also removed now irrelevant variables, e.g definitely_mismatches. [mips][codegen] Removed ParameterCount class port 1e696896 https://crrev.com/c/1886916 Original Commit Message: It was used only with Register inputs, so we can replace its uses with the Registers themselves. Change-Id: I0a661519f5602bf4d52c40c6c238436b93b71664 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898826Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64753}
-
Clemens Backes authored
These are two of the remaining missing instructions from the MVP. This CL adds support to {LiftoffCompiler} and provides assembly implementations for ia32, x64, arm, and arm64. R=jkummerow@chromium.org Bug: v8:9919 Change-Id: I4d00d2030e1c5c03ee3afaa536697d3847e26ef0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893343 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64752}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/55891eb..3a13923 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5321943..70d4ef3 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/79d9e4b..f6a2232 TBR=machenbach@chromium.org,tmrts@chromium.org Change-Id: Ie99e8f1c2351383b6482e38b428a48deba15c719 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898745Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#64751}
-
- 04 Nov, 2019 10 commits
-
-
Ng Zhi An authored
Bug: v8:9810 Change-Id: If24af27716f4fb5a6e5ae077afa9719fc5e85795 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895705Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64750}
-
Joshua Litt authored
This reverts commit d4574d18. Reason for revert: In addition to the earlier octane regression, this cl also created a regression in desktop browsing Bug: chromium:1019601 Original change's description: > Reland "[regexp] Clone match info for match indices." > > This reverts commit d7793c06. > > Reason for revert: This cl *will* cause regexp regressions. We are trying to gauge the real world impact. > > Original change's description: > > Revert "[regexp] Clone match info for match indices." > > > > This reverts commit dfd9ceb9. > > > > Reason for revert: Regressions https://chromeperf.appspot.com/group_report?rev=64356 https://crbug.com/1015749 > > > > Original change's description: > > > [regexp] Clone match info for match indices. > > > > > > The current behavior for generating match indices simply stashes a > > > pointer to the match info and then constructs the indices lazily. > > > However, it turns out the match info object used to create the result > > > object is the regexp_last_match_info living on native context, and thus > > > it can change between the creation of the result object and the generation > > > of indices. This cl clones the match info which will be safer. > > > > > > Bug: v8:9548 > > > Change-Id: Ia6f26f88fbc22fd09671bf4c579d39a1510b552d > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864585 > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#64356} > > > > TBR=jgruber@chromium.org,joshualitt@chromium.org > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: v8:9548, chromium:1015749 > > Change-Id: I9c30b8fb459cf2aa89d920bf061614441250844d > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870236 > > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#64407} > > TBR=jgruber@chromium.org,joshualitt@chromium.org > > > Bug: v8:9548, chromium:1015749 > Change-Id: I151511307e3d8752fdbde4b8247514031b141b08 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879587 > Reviewed-by: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64587} TBR=jgruber@chromium.org,joshualitt@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9548, chromium:1015749 Change-Id: Ie5a8e55338728aae33102d82e60a188f6440e8f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898030Reviewed-by: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64749}
-
Clemens Backes authored
This reverts commit 54379af9. Reason for revert: Big performance regressions, need to investigate Original change's description: > [wasm] Remove fixed limit on number of background tasks > > After fixing https://crbug.com/v8/8916, background compilation scales > far beyond 10 threads, especially for TurboFan (where much more work is > parallelizable). Thus, remove the limit of 10 background compilation > tasks, and use all available threads instead. > > R=mstarzinger@chromium.org > > Bug: v8:8916 > Change-Id: I13c30777e3c85b2de7901b5eac3e6a41457a56f9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893348 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64724} TBR=mstarzinger@chromium.org,clemensb@chromium.org Change-Id: I180cff9f39d8960aa793f279cfb61b7444992bc6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8916 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897889Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64748}
-
Santiago Aboy Solanes authored
Bug: v8:6949 Change-Id: If147de926cdc0b03f1bba17974edfce21d7fb256 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897887Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64747}
-
Ulan Degenbaev authored
Before this change large fixed arrays were visited in chunks of 32KB on the main thread. Now large fixed arrays are divided into chunks of kMaxRegularHeapObjectSize, which is consistent with large fixed array processing on concurrent threads and make more sense considering that regular fixed arrays are visited in one go. Bug: chromium:1019218 Change-Id: I0c6d9c6c7d1db7f6a75d282601b73d4819b30e80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897886Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64746}
-
Michael Starzinger authored
This makes WebAssembly runtime stubs use Smi encoding for parameters in instead of a HeapNumber encoding whenever possible. This potentially avoids allocating on the GC'ed heap. R=clemensb@chromium.org Change-Id: Ie37c3005442748d9bd71da59a2c11d103a65fe9c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895574 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64745}
-
Dan Elphick authored
Change builtin calls in wasm-compiler.cc to use CallBuiltinPointer rather than CallCodeObject which means they bypass the trampoline. Since the Code objects are no longer being called, remove them from the executable Code object allow-list in builtins.cc. Bug: v8:9338 Change-Id: I9835bab859c4d5e45dbfb4c7a339ccf74e719237 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893337 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64744}
-
Ulan Degenbaev authored
This makes the stop-the-world marking visitor the same as incremental visitor for processing large fixed arrays. Bug: chromium:1020982 Change-Id: Ie3b4ea7ad397ea0ae00000875aca0d142f672a3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897828Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64743}
-
Michael Achenbach authored
We'll remove the file from Chromium in a follow up after V8 has rolled + 2 days. Bug: v8:9911 Change-Id: I69fe56855f1ba83bec0d39e0fb6acb7e4182c6b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897826Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64742}
-
Milad Farazmand authored
Port 352bbb12 Original Commit Message: This is a reland of 855591a5 Fixes break in builds that verify ReadOnlyHeap by relaxing the requirement for Code objects to be in CODE_SPACE in PagedSpaceObjectIterator::FromCurrentPage. Original change's description: > Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358. > > [builtins] Move non-JS linkage builtins code objects into RO_SPACE > > Creates an allow-list of builtins that can still go in code_space > including all TFJ builtins and a small manual list that should be pared > down in the future. > > For builtins that go in RO_SPACE a Code object is created that contains an > immediate trap instruction. Generally these Code objects are still no > smaller than CODE_SPACE Code objects because of the Code object alignment > requirements. This will hopefully be addressed in a follow-up CL either by > relaxing them or removing the instruction stream completely. > > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and > increases by the same amount. > > Change-Id: I76661c35c7ea5866c1fb16e87e87122b3e3ca0ce > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893336 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64700} R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If150434119828a87e295b0639c934392812bb345 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1896904Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#64741}
-