[aarch64-port-dev ] RFR: 8075930: AARCH64: Use FP Register in C2
Edward Nevill
edward.nevill at linaro.org
Thu Apr 23 15:13:50 UTC 2015
On Thu, 2015-04-23 at 08:40 +0100, Andrew Haley wrote:
> On 22/04/15 10:40, Edward Nevill wrote:
> > If there is no other feedback shall I prepare a revised patch with R29 marked NS?
>
> I think you should. I'm as certain as I can be that the GC root-
> finding code won't find an OOP saved in R29 and then pushed by
> native code.
Done.
http://cr.openjdk.java.net/~enevill/8075930/webrev.04/
However I don't believe it makes any difference to the code generated. C2 will still use R29 as a general purpose register, and will still not spill it on a method call (I have checked).
I think that in order to do a GC root scan it must be at a safe point and I don't believe it can be at a safe point in native code.
In compiled code it uses the OopMaps, unwinds the stack and finds the OOP in R29.
This works for x86. It does exactly the same thing. RBP is available as a general purpose register and RBP is marked as SOE.
All the best,
Ed.
More information about the aarch64-port-dev
mailing list