summaryrefslogtreecommitdiffstats
path: root/vm/interp
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2011-05-11 10:58:52 -0700
committerBen Cheng <bccheng@android.com>2011-05-11 10:58:52 -0700
commit313d430d5b3b96b45370ccddee52a6d88a799f35 (patch)
tree314645f0f7ff72794d85ec7e3a9a77025e20a178 /vm/interp
parente346f7d8f0a79f5fc53fd02c288cb7c12e23b40a (diff)
downloadandroid_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.cpp4
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);