equal
deleted
inserted
replaced
63 static const size_t _max_cache_size; |
63 static const size_t _max_cache_size; |
64 |
64 |
65 G1StringDedupWorkerQueue* _queues; |
65 G1StringDedupWorkerQueue* _queues; |
66 size_t _nqueues; |
66 size_t _nqueues; |
67 size_t _cursor; |
67 size_t _cursor; |
|
68 bool _cancel; |
68 volatile bool _empty; |
69 volatile bool _empty; |
69 |
70 |
70 // Statistics counter, only used for logging. |
71 // Statistics counter, only used for logging. |
71 uintx _dropped; |
72 uintx _dropped; |
72 |
73 |
79 static void create(); |
80 static void create(); |
80 |
81 |
81 // Blocks and waits for the queue to become non-empty. |
82 // Blocks and waits for the queue to become non-empty. |
82 static void wait(); |
83 static void wait(); |
83 |
84 |
|
85 // Wakes up any thread blocked waiting for the queue to become non-empty. |
|
86 static void cancel_wait(); |
|
87 |
84 // Pushes a deduplication candidate onto a specific GC worker queue. |
88 // Pushes a deduplication candidate onto a specific GC worker queue. |
85 static void push(uint worker_id, oop java_string); |
89 static void push(uint worker_id, oop java_string); |
86 |
90 |
87 // Pops a deduplication candidate from any queue, returns NULL if |
91 // Pops a deduplication candidate from any queue, returns NULL if |
88 // all queues are empty. |
92 // all queues are empty. |