RFR: 8360775: Fix Shenandoah GC test failures when APX is enabled [v2]

Jatin Bhateja jbhateja at openjdk.org
Tue Jul 1 06:06:40 UTC 2025


On Mon, 30 Jun 2025 22:19:18 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:

>> This PR fixes the test failures seen in many JTreg tests related to Shenandoah GC (`test/hotspot/jtreg/gc/shenandoah/`) with UseAPX. The issues were root caused to: 
>> 
>> 1. Higher band registers are not saved and restored in Shenandoah load_reference_barrier. 
>> 2. Pusha/Popa implementation using push2p/pop2p does not restore the contents of rax.
>> 
>> Both the issues are fixed in this PR.
>
> Srinivas Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   restore the orginal contents of rax

src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp line 387:

> 385:     __ movptr(Address(rsp, (--slot) * wordSize), r29);
> 386:     __ movptr(Address(rsp, (--slot) * wordSize), r30);
> 387:     __ movptr(Address(rsp, (--slot) * wordSize), r31);

I think you should use pushp2 / pop2p for these instructions also , maybe it can be handled along with 
https://github.com/openjdk/jdk/pull/25889

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26009#discussion_r2176501724


More information about the hotspot-dev mailing list