Skip to content

Conversation

matthewhall2
Copy link
Contributor

@matthewhall2 matthewhall2 commented Sep 11, 2025

Adds method to OMRNode to determine if node is jitDispatchJ9Method

flushArgs skips first argument for S390HelperCallSnippet call call is jitDipatchJ9Method

needed for eclipse-openj9/openj9#22588

@matthewhall2 matthewhall2 force-pushed the dispatchJ9Method_MH_Z branch 5 times, most recently from 399e043 to 6b5bf4d Compare September 11, 2025 19:49
@matthewhall2 matthewhall2 changed the title Add support for dispatchJ9Method for MethodHandles Add support for dispatchJ9Method for MethodHandles on Z Sep 12, 2025
@matthewhall2 matthewhall2 force-pushed the dispatchJ9Method_MH_Z branch 7 times, most recently from 0b1a391 to 37cacf5 Compare September 12, 2025 18:29
Adds method to OMRNode to determine if node is jitDispatchJ9Method

flushArgs skips first argument for S390HelperCallSnippet

Signed-off-by: Matthew Hall <[email protected]>
@matthewhall2
Copy link
Contributor Author

@r30shah can I get a review please?

Copy link
Contributor

@r30shah r30shah left a comment

Choose a reason for hiding this comment

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

In general. I feel the changes are fine, so just couple recommendation.

I have general question about the change though - dispatch through J9method is J9 specific changes, Do we need these in OMR ? Can we make changes in J9 for this ?

bool rightToLeft = linkage->getRightToLeft() &&
// we want the arguments for induceOSR to be passed from left to right as in any other non-helper call
!callNode->getSymbolReference()->isOSRInductionHelper();
!callNode->getSymbolReference()->isOSRInductionHelper() && !isJitDispatchJ9Method;
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a recommendation to increase readability,

Suggested change
!callNode->getSymbolReference()->isOSRInductionHelper() && !isJitDispatchJ9Method;
!(callNode->getSymbolReference()->isOSRInductionHelper() || isJitDispatchJ9Method);

bool rightToLeft = self()->isParmsInReverseOrder() &&
// we want the arguments for induceOSR to be passed from left to right as in any other non-helper call
!callNode->getSymbolReference()->isOSRInductionHelper();
!callNode->getSymbolReference()->isOSRInductionHelper() &&
Copy link
Contributor

Choose a reason for hiding this comment

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

Similar recommendation as previous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants