summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/RallocUtil.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-09-23 12:46:19 -0700
committer buzbee <buzbee@google.com> 2011-09-23 13:53:25 -0700
commitc41e5b5ae1befe2c602d55de1dbc04d1914f4a6c (patch)
treefa122d75b64193d7c2dee7a1be871a5ae8511493 /src/compiler/codegen/RallocUtil.cc
parentf4afb7aec4e51c2e682cf3af4d6511add74d2f38 (diff)
Add tables to map between callee saves and vregs
Also added function to return sp-relative offset for Dalvik virtual registers using Method* [Note: must be matched with corresponding libcore change to reflect new field in Method] Change-Id: Id739908c6232ce60763d8199bc05111e960da46e
Diffstat (limited to 'src/compiler/codegen/RallocUtil.cc')
-rw-r--r--src/compiler/codegen/RallocUtil.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/codegen/RallocUtil.cc b/src/compiler/codegen/RallocUtil.cc
index 8b8450011b..8b9ae1333e 100644
--- a/src/compiler/codegen/RallocUtil.cc
+++ b/src/compiler/codegen/RallocUtil.cc
@@ -220,6 +220,7 @@ extern int oatAllocPreservedCoreReg(CompilationUnit* cUnit, int sReg)
res = coreRegs[i].reg;
coreRegs[i].inUse = true;
cUnit->coreSpillMask |= (1 << res);
+ cUnit->coreVmapTable.push_back(sReg);
cUnit->numSpills++;
cUnit->regLocation[sReg].location = kLocPhysReg;
cUnit->regLocation[sReg].lowReg = res;
@@ -245,6 +246,7 @@ static int allocPreservedSingle(CompilationUnit* cUnit, int sReg, bool even)
res = FPRegs[i].reg;
FPRegs[i].inUse = true;
cUnit->fpSpillMask |= (1 << (res & FP_REG_MASK));
+ cUnit->fpVmapTable.push_back(sReg);
cUnit->numSpills++;
cUnit->numFPSpills++;
cUnit->regLocation[sReg].fpLocation = kLocPhysReg;