RFR: 8262355: Support for AVX-512 opmask register allocation. [v2]

Vladimir Ivanov vlivanov at openjdk.java.net
Tue Mar 16 13:18:17 UTC 2021


On Fri, 5 Mar 2021 13:42:37 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Hi Vladimir, 
>> ZGC load barriers embeds a CALL instruction which is not exposed to compiler, thus opmask registers which are caller saved as per X86 ABI are saved before making the call and later restored back.
>
> I took a closer look at the relevant code and now I better understand what confuses me here.
> 
> Through vector registers are caller saved, they aren't added into caller_saved, but just unconditionally spilled. 
> Why can't you do the same for KRegisters? `caller_saved.Member(opto_reg)` should always be true for KRegister, shouldn't it?

Still curious.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2768


More information about the hotspot-compiler-dev mailing list