• Junliang Yan's avatar
    PPC/s390: [Deopt] Remove jump table in prologue of deopt entries. · 2afe66c5
    Junliang Yan authored
    Port 4ab96a9a
    
    Original Commit 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).
    
    R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Id5762334b21e6a91e5ce44b7db1e38ace9147372
    Reviewed-on: https://chromium-review.googlesource.com/c/1406026
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#58752}
    2afe66c5
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-s390-inl.h Loading commit data...
assembler-s390.cc Loading commit data...
assembler-s390.h Loading commit data...
code-stubs-s390.cc Loading commit data...
constants-s390.cc Loading commit data...
constants-s390.h Loading commit data...
cpu-s390.cc Loading commit data...
deoptimizer-s390.cc Loading commit data...
disasm-s390.cc Loading commit data...
frame-constants-s390.cc Loading commit data...
frame-constants-s390.h Loading commit data...
interface-descriptors-s390.cc Loading commit data...
macro-assembler-s390.cc Loading commit data...
macro-assembler-s390.h Loading commit data...
register-s390.h Loading commit data...
simulator-s390.cc Loading commit data...
simulator-s390.h Loading commit data...