Keep simplifyCall stateless

Read the stack out of the instruction instead of out of
TraceBuilder's current stack pointer.
Esse commit está contido em:
Jordan DeLong
2013-04-26 16:07:58 -07:00
commit de Sara Golemon
commit e7999d34bc
2 arquivos alterados com 2 adições e 2 exclusões
+1 -1
Ver Arquivo
@@ -3225,7 +3225,7 @@ void CodeGenerator::cgCall(IRInstruction* inst) {
SSATmp* returnBcOffset = inst->getSrc(1);
SSATmp* func = inst->getSrc(2);
SrcRange args = inst->getSrcs().subpiece(3);
int32_t numArgs = args.size();
int32_t numArgs = args.size();
auto spReg = actRec->getReg();
// put all outgoing arguments onto the VM stack
+1 -1
Ver Arquivo
@@ -246,7 +246,7 @@ SSATmp* Simplifier::simplifySpillStack(IRInstruction* inst) {
SSATmp* Simplifier::simplifyCall(IRInstruction* inst) {
auto spillVals = inst->getSrcs().subpiece(3);
IRInstruction* spillStack = m_tb->getSp()->inst();
auto const spillStack = inst->getSrc(0)->inst();
if (spillStack->op() != SpillStack) {
return nullptr;
}