comparison src/share/vm/utilities/taskqueue.hpp @ 1709:5f429ee79634

6966222: G1: simplify TaskQueue overflow handling Reviewed-by: tonyp, ysr
author jcoomes
date Mon, 09 Aug 2010 05:41:05 -0700
parents a93a9eda13f7
children 8b10f48633dc
comparison
equal deleted inserted replaced
1708:a03ae377b2e8 1709:5f429ee79634
57 inline void record_pop() { ++_stats[pop]; } 57 inline void record_pop() { ++_stats[pop]; }
58 inline void record_pop_slow() { record_pop(); ++_stats[pop_slow]; } 58 inline void record_pop_slow() { record_pop(); ++_stats[pop_slow]; }
59 inline void record_steal(bool success); 59 inline void record_steal(bool success);
60 inline void record_overflow(size_t new_length); 60 inline void record_overflow(size_t new_length);
61 61
62 TaskQueueStats & operator +=(const TaskQueueStats & addend);
63
62 inline size_t get(StatId id) const { return _stats[id]; } 64 inline size_t get(StatId id) const { return _stats[id]; }
63 inline const size_t* get() const { return _stats; } 65 inline const size_t* get() const { return _stats; }
64 66
65 inline void reset(); 67 inline void reset();
66 68
69 // Print the specified line of the header (does not include a line separator).
67 static void print_header(unsigned int line, outputStream* const stream = tty, 70 static void print_header(unsigned int line, outputStream* const stream = tty,
68 unsigned int width = 10); 71 unsigned int width = 10);
72 // Print the statistics (does not include a line separator).
69 void print(outputStream* const stream = tty, unsigned int width = 10) const; 73 void print(outputStream* const stream = tty, unsigned int width = 10) const;
74
75 DEBUG_ONLY(void verify() const;)
70 76
71 private: 77 private:
72 size_t _stats[last_stat_id]; 78 size_t _stats[last_stat_id];
73 static const char * const _names[last_stat_id]; 79 static const char * const _names[last_stat_id];
74 }; 80 };