77 static void unlink_or_oops_do(G1StringDedupUnlinkOrOopsDoClosure* cl, size_t queue);
78
79 public:
80 static void create();
81
82 // Blocks and waits for the queue to become non-empty.
83 static void wait();
84
85 // Wakes up any thread blocked waiting for the queue to become non-empty.
86 static void cancel_wait();
87
88 // Pushes a deduplication candidate onto a specific GC worker queue.
89 static void push(uint worker_id, oop java_string);
90
91 // Pops a deduplication candidate from any queue, returns NULL if
92 // all queues are empty.
93 static oop pop();
94
95 static void unlink_or_oops_do(G1StringDedupUnlinkOrOopsDoClosure* cl);
96
97 static void print_statistics(outputStream* st);
98 static void verify();
99 };
100
101 #endif // SHARE_VM_GC_G1_G1STRINGDEDUPQUEUE_HPP
|
77 static void unlink_or_oops_do(G1StringDedupUnlinkOrOopsDoClosure* cl, size_t queue);
78
79 public:
80 static void create();
81
82 // Blocks and waits for the queue to become non-empty.
83 static void wait();
84
85 // Wakes up any thread blocked waiting for the queue to become non-empty.
86 static void cancel_wait();
87
88 // Pushes a deduplication candidate onto a specific GC worker queue.
89 static void push(uint worker_id, oop java_string);
90
91 // Pops a deduplication candidate from any queue, returns NULL if
92 // all queues are empty.
93 static oop pop();
94
95 static void unlink_or_oops_do(G1StringDedupUnlinkOrOopsDoClosure* cl);
96
97 static void print_statistics();
98 static void verify();
99 };
100
101 #endif // SHARE_VM_GC_G1_G1STRINGDEDUPQUEUE_HPP
|