diff options
author | Michal Strehovsky <michals@microsoft.com> | 2017-08-31 23:32:04 +0300 |
---|---|---|
committer | Michal Strehovsky <michals@microsoft.com> | 2017-08-31 23:32:04 +0300 |
commit | 01146d99291879f7506ec2ce08ce43984aeabef3 (patch) | |
tree | 9ad450ddc8625eaf5b777fb3908c0ed4cf0e8b7b /src/System.Private.Jit | |
parent | 572f9e1d6c210078b831508c7cd230ce33202963 (diff) |
Fix type loader handling of __Canon in CoreRT
On Project N, `__Canon` is backed by an actual type in System.Private.CoreLib. In the new type system, we no longer need each type to have a token and we chose `__Canon` to be a synthetic type created out of thin air.
This poses a small problem when trying to refer to it from C#.
In this change:
* I'm making us not include `__Canon.cs` on CoreRT anymore.
* I'm updating the single method mode command line parser to parse `__Canon` specially. We were already special casing it by rewriting the type tree anyway (parse as an ECMA type and then replace). (This is what Project X uses in the bridging code too.)
* I'm making `GetCanonType` an intrinsic (which has access to the `__Canon` TypeDesc)
* Putting some code under ifdef that doesn't apply on CoreRT
[tfs-changeset: 1672488]
Diffstat (limited to 'src/System.Private.Jit')
-rw-r--r-- | src/System.Private.Jit/src/System.Private.Jit.csproj | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/System.Private.Jit/src/System.Private.Jit.csproj b/src/System.Private.Jit/src/System.Private.Jit.csproj index 8d303aa3e..bb8c9d0a2 100644 --- a/src/System.Private.Jit/src/System.Private.Jit.csproj +++ b/src/System.Private.Jit/src/System.Private.Jit.csproj @@ -67,6 +67,7 @@ <Compile Include="$(TypeSystemBasePath)\IL\Stubs\DelegateMarshallingMethodThunk.cs" /> <Compile Include="$(TypeSystemBasePath)\IL\Stubs\ForwardDelegateCreationThunk.cs" /> <Compile Include="$(TypeSystemBasePath)\IL\Stubs\EETypePtrOfIntrinsic.cs" /> + <Compile Include="$(TypeSystemBasePath)\IL\Stubs\GetCanonTypeIntrinsic.cs" /> <Compile Include="$(TypeSystemBasePath)\IL\Stubs\DelegateMethodILEmitter.cs" /> <Compile Include="$(TypeSystemBasePath)\IL\Stubs\PInvokeILEmitter.cs" /> <Compile Include="$(TypeSystemBasePath)\IL\Stubs\PInvokeLazyFixupField.cs" /> |