RFR: 8367325: [s390x] build failure due to JDK-8361376 [v4]

Martin Doerr mdoerr at openjdk.org
Thu Sep 18 10:28:41 UTC 2025


On Thu, 18 Sep 2025 10:21:16 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> Fixes the SIGLL caused after [JDK-8361376](https://bugs.openjdk.org/browse/JDK-8361376). 
>> 
>> Issue was with `cs` instruction, which requires the address to be aligned. And after this change address at which operating was not aligned.
>> 
>> Wisdom from Principle of Z Operations: 
>> 
>> Sytax: CS R<sub>1</sub>,R<sub>3</sub>,D<sub>2</sub>(B<sub>2</sub>)
>> 
>> Sytax: CSY R<sub>1</sub>,R<sub>3</sub>,D<sub>2</sub>(B<sub>2</sub>)
>> 
>> `
>> The second operand of COMPARE AND SWAP (CS, CSY) must be designated on a word boundary.
>> `
>> 
>> 
>> 
>> => 0x3fffc3149ba <_ZN17BarrierSetNMethod15set_guard_valueEP7nmethodii+266>: cs %r1,%r4,0(%r3)
>> (gdb) i r r3
>> r3             0x3ffe500017a       4397593526650
>> (gdb) p ($r3 % 8) 
>> $5 = 2
>> (gdb) si 
>> 
>> Thread 16 "C1 CompilerThre" received signal SIGILL, Illegal instruction.
>> NativeMethodBarrier::set_guard_value (bit_mask=2147483647, value=1, this=0x3ffe5000166)
>>     at /home/amit/jdk/src/hotspot/cpu/s390/gc/shared/barrierSetNMethod_s390.cpp:74
>> 74         if (v == old_value) break;
>
> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   refactor

src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp line 174:

> 172: void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm) {
> 173:   BarrierSetNMethod* bs_nm = BarrierSet::barrier_set()->barrier_set_nmethod();
> 174:   __ align(4, __ offset() + BARRIER_TOTAL_LENGTH); // must align the following block which requires atomic updates

Now, this is confusing. We don't want to align the end of the barrier. We need to align the patchable field which is the immediate field of the cfi instruction.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27213#discussion_r2358407462


More information about the hotspot-dev mailing list