-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Implement System.Runtime.CompilerServices.DisabledRuntimeMarshallingAttribute on CoreCLR-family of runtimes/type systems #63320
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
jkoritzinsky
merged 64 commits into
dotnet:main
from
jkoritzinsky:disableruntimemarshalling
Jan 21, 2022
Merged
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
95c08cf
Add the DisableRuntimeMarshallingAttribute to the build.
jkoritzinsky 225dea7
Add initial test suite
jkoritzinsky 7c85f02
Implement support in IL stubs for the "disabled runtime marshalling" …
jkoritzinsky 132dc67
Add testing for inlining IL stubs.
jkoritzinsky 70f2fab
Block SetLastError and LCID support when DisableRuntimeMarshallingAtt…
jkoritzinsky ae4f309
Bump NativeAOT-only R2R version header (missed previously)
jkoritzinsky 8681adf
Implement support in crossgen2 and NativeAOT
jkoritzinsky 7700998
Clean up the test tree and update the tests to fail more reliably whe…
jkoritzinsky 20094a2
Fix NativeAOT and clean up crossgen2
jkoritzinsky f9f070f
Add a test for NoPreserveSig with DisableRuntimeMarshalling
jkoritzinsky e0ee72e
Merge branch 'main' of github.com:dotnet/runtime into disableruntimem…
jkoritzinsky 694f5fb
Assign hr in SUCCEEDED macro.
jkoritzinsky 9ca4274
PR feedback.
jkoritzinsky e84d87d
Block varargs in disabled marshalling mode.
jkoritzinsky a4a8c99
Fix typo
jkoritzinsky a0953a2
Block types that have a field that is auto-layout somewhere in their …
jkoritzinsky 118e21c
Fix typo
jkoritzinsky 57c5553
Revert the AutoLayoutOrHasAutoLayoutFIeld check in the "marshalling e…
jkoritzinsky 8c7efa3
Only set scope when it isn't null (it's null for some cases).
jkoritzinsky ce914dc
Fix narrowing conversion failure.
jkoritzinsky e72845f
First pass simple implementation in Mono
jkoritzinsky bcfa307
Fix assert to still work for the built-in marshalling system
jkoritzinsky abf48cb
S_FALSE is a thing
jkoritzinsky 517833f
Fix type load failures caused by eager type handle loading.
jkoritzinsky 8eee013
Get MethodILScope from the calling method when available (this covers…
jkoritzinsky 9d58b3f
Add const modifier.
jkoritzinsky 9bb7a62
Try 2 to fix const modifiers
jkoritzinsky 887e20a
Fix compilation of NativeAOT jitinterface
jkoritzinsky a8671be
Fix type lookup in Mono
jkoritzinsky e1d26fc
Merge branch 'disableruntimemarshalling' of github.com:jkoritzinsky/r…
jkoritzinsky f928557
Use try_get model for getting the attribute type in the case of failu…
jkoritzinsky 754ffaf
Handle void and generic instantiations
jkoritzinsky 149ba9f
Update auto-layout check to check recursively in layout.
jkoritzinsky 82c0086
Enhance test suite with more tests for UnmanagedCallersOnly, generics…
jkoritzinsky d759243
Fix IL and a few typos
jkoritzinsky 4218e1d
Set a value in the padding for easier debugging.
jkoritzinsky 54dc419
Create sig->marshalling_disabled to track when marshalling is disable…
jkoritzinsky 5ae53f8
Fix running test suite on Mono + Mini JIT
jkoritzinsky 41a4474
Fix recursive type load failure by only checking the "has auto-layout…
jkoritzinsky adb46bc
Fix mono windows build.
jkoritzinsky 1b26307
Feedback from Michal.
jkoritzinsky 5c70dc2
Fix bug in EcmaAssembly.HasAssemblyCustomAttribute
jkoritzinsky b8588dc
Make the runtime flavor check in the wrapper generator case-invariant
jkoritzinsky f2d91ff
Use helper method since various different platforms/configurations th…
jkoritzinsky f2f773d
Fix AutoLayout test refactor and use a dummy value for the padding fi…
jkoritzinsky 46c12bb
Add an explicit test for using enums as they're a little weird and ne…
jkoritzinsky 4c49207
Fix build-time test filtering in xunit wrapper generator.
jkoritzinsky a660f12
Fix some x86-specific issues
jkoritzinsky f0c86ec
Merge branch 'disableruntimemarshalling' of E:/home/jekoritz/runtime …
jkoritzinsky 57c482b
Add a nice big comment block.
jkoritzinsky d0e12db
Fix x86
jkoritzinsky 7524223
Refactor tests so we can skip one on Mono since Char->char lossy conv…
jkoritzinsky b62fd52
Disable test in issues.targets until an alternative solution is reached.
jkoritzinsky e3b7686
Add another SkipOnMono attribute in the "Enabled" test suite.
jkoritzinsky 2ecd865
Merge branch 'disableruntimemarshalling' of github.com:jkoritzinsky/r…
jkoritzinsky 7b0f9b2
Apply UnmangedFunctionPointerAttribute to help hint to the Mono LLVM …
jkoritzinsky 3122f76
Unify on "runtime marshalling" terminology
jkoritzinsky 0d1f54e
Clean up unused usings.
jkoritzinsky 6a08e87
Address Jan's feedback except for applying the attribute to CoreLib.
jkoritzinsky 9e0fc41
PR feedback.
jkoritzinsky 0896e44
Mono throws an InvalidProgramException for varargs
jkoritzinsky 3609c82
Fix copy-paste issue.
jkoritzinsky 74b0f61
Make sure we use the P/Invoke's Module and not the caller's module wh…
jkoritzinsky f496d66
Handle how LLVM AOT reports the failure to handle varargs (EEE)
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
Implement support in crossgen2 and NativeAOT
- Loading branch information
commit 8681adf4324eafc5e01118eb4643b0b4b5669a0b
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
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.