• Predrag Rudic's avatar
    MIPS[64]: Port '[Deopt] Remove jump table in prologue of deopt entries.' · b0dc60f6
    Predrag Rudic authored
    Port commit 4ab96a9a
    
    Original message:
    > Remove the use of a jump table in the prologue of the deopt entries
    > and instead pass the bailout id explicitly in a register when calling
    > the deopt entry routine from optimized code. This unifies the logic
    > with the way the Arm64 code works. It saves the following amount of
    > memory in code stubs:
    >
    >  - arm:  384KB
    >  - ia32: 480KB
    >  - x64:  240KB
    >
    > This could be offset by a slight increase in the size of optimized code
    > for loading the immediate, however this impact should be minimal and
    > will scale with the maximum number of bailout ids (e.g., the size of
    > code will increase by one instruction per bailout id on Arm, therefore
    > ~98,000 bailouts will be needed before the overhead is greater than
    > the current fixed table size).
    >
    > Change-Id: I838604b48fa04cbd45320c7b9dac0de08fd8eb25
    > Reviewed-on: https://chromium-review.googlesource.com/c/1398224
    > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#58636}
    
    Change-Id: I4d070b90ebd4f9d4e82eaa74fe6d41c3a39d93e8
    Reviewed-on: https://chromium-review.googlesource.com/c/1400848Reviewed-by: 's avatarSreten Kovacevic <skovacevic@wavecomp.com>
    Commit-Queue: Sreten Kovacevic <skovacevic@wavecomp.com>
    Cr-Commit-Position: refs/heads/master@{#58655}
    b0dc60f6
deoptimizer-mips.cc 9.73 KB