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