-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[release/6.0-preview1] For Reverse P/Invokes, call TraceCall with the…
… entrypoint to the target method. (#47650) * For Reverse P/Invokes, call TraceCall with the entrypoint to the target method. Since we're in an IL stub, we don't need to support breakpoints in the stub itself. The debugger will try to resolve the target method and move the breakpoint there. In actuality, that's the part that's failing. Somewhere in the ReversePInvoke helper call chain, we're touching the secret arg register. As a result, when the debugger tries to move the breakpoint, it crashes. By doing the same work ourselves, the debugger doesn't need to resolve the stub secret arg since it never sees a breakpoint in the stub itself. * Use IsILStub instead of JIT flag. * Use UMEntryThunk::GetManagedTarget like what the old system used. * Calculate the trace call managed target once we're always in COOP GC mode and have a thread. * Fix rename. * Dont ask if the target method is an IL stub. Co-authored-by: Jeremy Koritzinsky <[email protected]>
- Loading branch information
1 parent
2b89781
commit a0f85dd
Showing
2 changed files
with
14 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters