Skip to content

Commit 30160aa

Browse files
authored
Move GenTreeIntCon::gtCompileTimeHandle field to be a global map (#115542)
1 parent 961d3bb commit 30160aa

26 files changed

+82
-375
lines changed

src/coreclr/inc/corinfo.h

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,8 +1206,7 @@ enum CorInfoAccessAllowedHelperArgType
12061206
CORINFO_HELPER_ARG_TYPE_Field = 1,
12071207
CORINFO_HELPER_ARG_TYPE_Method = 2,
12081208
CORINFO_HELPER_ARG_TYPE_Class = 3,
1209-
CORINFO_HELPER_ARG_TYPE_Module = 4,
1210-
CORINFO_HELPER_ARG_TYPE_Const = 5,
1209+
CORINFO_HELPER_ARG_TYPE_Const = 4,
12111210
};
12121211
struct CORINFO_HELPER_ARG
12131212
{
@@ -3138,11 +3137,6 @@ class ICorDynamicInfo : public ICorStaticInfo
31383137
CORINFO_MODULE_HANDLE handle
31393138
) = 0;
31403139

3141-
virtual CORINFO_MODULE_HANDLE embedModuleHandle(
3142-
CORINFO_MODULE_HANDLE handle,
3143-
void **ppIndirection = NULL
3144-
) = 0;
3145-
31463140
virtual CORINFO_CLASS_HANDLE embedClassHandle(
31473141
CORINFO_CLASS_HANDLE handle,
31483142
void **ppIndirection = NULL
@@ -3153,11 +3147,6 @@ class ICorDynamicInfo : public ICorStaticInfo
31533147
void **ppIndirection = NULL
31543148
) = 0;
31553149

3156-
virtual CORINFO_FIELD_HANDLE embedFieldHandle(
3157-
CORINFO_FIELD_HANDLE handle,
3158-
void **ppIndirection = NULL
3159-
) = 0;
3160-
31613150
// Given a module scope (module), a method handle (context) and
31623151
// a metadata token (metaTOK), fetch the handle
31633152
// (type, field or method) associated with the token.

src/coreclr/inc/icorjitinfoimpl_generated.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -556,10 +556,6 @@ void* getMethodSync(
556556
CorInfoHelpFunc getLazyStringLiteralHelper(
557557
CORINFO_MODULE_HANDLE handle) override;
558558

559-
CORINFO_MODULE_HANDLE embedModuleHandle(
560-
CORINFO_MODULE_HANDLE handle,
561-
void** ppIndirection) override;
562-
563559
CORINFO_CLASS_HANDLE embedClassHandle(
564560
CORINFO_CLASS_HANDLE handle,
565561
void** ppIndirection) override;
@@ -568,10 +564,6 @@ CORINFO_METHOD_HANDLE embedMethodHandle(
568564
CORINFO_METHOD_HANDLE handle,
569565
void** ppIndirection) override;
570566

571-
CORINFO_FIELD_HANDLE embedFieldHandle(
572-
CORINFO_FIELD_HANDLE handle,
573-
void** ppIndirection) override;
574-
575567
void embedGenericHandle(
576568
CORINFO_RESOLVED_TOKEN* pResolvedToken,
577569
bool fEmbedParent,

src/coreclr/inc/jiteeversionguid.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@
3737

3838
#include <minipal/guid.h>
3939

40-
constexpr GUID JITEEVersionIdentifier = { /* cb23fc5b-e31d-49cb-b4e0-b5666496b4fe */
41-
0xcb23fc5b,
42-
0xe31d,
43-
0x49cb,
44-
{0xb4, 0xe0, 0xb5, 0x66, 0x64, 0x96, 0xb4, 0xfe}
40+
constexpr GUID JITEEVersionIdentifier = { /* bffedb4e-ed47-4df3-8156-7ad8fc8521f1 */
41+
0xbffedb4e,
42+
0xed47,
43+
0x4df3,
44+
{0x81, 0x56, 0x7a, 0xd8, 0xfc, 0x85, 0x21, 0xf1}
4545
};
4646

4747
#endif // JIT_EE_VERSIONING_GUID_H

src/coreclr/jit/ICorJitInfo_names_generated.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,8 @@ DEF_CLR_API(getFunctionEntryPoint)
138138
DEF_CLR_API(getFunctionFixedEntryPoint)
139139
DEF_CLR_API(getMethodSync)
140140
DEF_CLR_API(getLazyStringLiteralHelper)
141-
DEF_CLR_API(embedModuleHandle)
142141
DEF_CLR_API(embedClassHandle)
143142
DEF_CLR_API(embedMethodHandle)
144-
DEF_CLR_API(embedFieldHandle)
145143
DEF_CLR_API(embedGenericHandle)
146144
DEF_CLR_API(getLocationOfThisType)
147145
DEF_CLR_API(getAddressOfPInvokeTarget)

src/coreclr/jit/ICorJitInfo_wrapper_generated.hpp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1318,16 +1318,6 @@ CorInfoHelpFunc WrapICorJitInfo::getLazyStringLiteralHelper(
13181318
return temp;
13191319
}
13201320

1321-
CORINFO_MODULE_HANDLE WrapICorJitInfo::embedModuleHandle(
1322-
CORINFO_MODULE_HANDLE handle,
1323-
void** ppIndirection)
1324-
{
1325-
API_ENTER(embedModuleHandle);
1326-
CORINFO_MODULE_HANDLE temp = wrapHnd->embedModuleHandle(handle, ppIndirection);
1327-
API_LEAVE(embedModuleHandle);
1328-
return temp;
1329-
}
1330-
13311321
CORINFO_CLASS_HANDLE WrapICorJitInfo::embedClassHandle(
13321322
CORINFO_CLASS_HANDLE handle,
13331323
void** ppIndirection)
@@ -1348,16 +1338,6 @@ CORINFO_METHOD_HANDLE WrapICorJitInfo::embedMethodHandle(
13481338
return temp;
13491339
}
13501340

1351-
CORINFO_FIELD_HANDLE WrapICorJitInfo::embedFieldHandle(
1352-
CORINFO_FIELD_HANDLE handle,
1353-
void** ppIndirection)
1354-
{
1355-
API_ENTER(embedFieldHandle);
1356-
CORINFO_FIELD_HANDLE temp = wrapHnd->embedFieldHandle(handle, ppIndirection);
1357-
API_LEAVE(embedFieldHandle);
1358-
return temp;
1359-
}
1360-
13611341
void WrapICorJitInfo::embedGenericHandle(
13621342
CORINFO_RESOLVED_TOKEN* pResolvedToken,
13631343
bool fEmbedParent,

src/coreclr/jit/compiler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3003,6 +3003,7 @@ class Compiler
30033003
GenTree* gtNewIconEmbHndNode(void* value, void* pValue, GenTreeFlags flags, void* compileTimeHandle);
30043004

30053005
GenTree* gtNewIconEmbScpHndNode(CORINFO_MODULE_HANDLE scpHnd);
3006+
GenTree* gtNewIconEmbObjHndNode(CORINFO_OBJECT_HANDLE objHnd);
30063007
GenTree* gtNewIconEmbClsHndNode(CORINFO_CLASS_HANDLE clsHnd);
30073008
GenTree* gtNewIconEmbMethHndNode(CORINFO_METHOD_HANDLE methHnd);
30083009
GenTree* gtNewIconEmbFldHndNode(CORINFO_FIELD_HANDLE fldHnd);

src/coreclr/jit/compiler.hpp

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,13 +1489,7 @@ inline GenTreeIntCon* Compiler::gtNewIconHandleNode(size_t value, GenTreeFlags f
14891489

14901490
inline GenTree* Compiler::gtNewIconEmbScpHndNode(CORINFO_MODULE_HANDLE scpHnd)
14911491
{
1492-
void *embedScpHnd, *pEmbedScpHnd;
1493-
1494-
embedScpHnd = (void*)info.compCompHnd->embedModuleHandle(scpHnd, &pEmbedScpHnd);
1495-
1496-
assert((!embedScpHnd) != (!pEmbedScpHnd));
1497-
1498-
return gtNewIconEmbHndNode(embedScpHnd, pEmbedScpHnd, GTF_ICON_SCOPE_HDL, scpHnd);
1492+
return gtNewIconEmbHndNode((void*)scpHnd, nullptr, GTF_ICON_SCOPE_HDL, scpHnd);
14991493
}
15001494

15011495
//-----------------------------------------------------------------------------
@@ -1513,6 +1507,13 @@ inline GenTree* Compiler::gtNewIconEmbClsHndNode(CORINFO_CLASS_HANDLE clsHnd)
15131507

15141508
//-----------------------------------------------------------------------------
15151509

1510+
inline GenTree* Compiler::gtNewIconEmbObjHndNode(CORINFO_OBJECT_HANDLE objHnd)
1511+
{
1512+
return gtNewIconEmbHndNode((void*)objHnd, nullptr, GTF_ICON_OBJ_HDL, nullptr);
1513+
}
1514+
1515+
//-----------------------------------------------------------------------------
1516+
15161517
inline GenTree* Compiler::gtNewIconEmbMethHndNode(CORINFO_METHOD_HANDLE methHnd)
15171518
{
15181519
void *embedMethHnd, *pEmbedMethHnd;
@@ -1528,13 +1529,7 @@ inline GenTree* Compiler::gtNewIconEmbMethHndNode(CORINFO_METHOD_HANDLE methHnd)
15281529

15291530
inline GenTree* Compiler::gtNewIconEmbFldHndNode(CORINFO_FIELD_HANDLE fldHnd)
15301531
{
1531-
void *embedFldHnd, *pEmbedFldHnd;
1532-
1533-
embedFldHnd = (void*)info.compCompHnd->embedFieldHandle(fldHnd, &pEmbedFldHnd);
1534-
1535-
assert((!embedFldHnd) != (!pEmbedFldHnd));
1536-
1537-
return gtNewIconEmbHndNode(embedFldHnd, pEmbedFldHnd, GTF_ICON_FIELD_HDL, fldHnd);
1532+
return gtNewIconEmbHndNode((void*)fldHnd, nullptr, GTF_ICON_FIELD_HDL, fldHnd);
15381533
}
15391534

15401535
/*****************************************************************************/

src/coreclr/jit/flowgraph.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,9 +1284,9 @@ GenTree* Compiler::fgGetCritSectOfStaticMethod()
12841284
if (!kind.needsRuntimeLookup)
12851285
{
12861286
CORINFO_OBJECT_HANDLE ptr = info.compCompHnd->getRuntimeTypePointer(info.compClassHnd);
1287-
if (ptr != NULL)
1287+
if (ptr != NO_OBJECT_HANDLE)
12881288
{
1289-
tree = gtNewIconEmbHndNode((void*)ptr, nullptr, GTF_ICON_OBJ_HDL, nullptr);
1289+
tree = gtNewIconEmbObjHndNode(ptr);
12901290
}
12911291
else
12921292
{

src/coreclr/jit/gentree.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7772,8 +7772,7 @@ GenTree* Compiler::gtNewStringLiteralNode(InfoAccessType iat, void* pValue)
77727772
switch (iat)
77737773
{
77747774
case IAT_VALUE:
7775-
tree = gtNewIconEmbHndNode(pValue, nullptr, GTF_ICON_OBJ_HDL, nullptr);
7776-
INDEBUG(tree->AsIntCon()->gtTargetHandle = (size_t)pValue);
7775+
tree = gtNewIconEmbObjHndNode((CORINFO_OBJECT_HANDLE)pValue);
77777776
break;
77787777

77797778
case IAT_PVALUE: // The value needs to be accessed via an indirection
@@ -8137,14 +8136,7 @@ GenTree* Compiler::gtNewGenericCon(var_types type, uint8_t* cnsVal)
81378136
case TYP_REF:
81388137
{
81398138
READ_VALUE(ssize_t);
8140-
if (val == 0)
8141-
{
8142-
return gtNewNull();
8143-
}
8144-
else
8145-
{
8146-
return gtNewIconEmbHndNode((void*)val, nullptr, GTF_ICON_OBJ_HDL, nullptr);
8147-
}
8139+
return val == 0 ? gtNewNull() : gtNewIconEmbObjHndNode((CORINFO_OBJECT_HANDLE)val);
81488140
}
81498141
#ifdef FEATURE_SIMD
81508142
case TYP_SIMD8:

src/coreclr/jit/importer.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4384,9 +4384,6 @@ void Compiler::impInsertHelperCall(CORINFO_HELPER_DESC* helperInfo)
43844384
info.compCompHnd->classMustBeLoadedBeforeCodeIsRun(helperArg.classHandle);
43854385
currentArg = gtNewIconEmbClsHndNode(helperArg.classHandle);
43864386
break;
4387-
case CORINFO_HELPER_ARG_TYPE_Module:
4388-
currentArg = gtNewIconEmbScpHndNode(helperArg.moduleHandle);
4389-
break;
43904387
case CORINFO_HELPER_ARG_TYPE_Const:
43914388
currentArg = gtNewIconNode(helperArg.constant);
43924389
break;

0 commit comments

Comments
 (0)