RFR: 8368518: [s390x] test failure with failed: wrong size of mach node [v2]

Amit Kumar amitkumar at openjdk.org
Thu Sep 25 10:02:38 UTC 2025


On Thu, 25 Sep 2025 04:12:09 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> Issue:  
>> 
>> while previous settings: 
>> 
>> (gdb) p n_size < (current_offset-instr_offset)
>> $7 = true <- now we will end up on the false-assert trap and program will crash. 
>> (gdb) p n_size 
>> $8 = 104
>> (gdb) p current_offset 
>> $9 = 108
>> 
>>  uint n_size = n->size(C->regalloc());
>>       if (n_size < (current_offset-instr_offset)) {
>>         MachNode* mach = n->as_Mach();
>>         ......
>>         assert(false, "wrong size of mach node");
>>       }
>> 
>> 
>> Issue is with VEP offset. After alignment in nmethod_entry_barrier, if MachPrologNode start address is 4 byte aligned, then size will be constant. But if it's not 4 byte aligned then some `nops` will be added by `align()` method in `nmethod_entry_barrier`, after which VEP will not be at correct offset. That offset is being controlled by `InteriorEntryAlignment` and updating it 4 fixes the issue. 
>> 
>> Fixes the test failures. Tested tier1 with release and fastdebug vm. 
>> 
>> Moves one comment related to INTPRESSURE, a leftover from previous change.
>
> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp
>   
>   Co-authored-by: Dean Long <17332032+dean-long at users.noreply.github.com>

Thanks for the approval and reviews!

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

PR Comment: https://git.openjdk.org/jdk/pull/27465#issuecomment-3333191552


More information about the hotspot-dev mailing list