Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Strehovsky <michals@microsoft.com>2017-08-31 23:32:04 +0300
committerMichal Strehovsky <michals@microsoft.com>2017-08-31 23:32:04 +0300
commit01146d99291879f7506ec2ce08ce43984aeabef3 (patch)
tree9ad450ddc8625eaf5b777fb3908c0ed4cf0e8b7b /src/System.Private.Jit
parent572f9e1d6c210078b831508c7cd230ce33202963 (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.csproj1
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" />