summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2017-03-27 14:47:46 -0700
committer John Reck <jreck@google.com> 2017-03-27 14:47:46 -0700
commit1b7184f8d206505804042833a3825a3b8a9649dc (patch)
tree4c14412bcccfe7b4da3c467f4ce32ac7266aa812
parent48a153e57032fccf9ea7dac728d60738c3c848d2 (diff)
Add a few asserts for possible corruption cases
Bug: 36502346 Test: builds & boots Change-Id: Id96a26a30e4a8c6f51a68bf07cfe6bd6d07c244e
-rw-r--r--libs/hwui/JankTracker.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index 7be71eec4f76..8126d57a3a79 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -264,10 +264,15 @@ void JankTracker::addFrame(const FrameInfo& frame) {
// the actual time spent blocked.
nsecs_t forgiveAmount = std::min(expectedDequeueDuration,
frame[FrameInfoIndex::DequeueBufferDuration]);
+ LOG_ALWAYS_FATAL_IF(forgiveAmount >= totalDuration,
+ "Impossible dequeue duration! dequeue duration reported %" PRId64
+ ", total duration %" PRId64, forgiveAmount, totalDuration);
totalDuration -= forgiveAmount;
}
}
+ LOG_ALWAYS_FATAL_IF(totalDuration <= 0, "Impossible totalDuration %" PRId64, totalDuration);
uint32_t framebucket = frameCountIndexForFrameTime(totalDuration);
+ LOG_ALWAYS_FATAL_IF(framebucket < 0, "framebucket < 0 (%u)", framebucket);
// Keep the fast path as fast as possible.
if (CC_LIKELY(totalDuration < mFrameInterval)) {
mData->frameCounts[framebucket]++;