Index: runtime/vm/timeline_analysis.h |
diff --git a/runtime/vm/timeline_analysis.h b/runtime/vm/timeline_analysis.h |
index ffdad36d940171a85df1f915c8b1ac344344aa47..2e12deddc9e9fc5eb930fe53e8331c46db228474 100644 |
--- a/runtime/vm/timeline_analysis.h |
+++ b/runtime/vm/timeline_analysis.h |
@@ -38,6 +38,25 @@ class TimelineAnalysisThread : public ZoneAllocated { |
}; |
+class TimelineAnalysisThreadEventIterator : public ValueObject { |
+ public: |
+ explicit TimelineAnalysisThreadEventIterator(TimelineAnalysisThread* thread); |
+ ~TimelineAnalysisThreadEventIterator(); |
+ |
+ void Reset(TimelineAnalysisThread* thread); |
+ |
+ bool HasNext() const; |
+ |
+ TimelineEvent* Next(); |
+ |
+ private: |
+ TimelineAnalysisThread* thread_; |
+ TimelineEvent* current_; |
+ intptr_t block_cursor_; |
+ intptr_t event_cursor_; |
+}; |
+ |
+ |
// Base of all timeline analysis classes. Base functionality: |
// - discovery of all thread ids in a recording. |
// - collecting all ThreadEventBlocks by thread id. |
@@ -91,6 +110,9 @@ class TimelinePauses : public TimelineAnalysis { |
TimelinePauses(Zone* zone, |
Isolate* isolate, |
TimelineEventRecorder* recorder); |
+ |
+ void CalculatePauseTimes(); |
+ |
private: |
}; |