Uh oh!
There was an error while loading. Please reload this page.
P/Invoke transient IL regression fixes - #127400
Conversation
…g on inlining decisions. Update handling to understand this case.
Tagging subscribers to this area: @dotnet/interop-contrib |
There was a problem hiding this comment.
Pull request overview
Fixes CoreCLR P/Invoke regressions related to transient IL by correcting x86 stack-argument sizing behavior during stub generation and adjusting PInvokeImportWorker to handle additional runtime call paths / GC modes without contract violations.
Changes:
- Ensure x86 stack argument size computation initializes per-argument native sizes via
MarshalInfo::SetupArgumentSizes(). - Update
PInvokeImportWorkerto allow cooperative-mode callers forSuppressGCTransitionscenarios and avoid resolving targets when already resolved. - Limit managed exception dispatcher / unwind handler installation to the resolution path.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…ions get thrown first) but before jitting (so we don't cache the code pointer before resolving the target for SuppressGCTransition P/Invokes.
Uh oh!
There was an error while loading. Please reload this page.
…rt-thunk into a more shared location
Uh oh!
There was an error while loading. Please reload this page.
Fixes#127231
Fixes#127209