• P
    target-arm: Simplify insn_crosses_page() · 5b8d7289
    Peter Maydell 提交于
    Recent changes have left insn_crosses_page() more complicated
    than it needed to be:
     * it's only called from thumb_tr_translate_insn() so we know
       for certain that we're looking at a Thumb insn
     * the caller's check for dc->pc >= dc->next_page_start - 3
       means that dc->pc can't possibly be 4 aligned, so there's
       no need to check that (the check was partly there to ensure
       that we didn't treat an ARM insn as Thumb, I think)
     * we now have thumb_insn_is_16bit() which lets us do a precise
       check of the length of the next insn, rather than opencoding
       an inaccurate check
    
    Simplify it down to just loading the first half of the insn
    and calling thumb_insn_is_16bit() on it.
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
    Message-id: 1507556919-24992-8-git-send-email-peter.maydell@linaro.org
    5b8d7289
translate.c 435.2 KB