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

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Mar 20 18:27:10 PDT 2013


Thank you, Chuck

I created bug 8010437 and will work on the patch.

Thanks,
Vladimir

On 3/20/13 10:02 AM, Chuck Rasbold wrote:
> http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/
> <http://cr.openjdk.java.net/%7Erasbold/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?
>
>


More information about the hotspot-compiler-dev mailing list