diff options
| author | Ben Cheng <bccheng@android.com> | 2011-05-11 10:58:52 -0700 |
|---|---|---|
| committer | Ben Cheng <bccheng@android.com> | 2011-05-11 10:58:52 -0700 |
| commit | 313d430d5b3b96b45370ccddee52a6d88a799f35 (patch) | |
| tree | 314645f0f7ff72794d85ec7e3a9a77025e20a178 /vm/compiler/codegen/arm/CodegenDriver.cpp | |
| parent | e346f7d8f0a79f5fc53fd02c288cb7c12e23b40a (diff) | |
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
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp')
| -rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
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) { |
