RFR: 8357267: ZGC: Handle APX EGPRs spilling in ZRuntimeCallSpill

Sandhya Viswanathan sviswanathan at openjdk.org
Wed May 21 23:36:51 UTC 2025


On Wed, 21 May 2025 12:33:26 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> Patch spills APX EGPRs across runtime calls to slow-path barriers using PUSH2P/POP2 instructions with PPX hints.
> These instructions operate over a pair of registers resulting into an smaller save/restoration JIT code, on the hind side they have hard alignment and balancing constraints, as they operate over 16-byte aligned stack address.
> ZRuntimeCallSpill is agnostic to live register, thus resulting SPILL sequence should not modify the contents of the register.
> 
> Patch has been verified using Intel SDE all test under test/hotspot/jtreg/compiler/gcbarriers are green.
> 
> Kindly review and share your feedback.
> 
> Best Regards,
> Jatin

@xmas92 Could you please also take a look at this? Intel APX add additional GPR registers (R16 - R31). Our understanding is that these also need to be saved and restored as part of ZRuntimeCallSpill. Is that correct?

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

PR Comment: https://git.openjdk.org/jdk/pull/25351#issuecomment-2899502203


More information about the hotspot-dev mailing list