Skip to content

Conversation

matthewhall2
Copy link
Contributor

@matthewhall2 matthewhall2 commented Jul 21, 2025

Previously, the VTable index argument register was not marked as such on x86-32 for 32-bit arguments, which caused issues when invoking MethodHandles through dispatchVirtual.

This changes dispatchVirtual to always use long arg0 for the jit entry point and jit vft offset so the index register is marked properly in linkage.

Issue: #18751

@matthewhall2 matthewhall2 force-pushed the x86-32_dispatchVirtual_fix_linkage branch 2 times, most recently from 4509dda to b63c1ce Compare July 22, 2025 13:29
@matthewhall2
Copy link
Contributor Author

@nbhuiyan @jdmpapin can I get some reviews?

@matthewhall2
Copy link
Contributor Author

Copy link
Member

@nbhuiyan nbhuiyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not have any further comments to add beyond Devin's review of these changes. I will be away next week, so I would like to defer any subsequent rounds of reviews to Devin.

@matthewhall2 matthewhall2 marked this pull request as draft August 19, 2025 14:50
@matthewhall2 matthewhall2 force-pushed the x86-32_dispatchVirtual_fix_linkage branch 4 times, most recently from cdcd084 to 6e1e8c2 Compare August 20, 2025 19:56
@matthewhall2 matthewhall2 marked this pull request as ready for review August 20, 2025 20:03
@matthewhall2 matthewhall2 force-pushed the x86-32_dispatchVirtual_fix_linkage branch from 6e1e8c2 to 6975b4f Compare August 26, 2025 15:27
@matthewhall2 matthewhall2 requested a review from jdmpapin August 26, 2025 15:28
Changes dispatchVirtual to always use long args for the jit entry point
and jit vft offset so the index register is properly marked in linkage.

Disables check for j2iThunks for x86-32

Issue: eclipse-openj9#18751

Signed-off-by: Matthew Hall <[email protected]>
@matthewhall2 matthewhall2 force-pushed the x86-32_dispatchVirtual_fix_linkage branch from 6975b4f to c23511f Compare August 26, 2025 15:32
@jdmpapin
Copy link
Contributor

Jenkins test sanity xlinux jdk17

@jdmpapin jdmpapin merged commit 8d5e069 into eclipse-openj9:master Aug 27, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch:x86 bits:32 comp:jit project:MH Used to track Method Handles related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants