diff options
author | Jan Kotas <jkotas@microsoft.com> | 2015-10-25 17:57:49 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-10-26 22:00:18 +0300 |
commit | 14761a1b3ac2dd0036e72f7f3ae779b8094a2ce6 (patch) | |
tree | 05d956317c8fab73057f0d2962e7589ee49513a7 /src/JitInterface | |
parent | 83b431e7bea124c288c64b39ce93985205f8bae2 (diff) |
Use ReadyToRun helper ids
Diffstat (limited to 'src/JitInterface')
-rw-r--r-- | src/JitInterface/src/CorInfoImpl.cs | 76 |
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(); } |