diff options
author | Jan Kotas <jkotas@microsoft.com> | 2015-10-25 16:59:18 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-11-02 00:44:39 +0300 |
commit | 481c494e9cfa1e050a9dff5ac23ea6a6cd2c1208 (patch) | |
tree | 46ad09a5e19870c0976defd1d723b46699ff4010 /src/JitInterface | |
parent | c9325e9b9fee0232b4768d4eb9cd1f458e4cfdac (diff) |
Fix argument for new array helper
EEType passed to new array helper had extra array level applied to it. I have also deleted calls to register dependencies with the obsolete driver from JIT-EE interface.
Diffstat (limited to 'src/JitInterface')
-rw-r--r-- | src/JitInterface/src/CorInfoImpl.cs | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/src/JitInterface/src/CorInfoImpl.cs b/src/JitInterface/src/CorInfoImpl.cs index 88fa18057..0c3d7f048 100644 --- a/src/JitInterface/src/CorInfoImpl.cs +++ b/src/JitInterface/src/CorInfoImpl.cs @@ -886,8 +886,7 @@ namespace Internal.JitInterface case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_NEW: { var type = HandleToObject(pResolvedToken.hClass); - _compilation.AddType(type); - _compilation.MarkAsConstructed(type); + Debug.Assert(type is DefType); pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.NewHelper, type)); } @@ -895,17 +894,14 @@ namespace Internal.JitInterface case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_NEWARR_1: { var type = HandleToObject(pResolvedToken.hClass); - var arrayType = type.Context.GetArrayType(type); - _compilation.AddType(arrayType); - _compilation.MarkAsConstructed(arrayType); + Debug.Assert(type.IsSzArray); - pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.NewArr1, arrayType)); + pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.NewArr1, type)); } break; case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_ISINSTANCEOF: { var type = HandleToObject(pResolvedToken.hClass); - _compilation.AddType(type); pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.IsInstanceOf, type)); } @@ -913,7 +909,6 @@ namespace Internal.JitInterface case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_CHKCAST: { var type = HandleToObject(pResolvedToken.hClass); - _compilation.AddType(type); pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.CastClass, type)); } @@ -921,18 +916,15 @@ namespace Internal.JitInterface case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_STATIC_BASE: { var type = HandleToObject(pResolvedToken.hClass); + pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.GetNonGCStaticBase, type)); } break; case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_DELEGATE_CTOR: { - var type = HandleToObject(pResolvedToken.hClass); - _compilation.AddType(type); var method = HandleToObject(pResolvedToken.hMethod); - _compilation.AddMethod(method); - DelegateInfo delegateInfo = (DelegateInfo)_compilation.GetDelegateCtor(method); - _compilation.AddMethod(delegateInfo.Ctor); + DelegateInfo delegateInfo = _compilation.GetDelegateCtor(method); pLookup.addr = (void*)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.DelegateCtor, delegateInfo)); } @@ -1144,9 +1136,6 @@ namespace Internal.JitInterface throw new NotSupportedException(); } - // Make sure to include the type in the compilation - _compilation.AddType(field.OwningType); - fieldAccessor = CORINFO_FIELD_ACCESSOR.CORINFO_FIELD_STATIC_SHARED_STATIC_HELPER; pResult.helper = CorInfoHelpFunc.CORINFO_HELP_READYTORUN_STATIC_BASE; @@ -1597,7 +1586,6 @@ namespace Internal.JitInterface if (((flags & CORINFO_CALLINFO_FLAGS.CORINFO_CALLINFO_CALLVIRT) != 0) && method.IsVirtual) { - _compilation.AddVirtualSlot(method); pResult.codePointerOrStubLookup.constLookup.addr = (void *)ObjectToHandle(_compilation.GetReadyToRunHelper(ReadyToRunHelperId.VirtualCall, method)); @@ -1620,7 +1608,6 @@ namespace Internal.JitInterface } } - // TODO: Generics // pResult.instParamLookup } |