dotnet / corert

This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
http://dot.net
MIT License
2.91k stars 508 forks source link

Move ownership of type system entities to CompilerTypeSystemContext #3873

Open MichalStrehovsky opened 7 years ago

MichalStrehovsky commented 7 years ago

Type system entities that produce code or EETypes need to be owned by the CompilerTypeSystemContext so that we can match/reconcile them between the scanning and code generation phases.

This includes

We currently e.g. can't do fixed slot assignments to virtual methods on interop's delegate wrappers. Similar problems will arise for e.g. reflection invoke stubs and their generic dictionary layout (once we start inlining generic dictionary lookups).

MichalStrehovsky commented 7 years ago

When resolving this bug, look for the issue number in the sources. We have some workarounds in place.