< prev index next >

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

Print this page
rev 13061 : imported patch 8178148-more-detailed-scan-rs-logging
rev 13063 : imported patch 8178148-workerdata-add

*** 31,54 **** class outputStream; template <class T> class WorkerDataArray : public CHeapObj<mtGC> { friend class WDAPrinter; T* _data; uint _length; const char* _title; ! WorkerDataArray<size_t>* _thread_work_items; public: WorkerDataArray(uint length, const char* title); ~WorkerDataArray(); ! void link_thread_work_items(WorkerDataArray<size_t>* thread_work_items); ! void set_thread_work_item(uint worker_i, size_t value); ! WorkerDataArray<size_t>* thread_work_items() const { ! return _thread_work_items; } static T uninitialized(); void set(uint worker_i, T value); --- 31,59 ---- class outputStream; template <class T> class WorkerDataArray : public CHeapObj<mtGC> { friend class WDAPrinter; + public: + static const uint MaxThreadWorkItems = 3; + private: T* _data; uint _length; const char* _title; ! WorkerDataArray<size_t>* _thread_work_items[MaxThreadWorkItems]; public: WorkerDataArray(uint length, const char* title); ~WorkerDataArray(); ! void link_thread_work_items(WorkerDataArray<size_t>* thread_work_items, uint index = 0); ! void set_thread_work_item(uint worker_i, size_t value, uint index = 0); ! void add_thread_work_item(uint worker_i, size_t value, uint index = 0); ! WorkerDataArray<size_t>* thread_work_items(uint index = 0) const { ! assert(index < MaxThreadWorkItems, "Tried to access thread work item %u max %u", index, MaxThreadWorkItems); ! return _thread_work_items[index]; } static T uninitialized(); void set(uint worker_i, T value);
< prev index next >