• Clemens Hammacher's avatar
    Reland "[Liftoff] Fix register use count" · 7f851cd4
    Clemens Hammacher authored
    This is a reland of ada64800, fixed
    for 32 bit architectures (register pairs).
    
    Original change's description:
    > [Liftoff] Fix register use count
    >
    > In {SetLocalFromStackSlot}, we decrement the use count of the register
    > in the target slot without updating this slot, and then call
    > {GetUnusedRegister}. At that point, the register use counts do not
    > match the cache state, which leads to errors later on.
    > This CL fixes this by marking the target slot as a stack slot after
    > reducing the register use count.
    >
    > It also adds a Validation which helped to find that error and will
    > catch similar errors earlier.
    >
    > R=titzer@chromium.org
    >
    > Bug: chromium:854050, v8:6600
    > Change-Id: I74d3a5aa947ec4247d7b4557567f642bf4082316
    > Reviewed-on: https://chromium-review.googlesource.com/1111958
    > Reviewed-by: Ben Titzer <titzer@chromium.org>
    > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#53976}
    
    TBR=titzer@chromium.org
    
    Bug: chromium:854050, v8:6600
    Change-Id: Ibc8801737e9604a8490382c569b0378585625376
    Reviewed-on: https://chromium-review.googlesource.com/1112238
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53981}
    7f851cd4
regress-854050.js 1.14 KB