ciTypeFlow, osrs and jsr/ret
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.
> -- John
More information about the hotspot-compiler-dev