< prev index next >

src/share/vm/gc_implementation/g1/g1StringDedupThread.cpp

Print this page




  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc_implementation/g1/g1Log.hpp"
  27 #include "gc_implementation/g1/g1StringDedup.hpp"
  28 #include "gc_implementation/g1/g1StringDedupTable.hpp"
  29 #include "gc_implementation/g1/g1StringDedupThread.hpp"
  30 #include "gc_implementation/g1/g1StringDedupQueue.hpp"
  31 #include "runtime/atomic.inline.hpp"
  32 
  33 G1StringDedupThread* G1StringDedupThread::_thread = NULL;
  34 
  35 G1StringDedupThread::G1StringDedupThread() :
  36   ConcurrentGCThread() {
  37   set_name("G1 StrDedup");
  38   create_and_start();
  39 }
  40 
  41 G1StringDedupThread::~G1StringDedupThread() {
  42   ShouldNotReachHere();
  43 }
  44 
  45 void G1StringDedupThread::create() {
  46   assert(G1StringDedup::is_enabled(), "String deduplication not enabled");
  47   assert(_thread == NULL, "One string deduplication thread allowed");
  48   _thread = new G1StringDedupThread();
  49 }
  50 
  51 G1StringDedupThread* G1StringDedupThread::thread() {
  52   assert(G1StringDedup::is_enabled(), "String deduplication not enabled");
  53   assert(_thread != NULL, "String deduplication thread not created");
  54   return _thread;
  55 }
  56 
  57 void G1StringDedupThread::run() {
  58   G1StringDedupStat total_stat;
  59 
  60   initialize_in_thread();
  61   wait_for_universe_init();
  62 




  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc_implementation/g1/g1Log.hpp"
  27 #include "gc_implementation/g1/g1StringDedup.hpp"
  28 #include "gc_implementation/g1/g1StringDedupTable.hpp"
  29 #include "gc_implementation/g1/g1StringDedupThread.hpp"
  30 #include "gc_implementation/g1/g1StringDedupQueue.hpp"
  31 #include "runtime/atomic.inline.hpp"
  32 
  33 G1StringDedupThread* G1StringDedupThread::_thread = NULL;
  34 
  35 G1StringDedupThread::G1StringDedupThread() :
  36   ConcurrentGCThread() {
  37   set_name("G1 StrDedup");
  38   create_and_start();
  39 }
  40 
  41 G1StringDedupThread::~G1StringDedupThread() {
  42   guarantee(false, "Should never be destroyed");
  43 }
  44 
  45 void G1StringDedupThread::create() {
  46   assert(G1StringDedup::is_enabled(), "String deduplication not enabled");
  47   assert(_thread == NULL, "One string deduplication thread allowed");
  48   _thread = new G1StringDedupThread();
  49 }
  50 
  51 G1StringDedupThread* G1StringDedupThread::thread() {
  52   assert(G1StringDedup::is_enabled(), "String deduplication not enabled");
  53   assert(_thread != NULL, "String deduplication thread not created");
  54   return _thread;
  55 }
  56 
  57 void G1StringDedupThread::run() {
  58   G1StringDedupStat total_stat;
  59 
  60   initialize_in_thread();
  61   wait_for_universe_init();
  62 


< prev index next >