Closed
Description
There are several moving parts to support ref
fields, this issue represents work in the actual runtime.
The high-level tasks for the runtime are below to address the ref fields work.
- CoreCLR support
- Port specific work from Hackathon project – https://github.com/dotnet/runtime/tree/feature/lowlevelhackathon
- Add runtime support for
ref
fields #63985 - Fix layout and GCInfo for ByRef fields. #64422
- Prevent placing ref fields on non-pointer boundaries #64520
- Validate
IntPtr
and ByRef field overlap #65246
- Mono support
- API Proposal: Add
ref
field feature support toRuntimeFeature
class #64165 - Audit handling of null byrefs in runtime and libraries Box helpers do not handle null-valued managed pointers #70268
- Tooling support
- ECMA update – Proposed changes to ECMA 335 for ref field support #63659
- Delete the
ByReference<T>
type and replace its use withref
fields. - Diagnostics – Ensure SOS and VS can handle these new semantics.
- C# test cases – Comprehensive collection of testing for the runtime.
- Update CrossGen
- Update NativeAOT – CoreCLR and Mono.
- Language support - Merge features/ref-fields roslyn#62155
This contributes to enabling #45152.