RFR (M): guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Chuck Rasbold
rasbold at google.com
Wed Mar 20 10:02:16 PDT 2013
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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130320/a62e8d45/attachment.html
More information about the hotspot-compiler-dev
mailing list