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/interp | |
parent | e346f7d8f0a79f5fc53fd02c288cb7c12e23b40a (diff) | |
download | android_dalvik-313d430d5b3b96b45370ccddee52a6d88a799f35.tar.gz android_dalvik-313d430d5b3b96b45370ccddee52a6d88a799f35.tar.bz2 android_dalvik-313d430d5b3b96b45370ccddee52a6d88a799f35.zip |
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/interp')
-rw-r--r-- | vm/interp/Interp.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/vm/interp/Interp.cpp b/vm/interp/Interp.cpp index 11e940827..67566e86d 100644 --- a/vm/interp/Interp.cpp +++ b/vm/interp/Interp.cpp @@ -1828,10 +1828,10 @@ void dvmCheckBefore(const u2 *pc, u4 *fp, Thread* self) #endif /* - * SingleStep processing. NOTE: must be the last here to allow + * CountedStep processing. NOTE: must be the last here to allow * preceeding special case handler to manipulate single-step count. */ - if (self->interpBreak.ctl.breakFlags & kInterpSingleStep) { + if (self->interpBreak.ctl.subMode & kSubModeCountedStep) { if (self->singleStepCount == 0) { // We've exhausted our single step count dvmDisableSubMode(self, kSubModeCountedStep); |