You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 466a492
Browse filesBrowse the repository at this point in the historyBrowse files
[maglev] Use ContextScopeInfo distance in FunctionContextSpecialization
Resolve the outer specialization context in O(1) in
FunctionContextSpecialization::TryToRef using the distance tracked in
ContextScopeInfo, and route depth-0 context slot accesses through
GetContextAtDepth.
Previously, TryToRef required MinimizeContextChainDepth to unwrap a
context node all the way back to the entry InitialValue(current_context),
and depth-0 accesses bypassed GetContextAtDepth (requiring
BuildRegisterFrameInitialization to special-case distance 0 at function
entry). Using ContextScopeInfo's distance allows specializing from any
tracked context value. Move specialization context and incoming
ContextScopeInfo initialization to MaglevCompilationUnit via
InitializeSpecializationContextForTopLevel and
InitializeSpecializationContextForInlined, walking the incoming
ScopeInfo chain to compute the specialization context distance for
inlined units.
TAG=agy
CONV=a214c4a6-336e-4bef-9ebc-8451c556429e
Bug: 558654408
Change-Id: I115c8de70941937eec45f4dc00346982b3a4b242
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8445036
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110246}
0 commit comments