35 // find identical, already existing, character arrays on the heap. The thread runs 36 // concurrently with the Java application but participates in safepoints to allow 37 // the GC to adjust and unlink oops from the deduplication queue and table. 38 // 39 class G1StringDedupThread: public ConcurrentGCThread { 40 private: 41 static G1StringDedupThread* _thread; 42 43 G1StringDedupThread(); 44 ~G1StringDedupThread(); 45 46 void print(outputStream* st, const G1StringDedupStat& last_stat, const G1StringDedupStat& total_stat); 47 48 public: 49 static void create(); 50 static void stop(); 51 52 static G1StringDedupThread* thread(); 53 54 virtual void run(); 55 }; 56 57 #endif // SHARE_VM_GC_G1_G1STRINGDEDUPTHREAD_HPP | 35 // find identical, already existing, character arrays on the heap. The thread runs 36 // concurrently with the Java application but participates in safepoints to allow 37 // the GC to adjust and unlink oops from the deduplication queue and table. 38 // 39 class G1StringDedupThread: public ConcurrentGCThread { 40 private: 41 static G1StringDedupThread* _thread; 42 43 G1StringDedupThread(); 44 ~G1StringDedupThread(); 45 46 void print(outputStream* st, const G1StringDedupStat& last_stat, const G1StringDedupStat& total_stat); 47 48 public: 49 static void create(); 50 static void stop(); 51 52 static G1StringDedupThread* thread(); 53 54 virtual void run(); 55 56 void deduplicate_shared_strings(G1StringDedupStat& stat); 57 }; 58 59 #endif // SHARE_VM_GC_G1_G1STRINGDEDUPTHREAD_HPP |