[aarch64-port-dev ] RFR(L): 8231441: AArch64: Initial SVE backend support

Ningsheng Jian ningsheng.jian at arm.com
Mon Aug 24 09:59:20 UTC 2020


Hi Erik,

Thanks for the review!

On 8/22/20 12:21 AM, Erik Österlund wrote:
> Hi,
> 
> Have you tried this with ZGC on AArch64? It has custom code for saving
> live registers in the load barrier slow path.
> I can't see any code changes there, so assuming this will just crash
> instead.
> The relevant code is in ZBarrierSetAssembler on aarch64.
> 
> Maybe I missed something?
> 

I didn't add ZGC option while running tests. I think I need to update 
push_fp() which is called by ZSaveLiveRegisters. But do we need to get 
size info (float/neon/sve) instead of saving the whole vector register? 
Currently, it just simply saves the whole NEON register.

And in ZBarrierSetAssembler::load_at(), before calling to runtime code, 
we call push_call_clobbered_registers_except(), which just saves 
floating point registers instead of the whole NEON vector registers. 
Similar behavior in x86 implementation. Is that correct (not saving 
vectors)?

Thanks,
Ningsheng



More information about the build-dev mailing list