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

Igor Veresov igor.veresov at
Mon Feb 13 10:41:05 PST 2012

Looks good! Thanks for fixing that.  

May be this following function can be moved to Canonicalizer ?
597 static bool is_safepoint(BlockEnd* x, BlockBegin* sux) { 598 return x->is_safepoint() && (sux->bci() < x->state_before()->bci()); 599 }


On Friday, February 10, 2012 at 9:16 AM, Roland Westrelin wrote:

> 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. 

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-compiler-dev mailing list