diff options
| author | 2011-09-23 12:46:19 -0700 | |
|---|---|---|
| committer | 2011-09-23 13:53:25 -0700 | |
| commit | c41e5b5ae1befe2c602d55de1dbc04d1914f4a6c (patch) | |
| tree | fa122d75b64193d7c2dee7a1be871a5ae8511493 /src/compiler/codegen/RallocUtil.cc | |
| parent | f4afb7aec4e51c2e682cf3af4d6511add74d2f38 (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.cc | 2 |
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; |