hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.hpp
changeset 24093 095cc0a63ed9
parent 23472 35e93890ed88
equal deleted inserted replaced
24092:e274d864545a 24093:095cc0a63ed9
    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.