if (pmoduleID)
{
opModuleIDArg = gtNewIndOfIconHandleNode(TYP_I_IMPL, (size_t)pmoduleID, GTF_ICON_MID_HDL, true);
- // This indirection also is invariant.
- opModuleIDArg->gtFlags |= GTF_IND_INVARIANT;
}
else
{
{
if (pclsID)
{
- opClassIDArg = gtNewIndOfIconHandleNode(TYP_I_IMPL, (size_t)pclsID, GTF_ICON_CLASS_HDL, true);
+ opClassIDArg = gtNewIndOfIconHandleNode(TYP_I_IMPL, (size_t)pclsID, GTF_ICON_CLASS_HDL, false);
}
else
{
// This indirection won't cause an exception.
handleNode->gtFlags |= GTF_IND_NONFAULTING;
+#if 0
+ // It should also be invariant, but marking it as such leads to bad diffs.
+
// This indirection also is invariant.
handleNode->gtFlags |= GTF_IND_INVARIANT;
+#endif
}
iconNode->gtIntCon.gtCompileTimeHandle = (size_t)compileTimeHandle;
{
case IAT_PVALUE: // The value needs to be accessed via an indirection
// Create an indirection
- tree = gtNewIndOfIconHandleNode(TYP_REF, (size_t)pValue, GTF_ICON_STR_HDL, true);
+ tree = gtNewIndOfIconHandleNode(TYP_REF, (size_t)pValue, GTF_ICON_STR_HDL, false);
break;
case IAT_PPVALUE: // The value needs to be accessed via a double indirection
GenTreePtr dst = gtNewOperNode(GT_ADD, TYP_BYREF, arrayLocalNode, gtNewIconNode(dataOffset, TYP_I_IMPL));
GenTreePtr blk = gtNewBlockVal(dst, blkSize);
- GenTreePtr src = gtNewIndOfIconHandleNode(TYP_STRUCT, (size_t)initData, GTF_ICON_STATIC_HDL, true);
+ GenTreePtr src = gtNewIndOfIconHandleNode(TYP_STRUCT, (size_t)initData, GTF_ICON_STATIC_HDL, false);
return gtNewBlkOpNode(blk, // dst
src, // src
if (tree->gtField.gtFieldLookup.accessType == IAT_PVALUE)
{
offsetNode = gtNewIndOfIconHandleNode(TYP_I_IMPL, (size_t)tree->gtField.gtFieldLookup.addr,
- GTF_ICON_FIELD_HDL, true);
+ GTF_ICON_FIELD_HDL, false);
}
else
{