• Clemens Hammacher's avatar
    [Liftoff] Change the way we store stack transfers · 96671ab2
    Clemens Hammacher authored
    Stack transfers consist of a number of register moves plus a number of
    register loads. We currently store both in separate vectors. This CL
    changes that to be stored in arrays indexed by the destination register
    (such that it behaves like a map). This avoids any dynamically growing
    structures.
    
    Measured locally, this speeds up stack transfer processing by ~10%,
    which translates to ~0.5% of overall Liftoff compilation time.
    
    R=ahaas@chromium.org
    
    Bug: v8:6600, v8:8423
    Change-Id: Id532960dcc12f228507ed75e392ad4c57710593f
    Reviewed-on: https://chromium-review.googlesource.com/c/1396278
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58587}
    96671ab2
liftoff-register.h 11.6 KB