RFR: 8359965: Enable paired pushp and popp instruction usage for APX enabled CPUs [v2]

Jatin Bhateja jbhateja at openjdk.org
Mon Jul 21 15:48:28 UTC 2025


On Mon, 14 Jul 2025 17:27:35 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:

>> src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp line 114:
>> 
>>> 112:         __ paired_push(rax);
>>> 113:       }
>>> 114:       __ paired_push(rcx);
>> 
>> Hi @vamsi-parasa , for consecutive push/pop we can use push2/pop2 and 16byte alignment can be  guaranteed using following technique 
>> https://github.com/openjdk/jdk/pull/25351/files#diff-d5d721ebf93346ba66e81257e4f6c5e6268d59774313c61e97353c0dfbf686a5R94
>
> Hi Jatin (@jatin-bhateja), for the first iteration, would it be ok to get the push_paired/pop_paired changes integrated and then make the push2p/pop2p related optimizations in a separate PR?
> 
> Thanks,
> Vamsi

Hi @vamsi-parasa , I think it's ok not to expose pop_ppx / push_ppx as separate interfaces, and let processor forward the values b/w push and matching pop if balancing constraints are satisfied.

<img width="1055" height="151" alt="image" src="https://github.com/user-attachments/assets/6923ca1b-11eb-4fae-8d51-14f1bfe27cea" />

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25889#discussion_r2219586716


More information about the hotspot-compiler-dev mailing list