From 3ddc0d1108a00e14b60c60edcdeff3b81f9e35f9 Mon Sep 17 00:00:00 2001 From: buzbee Date: Wed, 5 Oct 2011 10:36:21 -0700 Subject: Fix Vmap table size Consistently use 16 bits to store Dalvik vreg number. Change-Id: I6d21c0ed7011e5defaa45571951ff7608d0ce80e --- src/compiler/codegen/RallocUtil.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compiler/codegen') diff --git a/src/compiler/codegen/RallocUtil.cc b/src/compiler/codegen/RallocUtil.cc index 969028779c..9d3717a279 100644 --- a/src/compiler/codegen/RallocUtil.cc +++ b/src/compiler/codegen/RallocUtil.cc @@ -241,7 +241,7 @@ extern int oatAllocPreservedCoreReg(CompilationUnit* cUnit, int sReg) * Mark a callee-save fp register as promoted. Note that * vpush/vpop uses contiguous register lists so we must * include any holes in the mask. Associate holes with - * Dalvik register INVALID_REG (-1). + * Dalvik register INVALID_VREG (0xFFFFU). */ STATIC void markPreservedSingle(CompilationUnit* cUnit, int sReg, int reg) { @@ -250,7 +250,7 @@ STATIC void markPreservedSingle(CompilationUnit* cUnit, int sReg, int reg) // Ensure fpVmapTable is large enough int tableSize = cUnit->fpVmapTable.size(); for (int i = tableSize; i < (reg + 1); i++) { - cUnit->fpVmapTable.push_back(INVALID_REG); + cUnit->fpVmapTable.push_back(INVALID_VREG); } // Add the current mapping cUnit->fpVmapTable[reg] = sReg; -- cgit v1.2.3-59-g8ed1b