summaryrefslogtreecommitdiff
path: root/src/inc
diff options
context:
space:
mode:
authorRuben Ayrapetyan <ruben-ayrapetyan@users.noreply.github.com>2017-06-27 21:31:03 +0300
committerJan Kotas <jkotas@microsoft.com>2017-06-27 11:31:03 -0700
commit3951920cbd825c2b2251ba3572ca354f887d6033 (patch)
tree0245d94927f56736b6f4adf1f630c2639bb28686 /src/inc
parentf1499d2214d0d8d630bff30045ce520b73d4356c (diff)
downloadcoreclr-3951920cbd825c2b2251ba3572ca354f887d6033.tar.gz
coreclr-3951920cbd825c2b2251ba3572ca354f887d6033.tar.bz2
coreclr-3951920cbd825c2b2251ba3572ca354f887d6033.zip
Implement JIT_NewArr1_R2R as R2R wrapper for JIT_NewArr1 to support both MethodTable-based and TypeDesc-based helpers. (#12475)
Related issue: #12463
Diffstat (limited to 'src/inc')
-rw-r--r--src/inc/corinfo.h11
-rw-r--r--src/inc/jithelpers.h1
-rw-r--r--src/inc/readytorunhelpers.h2
3 files changed, 8 insertions, 6 deletions
diff --git a/src/inc/corinfo.h b/src/inc/corinfo.h
index e27283c8b3..4af22e53f4 100644
--- a/src/inc/corinfo.h
+++ b/src/inc/corinfo.h
@@ -213,11 +213,11 @@ TODO: Talk about initializing strutures before use
#define SELECTANY extern __declspec(selectany)
#endif
-SELECTANY const GUID JITEEVersionIdentifier = { /* e5708e9e-dd18-4287-8745-5d10ff2697cf */
- 0xe5708e9e,
- 0xdd18,
- 0x4287,
- { 0x87, 0x45, 0x5d, 0x10, 0xff, 0x26, 0x97, 0xcf }
+SELECTANY const GUID JITEEVersionIdentifier = { /* 28eb875f-b6a9-4a04-9ba7-69ba59deed46 */
+ 0x28eb875f,
+ 0xb6a9,
+ 0x4a04,
+ { 0x9b, 0xa7, 0x69, 0xba, 0x59, 0xde, 0xed, 0x46 }
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -400,6 +400,7 @@ enum CorInfoHelpFunc
CORINFO_HELP_NEW_MDARR, // multi-dim array helper (with or without lower bounds - dimensions passed in as vararg)
CORINFO_HELP_NEW_MDARR_NONVARARG,// multi-dim array helper (with or without lower bounds - dimensions passed in as unmanaged array)
CORINFO_HELP_NEWARR_1_DIRECT, // helper for any one dimensional array creation
+ CORINFO_HELP_NEWARR_1_R2R_DIRECT, // wrapper for R2R direct call, which extracts method table from ArrayTypeDesc
CORINFO_HELP_NEWARR_1_OBJ, // optimized 1-D object arrays
CORINFO_HELP_NEWARR_1_VC, // optimized 1-D value class arrays
CORINFO_HELP_NEWARR_1_ALIGN8, // like VC, but aligns the array start
diff --git a/src/inc/jithelpers.h b/src/inc/jithelpers.h
index 4e56250b04..b45948ac59 100644
--- a/src/inc/jithelpers.h
+++ b/src/inc/jithelpers.h
@@ -77,6 +77,7 @@
JITHELPER(CORINFO_HELP_NEW_MDARR, JIT_NewMDArr,CORINFO_HELP_SIG_8_VA)
JITHELPER(CORINFO_HELP_NEW_MDARR_NONVARARG, JIT_NewMDArrNonVarArg,CORINFO_HELP_SIG_4_STACK)
JITHELPER(CORINFO_HELP_NEWARR_1_DIRECT, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY)
+ JITHELPER(CORINFO_HELP_NEWARR_1_R2R_DIRECT, JIT_NewArr1_R2R,CORINFO_HELP_SIG_REG_ONLY)
DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_OBJ, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY)
DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_VC, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY)
DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_ALIGN8, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY)
diff --git a/src/inc/readytorunhelpers.h b/src/inc/readytorunhelpers.h
index 9baf0e4459..7a1245c3bd 100644
--- a/src/inc/readytorunhelpers.h
+++ b/src/inc/readytorunhelpers.h
@@ -46,7 +46,7 @@ HELPER(READYTORUN_HELPER_NewMultiDimArr, CORINFO_HELP_NEW_MDARR,
HELPER(READYTORUN_HELPER_NewMultiDimArr_NonVarArg, CORINFO_HELP_NEW_MDARR_NONVARARG, )
HELPER(READYTORUN_HELPER_NewObject, CORINFO_HELP_NEWFAST, )
-HELPER(READYTORUN_HELPER_NewArray, CORINFO_HELP_NEWARR_1_DIRECT, )
+HELPER(READYTORUN_HELPER_NewArray, CORINFO_HELP_NEWARR_1_R2R_DIRECT, )
HELPER(READYTORUN_HELPER_CheckCastAny, CORINFO_HELP_CHKCASTANY, )
HELPER(READYTORUN_HELPER_CheckInstanceAny, CORINFO_HELP_ISINSTANCEOFANY, )