• Jakob Gruber's avatar
    [deoptimizer] Extract frame layout calculation into helper classes · 81642fa6
    Jakob Gruber authored
    The deoptimizer calculates frame layout based on the translation's
    `height` field, together with additional data (e.g.: are we looking at
    the topmost frame? what kind of deopt are we in?). The result is the
    final deoptimized frame size in bytes, together with a bunch of
    intermediate results such as the variable frame size (= without the
    fixed-size portion).
    
    In order to consider the deoptimized frame size in optimized stack
    checks, we will need to calculate the frame layout during compilation
    in addition to what we currently do during deoptimization. This CL
    moves in that direction by extracting relevant parts of frame layout
    calculation into classes that can be reused by both compiler and
    deoptimizer.
    
    These helpers will support both precise and conservative modes; the
    deoptimizer will use the precise mode (since it has full information),
    while the instruction selector will use the conservative mode.
    
    Bug: v8:9534
    Change-Id: I93d6c39f10d251733f4625d3cc161b2010652d02
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1760825
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63279}
    81642fa6
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
ast Loading commit data...
base Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sanitizer Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...