ciTypeFlow, osrs and jsr/ret

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Mon Aug 31 11:05:57 PDT 2009


On Aug 31, 2009, at 10:37 AM, John Rose wrote:

> On Aug 28, 2009, at 1:03 PM, Tom Rodriguez wrote:
>
>> I think the right fix is to treat all address locals as dead at the  
>> OSR point irrespective of what liveness says.
>
> Won't this break if a deopt. transfers control from the OSR method  
> to the interpreter?

ciTypeFlow doesn't allow OSRs in blocks with live rets so I believed  
this should be safe.  Looking at the code for this case, it's not a  
strict rule.  If c2 never happened to reach the ret bytecode because  
of an uncommon trap then we would happily compile it and my change  
would break it.  I think instead of treating them as dead I should use  
the raw liveness information which will properly kill the address  
local that I'm running into.

tom

>
> -- John



More information about the hotspot-compiler-dev mailing list