< prev index next >

src/share/vm/gc/g1/workerDataArray.hpp

Print this page

        

*** 20,32 **** --- 20,37 ---- * or visit www.oracle.com if you need additional information or have any * questions. * */ + #ifndef SHARE_VM_GC_G1_WORKERDATAARRAY_HPP + #define SHARE_VM_GC_G1_WORKERDATAARRAY_HPP + #include "memory/allocation.hpp" #include "utilities/debug.hpp" + class outputStream; + template <class T> class WorkerDataArray : public CHeapObj<mtGC> { T* _data; uint _length; const char* _title;
*** 52,69 **** void add(uint worker_i, T value); double average(uint active_threads) const; T sum(uint active_threads) const; - T minimum(uint active_threads) const; - T maximum(uint active_threads) const; - T diff(uint active_threads) const; const char* title() const { return _title; } void clear(); void reset() PRODUCT_RETURN; void verify(uint active_threads) const PRODUCT_RETURN; }; --- 57,88 ---- void add(uint worker_i, T value); double average(uint active_threads) const; T sum(uint active_threads) const; const char* title() const { return _title; } void clear(); void reset() PRODUCT_RETURN; void verify(uint active_threads) const PRODUCT_RETURN; + + + private: + class WDAPrinter { + public: + static void summary(outputStream* out, const char* title, double min, double avg, double max, double diff, double sum, bool print_sum); + static void summary(outputStream* out, const char* title, size_t min, double avg, size_t max, size_t diff, size_t sum, bool print_sum); + + static void details(const WorkerDataArray<double>* phase, outputStream* out, uint active_threads); + static void details(const WorkerDataArray<size_t>* phase, outputStream* out, uint active_threads); + }; + + public: + void print_summary_on(outputStream* out, uint active_threads, bool print_sum = true) const; + void print_details_on(outputStream* out, uint active_threads) const; }; + + #endif // SHARE_VM_GC_G1_WORKERDATAARRAY_HPP
< prev index next >