Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8010437

guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset

XMLWordPrintable

    • b26

        http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/

        We occasionally get this guarantee failure from an older JVM (HotSpot
        22):

        # Internal Error (assembler_x86.inline.hpp:46)
        # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds
        # 8-bit offset

        I'm encountering a case in C2 where a branch is incorrectly
        converted to a short branch under very specific conditions. The root
        cause occurs when a call and safepoint are adjacent in
        consecutive blocks. In shorten_branches(), an off-by-one
        error exists in calculating the size of the trailing (safepoint) block when it
        potentially requires loop padding.

        This bug still exists in the current HotSpot 25, although I don't have
        a testcase that reproduces there.

        However, with the improved guarantee from my webrev, but without the
        actual fix, a hs25 CTW run on rt.jar fails.

        Can a bug be opened? Can I get an Oracle engineer to sponsor and
        review my change?

              kvn Vladimir Kozlov
              kvn Vladimir Kozlov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: