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.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/codegen/RallocUtil.cc b/src/compiler/codegen/RallocUtil.cc
index 8f5d1bbe5a..d5f6720071 100644
--- a/src/compiler/codegen/RallocUtil.cc
+++ b/src/compiler/codegen/RallocUtil.cc
@@ -141,6 +141,12 @@ void clobberSRegBody(RegisterInfo* p, int numRegs, int sReg)
/* Clobber any temp associated with an sReg. Could be in either class */
extern void oatClobberSReg(CompilationUnit* cUnit, int sReg)
{
+#ifndef NDEBUG
+ /* Reset live temp tracking sanity checker */
+ if (sReg == cUnit->liveSReg) {
+ cUnit->liveSReg = INVALID_SREG;
+ }
+#endif
clobberSRegBody(cUnit->regPool->coreRegs, cUnit->regPool->numCoreRegs,
sReg);
clobberSRegBody(cUnit->regPool->FPRegs, cUnit->regPool->numFPRegs,