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:
authorJan Kotas <jkotas@microsoft.com>2015-10-25 16:59:18 +0300
committerJan Kotas <jkotas@microsoft.com>2015-11-02 00:44:39 +0300
commit481c494e9cfa1e050a9dff5ac23ea6a6cd2c1208 (patch)
tree46ad09a5e19870c0976defd1d723b46699ff4010 /src/JitInterface
parentc9325e9b9fee0232b4768d4eb9cd1f458e4cfdac (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.cs23
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
}