< 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 >