[aarch64-port-dev ] How to skip the synchronization entry
Andrew Haley
aph at redhat.com
Wed Aug 15 07:55:25 UTC 2018
On 08/15/2018 08:05 AM, Patrick Zhang wrote:
> I have a very simple function that directly returns the an input int
> parameter inside, there are x29, x30 registers being protected
> before/after "mov w0 w2". I have two questions here:
> 1. Are these Link Register and Frame Pointer respectively according
> to the A64 instruction set document?
Sure.
> 2. Any special flags to remove them for debugging purpose? I tried
> -XX:-PreserveFramePoint but no effect.
No. We could in theory manage withut saving fp but it wouldn't make
very much difference. We still have to restore lr, and fp is useful
as a callee-saved scratch register.
> nop
> sub sp, sp, #0x20
> stp x29, x30, [sp,#16] ;*synchronization entry
> mov w0, w2
> ldp x29, x30, [sp,#16]
> add sp, sp, #0x20
> ldr x8, [x28,#264]
> ldr wzr, [x8] ; {poll_return}
> ret
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the aarch64-port-dev
mailing list