summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/RallocUtil.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/codegen/RallocUtil.cc')
-rw-r--r--src/compiler/codegen/RallocUtil.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/codegen/RallocUtil.cc b/src/compiler/codegen/RallocUtil.cc
index 8b9ae1333e..6198b42ab1 100644
--- a/src/compiler/codegen/RallocUtil.cc
+++ b/src/compiler/codegen/RallocUtil.cc
@@ -287,6 +287,7 @@ static int allocPreservedDouble(CompilationUnit* cUnit, int sReg)
p->inUse = true;
assert((res & 1) == 0);
cUnit->fpSpillMask |= (1 << (res & FP_REG_MASK));
+ cUnit->fpVmapTable.push_back(sReg);
cUnit->numSpills++;
cUnit->numFPSpills ++;
} else {
@@ -300,8 +301,10 @@ static int allocPreservedDouble(CompilationUnit* cUnit, int sReg)
res = FPRegs[i].reg;
FPRegs[i].inUse = true;
cUnit->fpSpillMask |= (1 << (res & FP_REG_MASK));
+ cUnit->fpVmapTable.push_back(sReg);
FPRegs[i+1].inUse = true;
cUnit->fpSpillMask |= (1 << ((res+1) & FP_REG_MASK));
+ cUnit->fpVmapTable.push_back(sReg);
cUnit->numSpills += 2;
cUnit->numFPSpills += 2;
break;