• Bill Budge's avatar
    Reland "[wasm][liftoff] Respect CallDescriptor linkage" · 36a7cba2
    Bill Budge authored
    This is a reland of 94283811
    
    Patchset #2 fixes the Arm bug. A vpush is used to push the slot,
    so subtract kSimd128Size from the stack decrement to get padding.
    
    Original change's description:
    > [wasm][liftoff] Respect CallDescriptor linkage
    >
    > - Adds the actual stack slot location to LiftoffStackSlots::Slot.
    > - Adds SortInPushedOrder method for architectures that push
    >   parameters.
    > - Changes the LiftoffStackSlots::Construct signature to take the
    >   number of parameter slots in total, and changes implementations
    >   to insert padding when slots aren't contiguous.
    > - Changes Arm MacroAssembler::AllocateStackSpace to check the
    >   immediate value, and to be a nop when it's zero.
    >
    > Bug: v8:9198
    > Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Commit-Queue: Bill Budge <bbudge@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73191}
    
    Bug: v8:9198
    Change-Id: Iae4930e28dd7fc634e3709a5726379c6b37e5195
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735984Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Bill Budge <bbudge@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73195}
    36a7cba2
liftoff-assembler.cc 45.5 KB