Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add infrastructure to support relocatable compilations of the invokeHandle/invokeDynamic bytecodes #7439

Closed
wants to merge 4 commits into from

Conversation

dsouzai
Copy link
Contributor

@dsouzai dsouzai commented Aug 12, 2024

  • Add SVM Specific options
  • Add new TR_ExternalRelocationTargetKind values
  • Add relocations for TR_CallsiteTableEntryAddress
  • Add relocations for TR_MethodTypeTableEntryAddress

@dsouzai
Copy link
Contributor Author

dsouzai commented Aug 12, 2024

@jdmpapin do you mind reviewing?

@dsouzai
Copy link
Contributor Author

dsouzai commented Aug 14, 2024

Rebased onto the latest master.

Signed-off-by: Irwin D'Souza <[email protected]>
Add the following relo kinds:
* TR_ValidateDynamicMethodFromCallsiteIndex
* TR_ValidateHandleMethodFromCPIndex
* TR_CallsiteTableEntryAddress
* TR_MethodTypeTableEntryAddress

Signed-off-by: Irwin D'Souza <[email protected]>
@@ -1794,6 +1800,12 @@ void OMR::Power::MemoryReference::accessStaticItem(TR::Node *node, TR::SymbolRef
loadAddressConstant(cg, true, nodeForSymbol, 1, reg, NULL, false, TR_MethodEnterExitHookAddress);
return;
}
else if (symbol->isCallSiteTableEntry() && !refIsUnresolved && cg->comp()->compileRelocatableCode()
Copy link
Contributor

Choose a reason for hiding this comment

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

this else if is missing its closing parenthesis

@@ -1806,6 +1812,12 @@ void OMR::Power::MemoryReference::accessStaticItem(TR::Node *node, TR::SymbolRef
loadAddressConstant(cg, true, nodeForSymbol, 1, reg, NULL, false, TR_CallsiteTableEntryAddress);
return;
}
else if (symbol->isMethodTypeTableEntry() && !refIsUnresolved && cg->comp()->compileRelocatableCode()
Copy link
Contributor

Choose a reason for hiding this comment

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

another missing parenthesis

@dsouzai
Copy link
Contributor Author

dsouzai commented Sep 23, 2024

I think I'll spit this PR into two so that they are more closely coupled to the OJ9 PRs that are dependent on them.

@dsouzai dsouzai closed this Sep 23, 2024
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.

2 participants