JDK-8010437 : guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-03-21
  • Updated: 2014-01-23
  • Resolved: 2013-04-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u25Fixed 8Fixed hs24Fixed
Related Reports
Relates :  
Description
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?

Comments
7u25-b34 was released on Jul 29, 2013.
29-07-2013