if (compiler->lvaIsGCTracked(varDsc))
{
- VarSetOps::RemoveElemD(compiler, gcInfo.gcVarPtrSetCur, varNum);
+ VarSetOps::RemoveElemD(compiler, gcInfo.gcVarPtrSetCur, varDsc->lvVarIndex);
}
}
- // In case of a jmp call to a vararg method ensure only integer registers are passed.
if (compiler->info.compIsVarArgs)
{
- assert((genRegMask(argReg) & RBM_ARG_REGS) != RBM_NONE);
+ // In case of a jmp call to a vararg method ensure only integer registers are passed.
+ assert((genRegMask(argReg) & (RBM_ARG_REGS | RBM_ARG_RET_BUFF)) != RBM_NONE);
fixedIntArgMask |= genRegMask(argReg);
firstArgVarNum = varNum;
}
}
-#else
+
+#else // !_TARGET_ARM64_
+
bool twoParts = false;
var_types loadType = TYP_UNDEF;
if (varDsc->TypeGet() == TYP_LONG)
if (compiler->lvaIsGCTracked(varDsc))
{
- VarSetOps::RemoveElemD(compiler, gcInfo.gcVarPtrSetCur, varNum);
+ VarSetOps::RemoveElemD(compiler, gcInfo.gcVarPtrSetCur, varDsc->lvVarIndex);
}
-#endif
+#endif // !_TARGET_ARM64_
}
// Jmp call to a vararg method - if the method has fewer than fixed arguments that can be max size of reg,
<ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/opt/rngchk/RngchkStress3/*">
<Issue>Needs Triage</Issue>
</ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i53/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i13/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i03/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i33/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i63/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i73/*">
- <Issue>Needs Triage</Issue>
- </ExcludeList>
</ItemGroup>
<!-- arm32 All OS specific excludes -->