-
Notifications
You must be signed in to change notification settings - Fork 5k
Inject IJW Copy Constructor calls in the JIT instead of in the IL stubs #106000
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
Merged
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
e3126aa
Revert "Disable GS checks in Reverse P/Invoke stubs to avoid missing …
jkoritzinsky 0f5c835
Revert "Since the fix is in the CoreCLR VM side, we need to disable t…
jkoritzinsky 6ae45a8
Propagate the modreq to the stub and into the GS cookie logic to avoi…
jkoritzinsky dc15fb2
Add RuntimeHelpers copy-constructor helper
jkoritzinsky bf92d9e
Implement Reverse P/Invoke GS shadow copy for copy constructors
jkoritzinsky 110b29b
Use a jitinterface function instead of a jit helper so we don't need …
jkoritzinsky b2bb8fc
Remove extra P/Invoke copy constructor call
jkoritzinsky 037ad6a
Propagate the "special-copy" modifier into the JIT for byref locals (…
jkoritzinsky c8fa45d
Move copy constructor handling into the JIT for arguments
jkoritzinsky 52d4da9
Remove now-dead code
jkoritzinsky 1e55410
Fix formatting
jkoritzinsky 59c4aaf
Fix build on Windows x64
jkoritzinsky 390185c
Call copy helper in lowering and heavily reduce changes in higher layers
jkoritzinsky 6d5ce12
Revert "Call copy helper in lowering and heavily reduce changes in hi…
jkoritzinsky f76a582
Implement copy-constructor handling for P/Invokes via a map back to t…
jkoritzinsky 761e648
Various PR feedback and propagate special copy directly from the IL a…
jkoritzinsky 78d770e
Use a simple bool array instead of a vector as a function that has on…
jkoritzinsky 0f0f244
Format
jkoritzinsky fa74b2a
Update hashing
jkoritzinsky dce5b11
Remove assert
jkoritzinsky 416da37
Update Misc test
jkoritzinsky 1287ae0
Cast through size_t to make it explicit that we're dropping the top bits
jkoritzinsky 22a456b
Use compArgsCount and remove assert
jkoritzinsky bb7217b
Various fixes
jkoritzinsky 8e977cc
Fix GCC build
jkoritzinsky 850e78d
Fix signature type check
jkoritzinsky 6ddfe1e
Merge branch 'main' of https://github.com/dotnet/runtime into copy-ct…
jkoritzinsky 670c40d
Feedback
jkoritzinsky dc3754f
Add headers
jkoritzinsky b0ec55c
Fix superpmi build failures. Correctly handle multiple-arg copy const…
jkoritzinsky 048b0c3
Add check and assert
jkoritzinsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.