summaryrefslogtreecommitdiffstats
path: root/vm/interp
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2011-09-06 12:55:25 -0400
committerJesse Wilson <jessewilson@google.com>2011-09-06 12:55:50 -0400
commit6e0be609807de9fabe1b63a75f7c7d619bfa2f9f (patch)
tree6985cc6d7f073af2918bcbc6fd20a33b9aedd1cf /vm/interp
parent9c545d1fba17504e41155b48e12ed04262868e43 (diff)
downloadandroid_dalvik-6e0be609807de9fabe1b63a75f7c7d619bfa2f9f.tar.gz
android_dalvik-6e0be609807de9fabe1b63a75f7c7d619bfa2f9f.tar.bz2
android_dalvik-6e0be609807de9fabe1b63a75f7c7d619bfa2f9f.zip
Attempt to fix dalvik heap corruption.
This is bccheng's find, as reported here: http://b/5208786#ISSUE_HistoryHeader49 Bug: http://b/5208786 Change-Id: I1616bac1ef6c197f723656187a784fc6838975d4
Diffstat (limited to 'vm/interp')
-rw-r--r--vm/interp/Interp.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/interp/Interp.cpp b/vm/interp/Interp.cpp
index 02a33d7a2..85d06db13 100644
--- a/vm/interp/Interp.cpp
+++ b/vm/interp/Interp.cpp
@@ -1732,7 +1732,7 @@ void dvmCheckBefore(const u2 *pc, u4 *fp, Thread* self)
// Are we are a safe point?
int flags;
flags = dexGetFlagsFromOpcode(dexOpcodeFromCodeUnit(*pc));
- if (flags & VERIFY_GC_INST_MASK) {
+ if (flags & (VERIFY_GC_INST_MASK & ~kInstrCanThrow)) {
// Yes, at a safe point. Pending callback?
if (self->interpBreak.ctl.subMode & kSubModeCallbackPending) {
SafePointCallback callback;