| 1 | // Licensed to the .NET Foundation under one or more agreements. |
| 2 | // The .NET Foundation licenses this file to you under the MIT license. |
| 3 | // See the LICENSE file in the project root for more information. |
| 4 | |
| 5 | // |
| 6 | // ReadyToRunHelpers.h |
| 7 | // |
| 8 | |
| 9 | // |
| 10 | // Mapping between regular JIT helpers and ready to run helpers |
| 11 | // |
| 12 | |
| 13 | #ifndef OPTIMIZEFORSPEED |
| 14 | #define OPTIMIZEFORSPEED |
| 15 | #endif |
| 16 | |
| 17 | HELPER(READYTORUN_HELPER_Throw, CORINFO_HELP_THROW, OPTIMIZEFORSIZE) |
| 18 | HELPER(READYTORUN_HELPER_Rethrow, CORINFO_HELP_RETHROW, OPTIMIZEFORSIZE) |
| 19 | HELPER(READYTORUN_HELPER_Overflow, CORINFO_HELP_OVERFLOW, OPTIMIZEFORSIZE) |
| 20 | HELPER(READYTORUN_HELPER_RngChkFail, CORINFO_HELP_RNGCHKFAIL, OPTIMIZEFORSIZE) |
| 21 | HELPER(READYTORUN_HELPER_FailFast, CORINFO_HELP_FAIL_FAST, OPTIMIZEFORSIZE) |
| 22 | HELPER(READYTORUN_HELPER_ThrowNullRef, CORINFO_HELP_THROWNULLREF, OPTIMIZEFORSIZE) |
| 23 | HELPER(READYTORUN_HELPER_ThrowDivZero, CORINFO_HELP_THROWDIVZERO, OPTIMIZEFORSIZE) |
| 24 | |
| 25 | HELPER(READYTORUN_HELPER_WriteBarrier, CORINFO_HELP_ASSIGN_REF, ) |
| 26 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier, CORINFO_HELP_CHECKED_ASSIGN_REF, ) |
| 27 | HELPER(READYTORUN_HELPER_ByRefWriteBarrier, CORINFO_HELP_ASSIGN_BYREF, ) |
| 28 | |
| 29 | HELPER(READYTORUN_HELPER_Stelem_Ref, CORINFO_HELP_ARRADDR_ST, ) |
| 30 | HELPER(READYTORUN_HELPER_Ldelema_Ref, CORINFO_HELP_LDELEMA_REF, ) |
| 31 | |
| 32 | HELPER(READYTORUN_HELPER_MemSet, CORINFO_HELP_MEMSET, ) |
| 33 | HELPER(READYTORUN_HELPER_MemCpy, CORINFO_HELP_MEMCPY, ) |
| 34 | |
| 35 | HELPER(READYTORUN_HELPER_LogMethodEnter, CORINFO_HELP_BBT_FCN_ENTER, ) |
| 36 | |
| 37 | HELPER(READYTORUN_HELPER_GetRuntimeTypeHandle, CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE, ) |
| 38 | HELPER(READYTORUN_HELPER_GetRuntimeMethodHandle, CORINFO_HELP_METHODDESC_TO_STUBRUNTIMEMETHOD, ) |
| 39 | HELPER(READYTORUN_HELPER_GetRuntimeFieldHandle, CORINFO_HELP_FIELDDESC_TO_STUBRUNTIMEFIELD, ) |
| 40 | |
| 41 | HELPER(READYTORUN_HELPER_Box, CORINFO_HELP_BOX, ) |
| 42 | HELPER(READYTORUN_HELPER_Box_Nullable, CORINFO_HELP_BOX_NULLABLE, ) |
| 43 | HELPER(READYTORUN_HELPER_Unbox, CORINFO_HELP_UNBOX, ) |
| 44 | HELPER(READYTORUN_HELPER_Unbox_Nullable, CORINFO_HELP_UNBOX_NULLABLE, ) |
| 45 | HELPER(READYTORUN_HELPER_NewMultiDimArr, CORINFO_HELP_NEW_MDARR, ) |
| 46 | HELPER(READYTORUN_HELPER_NewMultiDimArr_NonVarArg, CORINFO_HELP_NEW_MDARR_NONVARARG, ) |
| 47 | |
| 48 | HELPER(READYTORUN_HELPER_NewObject, CORINFO_HELP_NEWFAST, ) |
| 49 | HELPER(READYTORUN_HELPER_NewArray, CORINFO_HELP_NEWARR_1_R2R_DIRECT, ) |
| 50 | HELPER(READYTORUN_HELPER_CheckCastAny, CORINFO_HELP_CHKCASTANY, ) |
| 51 | HELPER(READYTORUN_HELPER_CheckInstanceAny, CORINFO_HELP_ISINSTANCEOFANY, ) |
| 52 | |
| 53 | HELPER(READYTORUN_HELPER_GenericGcStaticBase, CORINFO_HELP_GETGENERICS_GCSTATIC_BASE, ) |
| 54 | HELPER(READYTORUN_HELPER_GenericNonGcStaticBase, CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE, ) |
| 55 | HELPER(READYTORUN_HELPER_GenericGcTlsBase, CORINFO_HELP_GETGENERICS_GCTHREADSTATIC_BASE, ) |
| 56 | HELPER(READYTORUN_HELPER_GenericNonGcTlsBase, CORINFO_HELP_GETGENERICS_NONGCTHREADSTATIC_BASE,) |
| 57 | |
| 58 | HELPER(READYTORUN_HELPER_VirtualFuncPtr, CORINFO_HELP_VIRTUAL_FUNC_PTR, ) |
| 59 | |
| 60 | HELPER(READYTORUN_HELPER_LMul, CORINFO_HELP_LMUL, ) |
| 61 | HELPER(READYTORUN_HELPER_LMulOfv, CORINFO_HELP_LMUL_OVF, ) |
| 62 | HELPER(READYTORUN_HELPER_ULMulOvf, CORINFO_HELP_ULMUL_OVF, ) |
| 63 | HELPER(READYTORUN_HELPER_LDiv, CORINFO_HELP_LDIV, ) |
| 64 | HELPER(READYTORUN_HELPER_LMod, CORINFO_HELP_LMOD, ) |
| 65 | HELPER(READYTORUN_HELPER_ULDiv, CORINFO_HELP_ULDIV, ) |
| 66 | HELPER(READYTORUN_HELPER_ULMod, CORINFO_HELP_ULMOD, ) |
| 67 | HELPER(READYTORUN_HELPER_LLsh, CORINFO_HELP_LLSH, ) |
| 68 | HELPER(READYTORUN_HELPER_LRsh, CORINFO_HELP_LRSH, ) |
| 69 | HELPER(READYTORUN_HELPER_LRsz, CORINFO_HELP_LRSZ, ) |
| 70 | HELPER(READYTORUN_HELPER_Lng2Dbl, CORINFO_HELP_LNG2DBL, ) |
| 71 | HELPER(READYTORUN_HELPER_ULng2Dbl, CORINFO_HELP_ULNG2DBL, ) |
| 72 | |
| 73 | HELPER(READYTORUN_HELPER_Div, CORINFO_HELP_DIV, ) |
| 74 | HELPER(READYTORUN_HELPER_Mod, CORINFO_HELP_MOD, ) |
| 75 | HELPER(READYTORUN_HELPER_UDiv, CORINFO_HELP_UDIV, ) |
| 76 | HELPER(READYTORUN_HELPER_UMod, CORINFO_HELP_UMOD, ) |
| 77 | |
| 78 | HELPER(READYTORUN_HELPER_Dbl2Int, CORINFO_HELP_DBL2INT, ) |
| 79 | HELPER(READYTORUN_HELPER_Dbl2IntOvf, CORINFO_HELP_DBL2INT_OVF, ) |
| 80 | HELPER(READYTORUN_HELPER_Dbl2Lng, CORINFO_HELP_DBL2LNG, ) |
| 81 | HELPER(READYTORUN_HELPER_Dbl2LngOvf, CORINFO_HELP_DBL2LNG_OVF, ) |
| 82 | HELPER(READYTORUN_HELPER_Dbl2UInt, CORINFO_HELP_DBL2UINT, ) |
| 83 | HELPER(READYTORUN_HELPER_Dbl2UIntOvf, CORINFO_HELP_DBL2UINT_OVF, ) |
| 84 | HELPER(READYTORUN_HELPER_Dbl2ULng, CORINFO_HELP_DBL2ULNG, ) |
| 85 | HELPER(READYTORUN_HELPER_Dbl2ULngOvf, CORINFO_HELP_DBL2ULNG_OVF, ) |
| 86 | |
| 87 | HELPER(READYTORUN_HELPER_FltRem, CORINFO_HELP_FLTREM, ) |
| 88 | HELPER(READYTORUN_HELPER_DblRem, CORINFO_HELP_DBLREM, ) |
| 89 | HELPER(READYTORUN_HELPER_FltRound, CORINFO_HELP_FLTROUND, ) |
| 90 | HELPER(READYTORUN_HELPER_DblRound, CORINFO_HELP_DBLROUND, ) |
| 91 | |
| 92 | #ifndef _TARGET_X86_ |
| 93 | HELPER(READYTORUN_HELPER_PersonalityRoutine, CORINFO_HELP_EE_PERSONALITY_ROUTINE, OPTIMIZEFORSIZE) |
| 94 | HELPER(READYTORUN_HELPER_PersonalityRoutineFilterFunclet, CORINFO_HELP_EE_PERSONALITY_ROUTINE_FILTER_FUNCLET, OPTIMIZEFORSIZE) |
| 95 | #endif |
| 96 | |
| 97 | #ifdef _TARGET_X86_ |
| 98 | HELPER(READYTORUN_HELPER_WriteBarrier_EAX, CORINFO_HELP_ASSIGN_REF_EAX, ) |
| 99 | HELPER(READYTORUN_HELPER_WriteBarrier_EBX, CORINFO_HELP_ASSIGN_REF_EBX, ) |
| 100 | HELPER(READYTORUN_HELPER_WriteBarrier_ECX, CORINFO_HELP_ASSIGN_REF_ECX, ) |
| 101 | HELPER(READYTORUN_HELPER_WriteBarrier_ESI, CORINFO_HELP_ASSIGN_REF_ESI, ) |
| 102 | HELPER(READYTORUN_HELPER_WriteBarrier_EDI, CORINFO_HELP_ASSIGN_REF_EDI, ) |
| 103 | HELPER(READYTORUN_HELPER_WriteBarrier_EBP, CORINFO_HELP_ASSIGN_REF_EBP, ) |
| 104 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_EAX, CORINFO_HELP_CHECKED_ASSIGN_REF_EAX, ) |
| 105 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_EBX, CORINFO_HELP_CHECKED_ASSIGN_REF_EBX, ) |
| 106 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_ECX, CORINFO_HELP_CHECKED_ASSIGN_REF_ECX, ) |
| 107 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_ESI, CORINFO_HELP_CHECKED_ASSIGN_REF_ESI, ) |
| 108 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_EDI, CORINFO_HELP_CHECKED_ASSIGN_REF_EDI, ) |
| 109 | HELPER(READYTORUN_HELPER_CheckedWriteBarrier_EBP, CORINFO_HELP_CHECKED_ASSIGN_REF_EBP, ) |
| 110 | |
| 111 | HELPER(READYTORUN_HELPER_EndCatch, CORINFO_HELP_ENDCATCH, OPTIMIZEFORSIZE) |
| 112 | #endif |
| 113 | |
| 114 | #undef HELPER |
| 115 | #undef OPTIMIZEFORSPEED |
| 116 | |