unsigned numSlots,
unsigned alignment FEATURE_UNIX_AMD64_STRUCT_PASSING_ONLY_ARG(const bool isStruct));
-#ifdef DEBUG
- void RemorphReset();
-#endif
+ void RemorphReset();
fgArgTabEntryPtr RemorphRegArg(
unsigned argNum, GenTreePtr node, GenTreePtr parent, regNumber regNum, unsigned numRegs, unsigned alignment);
void RemorphStkArg(unsigned argNum, GenTreePtr node, GenTreePtr parent, unsigned numSlots, unsigned alignment);
- void SplitArg(unsigned argNum, unsigned numRegs, unsigned numSlots, bool isReMorph);
+ void SplitArg(unsigned argNum, unsigned numRegs, unsigned numSlots);
void EvalToTmp(unsigned argNum, unsigned tmpNum, GenTreePtr newNode);
return curArgTabEntry;
}
-#ifdef DEBUG
void fgArgInfo::RemorphReset()
{
nextSlotNum = INIT_ARG_STACK_SLOT;
}
-#endif
fgArgTabEntry* fgArgInfo::RemorphRegArg(
unsigned argNum, GenTreePtr node, GenTreePtr parent, regNumber regNum, unsigned numRegs, unsigned alignment)
curArgTabEntry->node = node;
#endif
-#ifdef DEBUG
nextSlotNum += numSlots;
-#endif
}
-void fgArgInfo::SplitArg(unsigned argNum, unsigned numRegs, unsigned numSlots, bool isReMorph)
+void fgArgInfo::SplitArg(unsigned argNum, unsigned numRegs, unsigned numSlots)
{
fgArgTabEntryPtr curArgTabEntry = nullptr;
assert(argNum < argCount);
assert(numRegs > 0);
assert(numSlots > 0);
- if (isReMorph)
+ if (argsComplete)
{
assert(curArgTabEntry->isSplit == true);
assert(curArgTabEntry->numRegs == numRegs);
assert(curArgTabEntry->numSlots == numSlots);
-#ifdef DEBUG
- nextSlotNum += numSlots;
-#endif
}
else
{
curArgTabEntry->isSplit = true;
curArgTabEntry->numRegs = numRegs;
curArgTabEntry->numSlots = numSlots;
- nextSlotNum += numSlots;
}
+ nextSlotNum += numSlots;
}
void fgArgInfo::EvalToTmp(unsigned argNum, unsigned tmpNum, GenTreePtr newNode)
fgPtrArgCntCur -= callStkLevel;
}
assert(call->fgArgInfo != nullptr);
-#ifdef DEBUG
call->fgArgInfo->RemorphReset();
-#endif
numArgs = call->fgArgInfo->ArgCount();
}
assert(varTypeIsStruct(argx));
unsigned numRegsPartial = size - (fltArgRegNum - MAX_FLOAT_REG_ARG);
assert((unsigned char)numRegsPartial == numRegsPartial);
-#ifndef DEBUG
- if (!reMorphing)
-#endif
- {
- call->fgArgInfo->SplitArg(argIndex, numRegsPartial, size - numRegsPartial, reMorphing);
- }
+ call->fgArgInfo->SplitArg(argIndex, numRegsPartial, size - numRegsPartial);
fltArgRegNum = MAX_FLOAT_REG_ARG;
}
#endif // _TARGET_ARM_
(argx->gtOper == GT_COMMA && (args->gtFlags & GTF_ASG)));
unsigned numRegsPartial = size - (intArgRegNum - MAX_REG_ARG);
assert((unsigned char)numRegsPartial == numRegsPartial);
-#ifndef DEBUG
- if (!reMorphing)
-#endif
- {
- call->fgArgInfo->SplitArg(argIndex, numRegsPartial, size - numRegsPartial, reMorphing);
- }
+ call->fgArgInfo->SplitArg(argIndex, numRegsPartial, size - numRegsPartial);
intArgRegNum = MAX_REG_ARG;
fgPtrArgCntCur += size - numRegsPartial;
}