-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Support IAT_PVALUE string literals in the interpreter #119011
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for IAT_PVALUE string literals in the CoreCLR interpreter, enabling proper handling of string references that require indirection. The key enhancement is implementing the INTOP_LDIND_O instruction and updating the string literal compilation logic to handle both direct (IAT_VALUE) and indirect (IAT_PVALUE) string access patterns.
Key changes:
- Implements INTOP_LDIND_O instruction for object indirection in the interpreter execution engine
- Updates string literal compilation to handle IAT_PVALUE access type with proper indirection logic
- Reorganizes instruction generation order to support the new indirection pattern
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/coreclr/vm/interpexec.cpp | Adds INTOP_LDIND_O case to interpreter execution switch statement |
| src/coreclr/interpreter/compiler.cpp | Updates string literal compilation to handle IAT_PVALUE with indirection and reorganizes instruction data assignment |
|
Tagging subscribers to this area: @BrzVlad, @janvorli, @kg |
Adds support for IAT_PVALUE string literals and removes INTOP_LDIND_O. This fixes JIT\regression\jitblue\Runtime_100437