We occasionally get this guarantee failure from an older JVM (HotSpot
# 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?