<div dir="ltr"><div><a href="http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/">http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/</a></div><div><br></div><div>We occasionally get this guarantee failure from an older JVM (HotSpot</div>
<div>22):</div><div><br></div><div>#  Internal Error (assembler_x86.inline.hpp:46)</div><div>#  guarantee(this-&gt;is8bit(imm8)) failed: Short forward jump exceeds</div><div>#  8-bit offset</div><div><br></div><div>I&#39;m encountering a case in C2 where a branch is incorrectly</div>
<div>converted to a short branch under very specific conditions. The root</div><div>cause occurs when a call and safepoint are adjacent in</div><div>consecutive blocks.  In shorten_branches(), an off-by-one</div><div>error exists in calculating the size of the trailing (safepoint) block when it</div>
<div>potentially requires loop padding.</div><div><br></div><div>This bug still exists in the current HotSpot 25, although I don&#39;t have</div><div>a testcase that reproduces there.</div><div><br></div><div>However, with the improved guarantee from my webrev, but without the</div>
<div>actual fix, a hs25 CTW run on rt.jar fails.</div><div><br></div><div>Can a bug be opened? Can I get an Oracle engineer to sponsor and</div><div>review my change?</div><div><br></div><div><br></div></div>