Age | Commit message (Collapse) | Author |
|
* Add SpanMarshaller and ReadOnlySpanMarshaller. Move the new attribute types to System.Runtime ref assembly
* Remove pinning of the managed type. The new model isn't supposed to support this and it was breaking the span marshallers.
* Delete the V1 marshalling model
You served us well, but your time has passed.
* Remove obsoleted unit tests. Rename type usages in JS generator
* Fix test build
* PR feedback and add doc comments.
* Fix some extraneous usages of the v1 API in tests.
* Remove test of the managed type's GetPinnableReference method. We don't support this with the v2 system.
|
|
|
|
(#71682)
|
|
Basic stateless linear collection marshalling for blittable elements
Not handled:
- caller-allocated buffer
- guaranteed unmarshal
- pinnable reference
- non-blittable element marshalling
- element scenarios on custom marshallers
|
|
|
|
* Enable using the new generator attributes before the new API shapes are approved
* Disable the diagnostic that verifies that a marshaller type has the v1 attribute.
* Convert some custom type marshallers to the v2 design.
Convert as many of the marshallers as possible to their correct representation with the currently implemented feature set.
This PR does not convert marshallers that can be represented with the new design but need more features to be accurately represented.
|
|
- Separate out previous custom marshalling support into _V1 classes
- Add basic support for new stateless marshaller shape for values
This only adds really basic support for stateless value marshalling. It doesn't deal with support for caller-allocated buffer, pinning, guaranteed unmarshal, or linear collection marshalling.
|
|
`System.Runtime.InteropServices.Marshalling` (#68842)
|
|
|
|
Co-authored-by: Elinor Fung <elfung@microsoft.com>
|
|
marshaller types (#65591)
|
|
|
|
|
|
|
|
|
|
|
|
(#61539)
* Update GetPinnableReference() usage in multi-step custom tyep marshalling
Change GetPinnableReference() on a marshaller type to be used as a side effect when marshalling in all cases when a fixed() statement is usable.
Use the Value property getter to get the value to pass to native in all cases.
Update our marshallers and tests to follow this design update.
* Apply suggestions from code review
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
* Don't emit the assingment to the Value property in the Unmarshal stage when using [Out]
* Fix the unmarshalling conditions
* Fix Utf16StringMarshaller to correctly handle the "null pointer" case now that we're using spans internally for storage in all cases.
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
|
|
|
|
|
|
regeneration).
Move System.Runtime.InteropServices unit tests to a subdirectory.
|
|
(dotnet/runtimelab#1119)
Commit migrated from https://github.com/dotnet/runtimelab/commit/9ac16c6c9f47100ea91db6231ad47f4a8d6ca946
|
|
performance (dotnet/runtimelab#1374)
Commit migrated from https://github.com/dotnet/runtimelab/commit/90c617d39a9775e8eb0c5d4aba2f0cc6932bfb87
|
|
* Implement marshallers for Span/ReadOnlySpan.
* Add tests for span marshalling.
* Remove unused code.
* PR feedback.
* Use dotnet/runtime style.
* Fix allocation size in ReadOnlySpanMarshaller<T>.
Commit migrated from https://github.com/dotnet/runtimelab/commit/e9876f36bda716892f6a3878b896991e1be02b81
|
|
Commit migrated from https://github.com/dotnet/runtimelab/commit/b3a0ead76a03a92af3b87dd5486563728fb5ecf8
|
|
Commit migrated from https://github.com/dotnet/runtimelab/commit/26dec3e1ca3fac21946bfbcc3031bd2017929c10
|
|
(dotnet/runtimelab#1031)
* Fix runsettings generation
* Update standalone-template for recent infrastructure changes (dotnet/runtimelab#1024)
* Update to Arcade 6.0.0-beta.21226.16
* Update dependency for using custom runtime version
* Update README
* Don't use custom runtime in Ancillary.Interop
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Commit migrated from https://github.com/dotnet/runtimelab/commit/57b11ae82fd1f4fbde9a98e415082db6087d0142
|
|
(dotnet/runtimelab#1007)
Commit migrated from https://github.com/dotnet/runtimelab/commit/82735dd0fef4886ae2f0886267ef30822e17ee8a
|
|
Commit migrated from https://github.com/dotnet/runtimelab/commit/0c64a2aa529dff4ef3ad15b17663b5314f55145b
|
|
* Prefix all packages and and published assemblies with "Microsoft.Interop.*"
Commit migrated from https://github.com/dotnet/runtimelab/commit/e87c78ea898614339f7f043791f1af07d1abf785
|
|
Commit migrated from https://github.com/dotnet/runtimelab/commit/b36b0b8adc4d5c3e7f2927381ea800444f870f96
|
|
(dotnet/runtimelab#373)
Commit migrated from https://github.com/dotnet/runtimelab/commit/e4bdc07d100804a08b00c5419e259ba2ef7a211f
|
|
Commit migrated from https://github.com/dotnet/runtimelab/commit/7b2591d6531af56420092d0ae136911ae507e218
|
|
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Commit migrated from https://github.com/dotnet/runtimelab/commit/2cde5aa726f1b0ad08fd774d0bf84bd9eb5f7e62
|
|
analyzer that validates manual usage. (dotnet/runtimelab#61)
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Commit migrated from https://github.com/dotnet/runtimelab/commit/05d6ef236f7bd698870b17e8abb1b7c6bb130198
|
|
(dotnet/runtimelab#47)
Commit migrated from https://github.com/dotnet/runtimelab/commit/39ce2af428817677201f0f2fdd79c2a3bfddcefe
|
|
* Collect DllImport details through Roslyn semantic model
Create an assembly that provides the GeneratedDllImportAttribute
which allows use of the semantic model.
* Collect MarshalAsAttribute data
* Collect MarshalAsAttribute data
Convert P/Invoke centric data structures to handle positional
type information for managed/unmanaged scenarios.
Commit migrated from https://github.com/dotnet/runtimelab/commit/21e634efd416d3457d171d0db6efe505b48c711d
|