RFR: 8075930: AARCH64: Use FP Register in C2

Dean Long dean.long at oracle.com
Fri Mar 27 01:00:08 UTC 2015


On 3/26/2015 2:27 AM, Andrew Haley wrote:
> On 25/03/15 14:08, Andrew Dinn wrote:
>> On 25/03/15 13:28, Zoltán Majó wrote:
>>> On 03/25/2015 02:02 PM, Edward Nevill wrote:
>>>> The aarch64 C2 compiler makes no use of the FP register even though
>>>> this register is saved on entry and restored on exit and is therefore
>>>> always available for allocation.
>>> It seems to me that the C2 compiler currently saves the SP into FP on
>>> method handle invokes. This functionality is encoded by
>>> aarch64_enc_java_handle_call in aarch64.ad. C1 does the same (see usages
>>> of FrameMap::method_handle_invoke_SP_save_opr()).
>> Yes, that's correct. aarch64_enc_java_handle relies on having FP
>> available to save SP. So, it looks like this fix will break that.
> I'm surprised it matters.  If FP is live around a handle call I would
> have thought it would be spilled onto the stack.

If you can confirm that it is indeed spilled, then I would think the 
proposed change is good.
You probabably want to double-check what happens at safepoints as well.  
I don't think
"NS" registers are spilled at safepoints, which may be OK as long as 
stack walking still works.

dl

> Andrew.
>



More information about the hotspot-dev mailing list