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 17:57:49 +0300
committerJan Kotas <jkotas@microsoft.com>2015-10-26 22:00:18 +0300
commit14761a1b3ac2dd0036e72f7f3ae779b8094a2ce6 (patch)
tree05d956317c8fab73057f0d2962e7589ee49513a7 /src/JitInterface
parent83b431e7bea124c288c64b39ce93985205f8bae2 (diff)
Use ReadyToRun helper ids
Diffstat (limited to 'src/JitInterface')
-rw-r--r--src/JitInterface/src/CorInfoImpl.cs76
1 files changed, 64 insertions, 12 deletions
diff --git a/src/JitInterface/src/CorInfoImpl.cs b/src/JitInterface/src/CorInfoImpl.cs
index 94e714d81..e982b2e02 100644
--- a/src/JitInterface/src/CorInfoImpl.cs
+++ b/src/JitInterface/src/CorInfoImpl.cs
@@ -1376,23 +1376,75 @@ namespace Internal.JitInterface
{ throw new NotImplementedException(); }
void* getHelperFtn(IntPtr _this, CorInfoHelpFunc ftnNum, ref void* ppIndirection)
{
+ JitHelperId id;
+
switch (ftnNum)
{
- case CorInfoHelpFunc.CORINFO_HELP_RNGCHKFAIL:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.RngChkFail));
- case CorInfoHelpFunc.CORINFO_HELP_ASSIGN_REF:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.AssignRef));
- case CorInfoHelpFunc.CORINFO_HELP_CHECKED_ASSIGN_REF:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.CheckedAssignRef));
- case CorInfoHelpFunc.CORINFO_HELP_THROW:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.Throw));
- case CorInfoHelpFunc.CORINFO_HELP_FAIL_FAST:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.FailFast));
- case CorInfoHelpFunc.CORINFO_HELP_NEW_MDARR:
- return (void*)ObjectToHandle(_compilation.GetJitHelper(JitHelperId.NewMDArray));
+ case CorInfoHelpFunc.CORINFO_HELP_THROW: id = JitHelperId.Throw; break;
+ case CorInfoHelpFunc.CORINFO_HELP_RETHROW: id = JitHelperId.Rethrow; break;
+ case CorInfoHelpFunc.CORINFO_HELP_OVERFLOW: id = JitHelperId.Overflow; break;
+ case CorInfoHelpFunc.CORINFO_HELP_RNGCHKFAIL: id = JitHelperId.RngChkFail; break;
+ case CorInfoHelpFunc.CORINFO_HELP_FAIL_FAST: id = JitHelperId.FailFast; break;
+ case CorInfoHelpFunc.CORINFO_HELP_THROWNULLREF: id = JitHelperId.ThrowNullRef; break;
+ case CorInfoHelpFunc.CORINFO_HELP_THROWDIVZERO: id = JitHelperId.ThrowDivZero; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_ASSIGN_REF: id = JitHelperId.WriteBarrier; break;
+ case CorInfoHelpFunc.CORINFO_HELP_CHECKED_ASSIGN_REF: id = JitHelperId.CheckedWriteBarrier; break;
+ case CorInfoHelpFunc.CORINFO_HELP_ASSIGN_BYREF: id = JitHelperId.ByRefWriteBarrier; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_ARRADDR_ST: id = JitHelperId.Stelem_Ref; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LDELEMA_REF: id = JitHelperId.Ldelema_Ref; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_MEMSET: id = JitHelperId.MemSet; break;
+ case CorInfoHelpFunc.CORINFO_HELP_MEMCPY: id = JitHelperId.MemCpy; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE: id = JitHelperId.GetRuntimeTypeHandle; break;
+ case CorInfoHelpFunc.CORINFO_HELP_METHODDESC_TO_STUBRUNTIMEMETHOD: id = JitHelperId.GetRuntimeMethodHandle; break;
+ case CorInfoHelpFunc.CORINFO_HELP_FIELDDESC_TO_STUBRUNTIMEFIELD: id = JitHelperId.GetRuntimeFieldHandle; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_BOX: id = JitHelperId.Box; break;
+ case CorInfoHelpFunc.CORINFO_HELP_BOX_NULLABLE: id = JitHelperId.Box_Nullable; break;
+ case CorInfoHelpFunc.CORINFO_HELP_UNBOX: id = JitHelperId.Unbox; break;
+ case CorInfoHelpFunc.CORINFO_HELP_UNBOX_NULLABLE: id = JitHelperId.Unbox_Nullable; break;
+ case CorInfoHelpFunc.CORINFO_HELP_NEW_MDARR: id = JitHelperId.NewMultiDimArr; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_LMUL: id = JitHelperId.LMul; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LMUL_OVF: id = JitHelperId.LMulOfv; break;
+ case CorInfoHelpFunc.CORINFO_HELP_ULMUL_OVF: id = JitHelperId.ULMulOvf; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LDIV: id = JitHelperId.LDiv; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LMOD: id = JitHelperId.LMod; break;
+ case CorInfoHelpFunc.CORINFO_HELP_ULDIV: id = JitHelperId.ULDiv; break;
+ case CorInfoHelpFunc.CORINFO_HELP_ULMOD: id = JitHelperId.ULMod; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LLSH: id = JitHelperId.LLsh; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LRSH: id = JitHelperId.LRsh; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LRSZ: id = JitHelperId.LRsz; break;
+ case CorInfoHelpFunc.CORINFO_HELP_LNG2DBL: id = JitHelperId.Lng2Dbl; break;
+ case CorInfoHelpFunc.CORINFO_HELP_ULNG2DBL: id = JitHelperId.ULng2Dbl; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_DIV: id = JitHelperId.Div; break;
+ case CorInfoHelpFunc.CORINFO_HELP_MOD: id = JitHelperId.Mod; break;
+ case CorInfoHelpFunc.CORINFO_HELP_UDIV: id = JitHelperId.UDiv; break;
+ case CorInfoHelpFunc.CORINFO_HELP_UMOD: id = JitHelperId.UMod; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2INT: id = JitHelperId.Dbl2Int; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2INT_OVF: id = JitHelperId.Dbl2IntOvf; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2LNG: id = JitHelperId.Dbl2Lng; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2LNG_OVF: id = JitHelperId.Dbl2LngOvf; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2UINT: id = JitHelperId.Dbl2UInt; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2UINT_OVF: id = JitHelperId.Dbl2UIntOvf; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2ULNG: id = JitHelperId.Dbl2ULng; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBL2ULNG_OVF: id = JitHelperId.Dbl2ULngOvf; break;
+
+ case CorInfoHelpFunc.CORINFO_HELP_FLTREM: id = JitHelperId.DblRem; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBLREM: id = JitHelperId.FltRem; break;
+ case CorInfoHelpFunc.CORINFO_HELP_FLTROUND: id = JitHelperId.DblRound; break;
+ case CorInfoHelpFunc.CORINFO_HELP_DBLROUND: id = JitHelperId.FltRound; break;
+
default:
throw new NotImplementedException();
}
+
+ return (void*)ObjectToHandle(_compilation.GetJitHelper(id));
}
void getFunctionEntryPoint(IntPtr _this, CORINFO_METHOD_STRUCT_* ftn, ref CORINFO_CONST_LOOKUP pResult, CORINFO_ACCESS_FLAGS accessFlags)
{ throw new NotImplementedException(); }