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

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


On Wed, 24 Sep 2025 11:11:12 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.

This pull request has now been integrated.

Changeset: 44cb9cad
Author:    Amit Kumar <amitkumar at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/44cb9cad263b4fe2749fd6c223b657d77dca5119
Stats:     6 lines in 3 files changed: 1 ins; 3 del; 2 mod

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

Reviewed-by: dlong, mdoerr, lucy

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

PR: https://git.openjdk.org/jdk/pull/27465


More information about the hotspot-dev mailing list