• Clemens Backes's avatar
    [liftoff] Inline PopToRegister and outline SpillOneRegister · 52ddf949
    Clemens Backes authored
    {PopToRegister} will most likely find that the stack slot is already
    holding a register (89% of cases on epic). Thus put the fast path for
    this in the header, so it can be inlined.
    
    Also, {GetUnusedRegister} will mostly find an unused register (95% on
    epic). Hence, make sure that the code for spilling a register is not
    inlined.
    
    Drive-by: Avoid the call to {LoadToRegister} if we already checked
    before if the slot is holding a register.
    
    R=thibaudm@chromium.org
    
    Bug: v8:10576
    Change-Id: I13797fa5c12c5359f2578a4dbebb63aa50c00e60
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2237144
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#68280}
    52ddf949
liftoff-assembler.h 61 KB