OSDN Git Service

Jit: Fix for 2793725 SIGSEGV in JIT code cache
authorBill Buzbee <buzbee@google.com>
Wed, 23 Jun 2010 23:36:50 +0000 (16:36 -0700)
committerDan Bornstein <danfuzz@android.com>
Wed, 30 Jun 2010 19:02:05 +0000 (12:02 -0700)
r7 and r8 were missing from the handler clobber set, and are stepped on by
the handlers for inline string compareto and indexof.

Change-Id: I979c4b94ee412cb3d2ab76c2421f4c2336d9b6e3

vm/compiler/codegen/arm/RallocUtil.c

index e357ba6..2b0af83 100644 (file)
@@ -490,6 +490,8 @@ extern void dvmCompilerClobberHandlerRegs(CompilationUnit *cUnit)
     //TUNING: reduce the set of regs used by handlers.  Only a few need lots.
     dvmCompilerClobberCallRegs(cUnit);
     dvmCompilerClobber(cUnit, r4PC);
+    dvmCompilerClobber(cUnit, r7);
+    dvmCompilerClobber(cUnit, r8);
     dvmCompilerClobber(cUnit, r9);
     dvmCompilerClobber(cUnit, r10);
 }