[aarch64-port-dev ] RFR: 8075930: AARCH64: Use FP Register in C2
edward.nevill at linaro.org
Wed Apr 22 09:40:57 UTC 2015
On Tue, 2015-04-21 at 12:17 -0700, Dean Long wrote:
> On 4/21/2015 8:15 AM, Andrew Haley wrote:
> > On 04/21/2015 04:11 PM, Andrew Haley wrote:
> >> R29 (i.e. rfp) is marked Save-On-Entry. It is the only allocatable
> >> general-purpose register which is. I'm a bit worried that
> >> deoptimization might not restore this register correctly if it hasn't
> >> been spilled. Maybe we should mark R29 as SOC.
> > On the gripping hand, x86_64 marks RBP, RSI and RDI as SOE registers.
> > So I think I'm worrying about nothing.
> > Andrew.
> Does frame::update_map_with_saved_link() take care of R29 if it hasn't
> been explicitly spilled? If so, R29 could probably remain marked as NS
> like before.
Yes, update_map_with_saved_link does take care of R29 and I have stepped through it in gdb to ensure that link_addr is in fact pointing at the saved fp.
I made R29 SOE rather than NS because I simply copied what was done on x86 where RBP is marked as SOE.
I don't believe it makes any difference to the code generation since we don't support callee saved registers, therefore it won't attempt to save R29 on entry even if it is marked as SOE. However, it may be clearer to mark it as NS.
If there is no other feedback shall I prepare a revised patch with R29 marked NS?
All the best,
More information about the hotspot-dev