weird loop formation

steve goldman Steve.Goldman at Sun.COM
Mon Jan 14 14:37:10 PST 2008


Ben Cheng wrote:
> Hi,
> 
> I have a follow-up question for the problem. After looking at the generated
> code harder it seems to me that there are no callee-saved registers
> described to the compiler. If I read the x86_64.ad file correctly all the
> registers are SOC as the register save type. I tried to convert r12 through
> r15 into SOE as the C convention save type but ran into the following
> assertion in test_gamma:

You must mean convert the Java calling convention to be SOE like the C 
calling convention? If so give up. Complete support for callee save 
registers was removed from c2 when frameless adapters went in. In order 
to get this to work you need to modify some of the deopt code. This is 
doable and there is a call to an empty hook method for this in the deopt 
path for use on platforms that absolutely must have callee save 
registers but it isn't a simple experiment.


-- 
Steve



More information about the hotspot-compiler-dev mailing list