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

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Apr 3 15:49:42 PDT 2013


Hi Chuck

I finally have time to spend on this.
The fix is good and changes did cleanup a mess we had.

I verified the failure and the fix with CTW rt.jar and new guarantee() 
as you suggested. I will push the fix shortly after finish testing.

Thanks,
Vladimir

On 3/22/13 9:52 AM, Chuck Rasbold wrote:
> Thanks, Vladimir.
>
> I've updated the webrev so that it reflects bug number 8010437.
>
> http://cr.openjdk.java.net/~rasbold/8010437/webrev.00/
>
>
> On Wed, Mar 20, 2013 at 6:27 PM, Vladimir Kozlov
> <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>
>     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/~rasbold/XXXXXXX/webrev.00/>
>         <http://cr.openjdk.java.net/%__7Erasbold/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