• georgia.kouveli's avatar
    [arm64] Address full-codegen issues with pools. · c7fa0bf0
    georgia.kouveli authored
    Inline SMI checks in ICs are performed with a TBZ/TBNZ instruction, which has a
    32 kB range. To allow patching the SMI check, the location of the TBZ/TBNZ
    instruction is stored after the call to the IC using a MOVZ instruction, in
    particular using 11 bits of the immediate (so the number of instructions
    between the inline data and the SMI check must be encodable in 11 bits).
    
    To make sure we do not exceed these ranges, we need to block pool emission
    between the check, the patch info, and the label the check branches to.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2917403002
    Cr-Commit-Position: refs/heads/master@{#45735}
    c7fa0bf0
full-codegen-arm64.cc 98.5 KB