comparison src/share/vm/gc_implementation/g1/g1StringDedupQueue.hpp @ 17947:1772223a25a2

8037112: gc/g1/TestHumongousAllocInitialMark.java caused SIGSEGV Reviewed-by: brutisso, mgerdin
author pliden
date Fri, 11 Apr 2014 11:00:12 +0200
parents 595c0f60d50d
children
comparison
equal deleted inserted replaced
17946:997fd9660dd5 17947:1772223a25a2
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.