diff -r 98408c7c0b73 -r 495c05ee2a9a src/hotspot/share/gc/shared/workerDataArray.hpp --- a/src/hotspot/share/gc/shared/workerDataArray.hpp Fri Dec 07 13:15:35 2018 +0100 +++ b/src/hotspot/share/gc/shared/workerDataArray.hpp Fri Dec 07 13:54:45 2018 +0100 @@ -34,7 +34,7 @@ class WorkerDataArray : public CHeapObj { friend class WDAPrinter; public: - static const uint MaxThreadWorkItems = 3; + static const uint MaxThreadWorkItems = 4; private: T* _data; uint _length; @@ -49,6 +49,8 @@ void link_thread_work_items(WorkerDataArray* 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); + void set_or_add_thread_work_item(uint worker_i, size_t value, uint index = 0); + WorkerDataArray* 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];