Using histograms for timing statistics.
Histogram class and test cases added.
Modified make file to add test cases and class file.
Added a guard to avoid race condition in Cumulative logger that
was possible race between Addlogger and Dump() functions.
Change-Id: I060a0d65648c7120963856624e7008c0aa681eb7
diff --git a/src/gc/mark_sweep.h b/src/gc/mark_sweep.h
index 0d43bee..859f309 100644
--- a/src/gc/mark_sweep.h
+++ b/src/gc/mark_sweep.h
@@ -20,11 +20,11 @@
#include "atomic_integer.h"
#include "base/macros.h"
#include "base/mutex.h"
+#include "base/timing_logger.h"
#include "garbage_collector.h"
#include "gc_type.h"
#include "offsets.h"
#include "root_visitor.h"
-#include "timing_logger.h"
#include "UniquePtr.h"
namespace art {
@@ -233,9 +233,18 @@
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_)
EXCLUSIVE_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
- Barrier& GetBarrier();
- const TimingLogger& GetTimings() const;
- const CumulativeLogger& GetCumulativeTimings() const;
+ Barrier& GetBarrier() {
+ return *gc_barrier_;
+ }
+
+ TimingLogger& GetTimings() {
+ return timings_;
+ }
+
+ CumulativeLogger& GetCumulativeTimings() {
+ return cumulative_timings_;
+ }
+
void ResetCumulativeStatistics();
protected: