- 17 Mar, 2021 1 commit
-
-
Igor Sheludko authored
This is a speed-for-memory tradeoff, which can be achieved by re-mapping the builtins code blob into existing code range. The feature can be enabled by v8_enable_short_builtin_calls flag and it's off by default. This CL adds GN flag and updates code generator to emit shorter pc-relative calls/jumps to builtins. However, the runtime doesn't support appearance of the off-heap builtins' PCs that point to the embedded code blob on the stack yet. Bug: v8:11527, v8:11421 Change-Id: Iaba384c549675852beae70739175976ee193ffef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727502Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73458}
-
- 08 Mar, 2021 1 commit
-
-
Victor Gomes authored
Change-Id: Idece4925aa0ffa99bc34db39d20b24a41d59f84f Bug: v8:11421 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715064Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73265}
-
- 05 Mar, 2021 1 commit
-
-
Shu-yu Guo authored
This is a reland of 0c63aa9e Fixes the correctness fuzzing BUILD.gn breakage. Original change's description: > [ptr-cage] Reserve base registers on x64 (r14) and arm64 (x28) > > Also add a V8_COMPRESS_POINTERS_IN_SHARED_CAGE define when pointer > compression is enabled. > > This CL is to get performance numbers for reserving an extra register. > There is no actual pointer cage yet, and the base register will always > have the same value as the root register. The pointer decompression code > is switched to using the base register instead of the root register. > > Bug: v8:11460 > Change-Id: I40bae556c2098608fb6fc193a52694e3f54754bd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716075 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73204} TBR=rmcilroy@chromium.org,jkummerow@chromium.org,leszeks@chromium.org Bug: v8:11460 Change-Id: Iecf6b783392a384b40ab33e0f4ce13538a8f81ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737681Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#73207}
-
- 04 Mar, 2021 2 commits
-
-
Shu-yu Guo authored
This reverts commit 0c63aa9e. Reason for revert: Breaking clusterfuzz builds Original change's description: > [ptr-cage] Reserve base registers on x64 (r14) and arm64 (x28) > > Also add a V8_COMPRESS_POINTERS_IN_SHARED_CAGE define when pointer > compression is enabled. > > This CL is to get performance numbers for reserving an extra register. > There is no actual pointer cage yet, and the base register will always > have the same value as the root register. The pointer decompression code > is switched to using the base register instead of the root register. > > Bug: v8:11460 > Change-Id: I40bae556c2098608fb6fc193a52694e3f54754bd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716075 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73204} Bug: v8:11460 Change-Id: Idebf1fc6eeeda880a21d65b6f2c674fa58690bfa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737812 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73205}
-
Shu-yu Guo authored
Also add a V8_COMPRESS_POINTERS_IN_SHARED_CAGE define when pointer compression is enabled. This CL is to get performance numbers for reserving an extra register. There is no actual pointer cage yet, and the base register will always have the same value as the root register. The pointer decompression code is switched to using the base register instead of the root register. Bug: v8:11460 Change-Id: I40bae556c2098608fb6fc193a52694e3f54754bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716075Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#73204}
-
- 24 Feb, 2021 1 commit
-
-
Leszek Swirski authored
We were using CmpInstanceType instead of CmpObjectType in some places, which meant that we were reading the value at the instance type field offset within objects directly, rather than first loading their map and reading the instance type there. Bug: chromium:1180434 Change-Id: I4771b4f8f9a32bdc35944c6e6cd30c54e4ac8b6c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716292 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73003}
-
- 22 Feb, 2021 2 commits
-
-
Toon Verwaest authored
Bug: v8:11429 Change-Id: I98b65613dc05f593644af45388b1f2c2a7df34a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712567 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72923}
-
Toon Verwaest authored
Using StackFrame::MANUAL was a bit of a hack to avoid frame markers to be pushed, but manual in FrameScope means Enter/LeaveFrame aren't called at all. This decouples those things. Bug: v8:11429 Change-Id: Ie1603bb3c6858f0b97a75e4bb0b9bd1244de6cce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707205 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72909}
-
- 19 Feb, 2021 1 commit
-
-
Leszek Swirski authored
Change the frame fill to unconditionally subtract already pushed registers from register count. This ensures that the decision to add a push loop is dependent on the _remaining_ registers, not the _total_ registers. Bug: v8:11420 Change-Id: Ide763654e66f0a8c827a00fca1b4a77be2052f76 Fixed: chromium:1179595 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704672 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72863}
-
- 17 Feb, 2021 2 commits
-
-
Leszek Swirski authored
Bug: v8:11429 Change-Id: If5d50cad91406d00e11ef8a6335dc492a4a38d57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698671 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72822}
-
Leszek Swirski authored
Bug: v8:11429, v8:11461 Change-Id: Iffe9ac09eea008b45a6b9734a3c78ac8ba508222 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699253 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72802}
-
- 16 Feb, 2021 1 commit
-
-
Toon Verwaest authored
Baseline scratch registers don't include the regular kScratchRegister (for now at least) because the rest of the system doesn't use the ScratchRegisterScope (yet). Bug: v8:11429 Change-Id: I7a2f27a814e262e5b14bd30b2ae53d53e173bcc3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697194Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72771}
-
- 15 Feb, 2021 2 commits
-
-
Leszek Swirski authored
Add support for CodeEntry, ExceptionHandler, and tail-calls via x17, to make sparkplug code pass CFI tests. Fixed: v8:11439 Change-Id: Ic540da9d859fd981de345cf53b43ae55edd07180 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695592 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72753}
-
Leszek Swirski authored
Add a new StackFrame class for unoptimized frames (which are either interpreted or baseline). BaselineFrame becomes a subclass of this rather than InterpretedFrame, and the various frame constants helpers are similarly amended. Bug: v8:11420, v8:11429 Change-Id: I87e9368aef48ef06a39476bf826f379ce1441528 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692208 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72743}
-
- 12 Feb, 2021 1 commit
-
-
Leszek Swirski authored
Sparkplug is a new baseline, non-optimising second-tier compiler, designed to fit in the compiler trade-off space between Ignition and TurboProp/TurboFan. Design doc: https://docs.google.com/document/d/13c-xXmFOMcpUQNqo66XWQt3u46TsBjXrHrh4c045l-A/edit?usp=sharing Bug: v8:11420 Change-Id: Ideb7270db3d6548eedd8337a3f596eb6f8fea6b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667514 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#72686}
-