[aarch64-port-dev ] RFR(S): 8204353 - AARCH64: optimize FPU load and stores in macroAssembler

White, Derek Derek.White at cavium.com
Wed Jun 6 22:33:00 UTC 2018


Hi Andrew,

Sorry, I've been staring at the JDK 9 code for the last few weeks. This issue was fixed in JDK 10.

Dmitrij, it looks like there's a similar fix possible to save_live_registers()/restore_live_registers() in c1_Runtime1_aarch64.cpp. It's used in about 24 stubs. 

I think this current fix is fine as is, but you might consider save_live_registers() as a separate fix when you (or someone) gets the time.

Sorry for hijacking this RFR!
 - Derek

> -----Original Message-----
> On 06/05/2018 10:48 PM, White, Derek wrote:
> 
> > The related question I've had on the back-burner for a while is WHY
> > are we saving/restoring 42 registers in
> > gen_write_ref_array_pre_barrier/ gen_write_ref_array_post_barrier?
> 
> Please point me to the exact line of code you are talking about.

> > We don't do that around any other calls to call_VM_leaf.
> >
> > No other port saves the entire register set, even the arm64 port. They
> > just save a few registers that are in use.
> 
> You don't know which registers are in use.
> 
> --
> 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 hotspot-compiler-dev mailing list