summaryrefslogtreecommitdiffstats
path: root/vm/Sync.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-06-05 15:16:27 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-05 15:16:27 -0700
commit7d740cf6430a86edca1fcf20fd974b53b00136f8 (patch)
tree1ba57d685f93f8761b9c631d77f1fa1cb6b047e0 /vm/Sync.cpp
parent2436ea181dc24ec4d91a6052394d24bf60987f25 (diff)
parent53bc3719bab6f0a075dd3f968a6d9a630fb81476 (diff)
downloadandroid_dalvik-7d740cf6430a86edca1fcf20fd974b53b00136f8.tar.gz
android_dalvik-7d740cf6430a86edca1fcf20fd974b53b00136f8.tar.bz2
android_dalvik-7d740cf6430a86edca1fcf20fd974b53b00136f8.zip
am 53bc3719: Merge "Fixing a crash when doing lock profiling"
* commit '53bc3719bab6f0a075dd3f968a6d9a630fb81476': Fixing a crash when doing lock profiling
Diffstat (limited to 'vm/Sync.cpp')
-rw-r--r--vm/Sync.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/vm/Sync.cpp b/vm/Sync.cpp
index 8a3803eb4..810107d6c 100644
--- a/vm/Sync.cpp
+++ b/vm/Sync.cpp
@@ -276,6 +276,11 @@ static void logContentionEvent(Thread *self, u4 waitMs, u4 samplePercent,
size_t len;
int fd;
+ /* When a thread is being destroyed it is normal that the frame depth is zero */
+ if (self->interpSave.curFrame == NULL) {
+ return;
+ }
+
saveArea = SAVEAREA_FROM_FP(self->interpSave.curFrame);
meth = saveArea->method;
cp = eventBuffer;