From 313d430d5b3b96b45370ccddee52a6d88a799f35 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Wed, 11 May 2011 10:58:52 -0700 Subject: Another single-stepping fix in JIT self-verification mode. The counted single stepping check should be based on the kSubModeCountedStep submode instead. Also since the NPC value is cleared when exceptions are thrown, we can single-step instructions that can throw as well. Change-Id: Idbc1307ae0956016ef76186aebc6e3b89b119d9d --- vm/compiler/codegen/arm/CodegenDriver.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp') diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp index 1a8ac4203..1e5f4c7c9 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.cpp +++ b/vm/compiler/codegen/arm/CodegenDriver.cpp @@ -1353,8 +1353,7 @@ static void genPuntToInterp(CompilationUnit *cUnit, unsigned int offset) static void genInterpSingleStep(CompilationUnit *cUnit, MIR *mir) { int flags = dexGetFlagsFromOpcode(mir->dalvikInsn.opcode); - int flagsToCheck = kInstrCanBranch | kInstrCanSwitch | kInstrCanReturn | - kInstrCanThrow; + int flagsToCheck = kInstrCanBranch | kInstrCanSwitch | kInstrCanReturn; // Single stepping is considered loop mode breaker if (cUnit->jitMode == kJitLoop) { -- cgit v1.2.3