review request (S): 7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04

Roland Westrelin roland.westrelin at
Fri Feb 10 09:16:13 PST 2012

When incrementing backedge counters in a c1 method some forward branches can be mistaken for back branches: when a If is converted to a Goto, the Goto is marked as a safepoint even if the branch that is kept is the forward branch. When a Goto is marked as a safepoint, profiling code is emitted for a back branch so we can end up doing an OSR compile for a back branch that is never taken to some code the compiler thinks is unreachable.

More information about the hotspot-compiler-dev mailing list