diff options
Diffstat (limited to 'src/compiler/codegen/MethodBitcode.cc')
| -rw-r--r-- | src/compiler/codegen/MethodBitcode.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc index 31fc9cf29e..f4b8461654 100644 --- a/src/compiler/codegen/MethodBitcode.cc +++ b/src/compiler/codegen/MethodBitcode.cc @@ -1796,7 +1796,10 @@ bool methodBlockBitcodeConversion(CompilationUnit* cUnit, BasicBlock* bb) cUnit->numDalvikRegisters, true, kAllocMisc); for (int i = 0; i < cUnit->numSSARegs; i++) { - canBeRef[SRegToVReg(cUnit, i)] |= cUnit->regLocation[i].ref; + int vReg = SRegToVReg(cUnit, i); + if (vReg > SSA_METHOD_BASEREG) { + canBeRef[SRegToVReg(cUnit, i)] |= cUnit->regLocation[i].ref; + } } for (int i = 0; i < cUnit->numDalvikRegisters; i++) { if (canBeRef[i]) { |