< prev index next >

src/share/vm/gc/shared/referenceProcessor.hpp

Print this page
rev 9820 : imported patch cleaner-cleanup


 227   // . the "clear all" policy
 228   static ReferencePolicy*   _always_clear_soft_ref_policy;
 229   // . the current policy below is either one of the above
 230   ReferencePolicy*          _current_soft_ref_policy;
 231 
 232   // The discovered ref lists themselves
 233 
 234   // The active MT'ness degree of the queues below
 235   uint             _num_q;
 236   // The maximum MT'ness degree of the queues below
 237   uint             _max_num_q;
 238 
 239   // Master array of discovered oops
 240   DiscoveredList* _discovered_refs;
 241 
 242   // Arrays of lists of oops, one per thread (pointers into master array above)
 243   DiscoveredList* _discoveredSoftRefs;
 244   DiscoveredList* _discoveredWeakRefs;
 245   DiscoveredList* _discoveredFinalRefs;
 246   DiscoveredList* _discoveredPhantomRefs;
 247   DiscoveredList* _discoveredCleanerRefs;
 248 
 249  public:
 250   static int number_of_subclasses_of_ref() { return (REF_CLEANER - REF_OTHER); }
 251 
 252   uint num_q()                             { return _num_q; }
 253   uint max_num_q()                         { return _max_num_q; }
 254   void set_active_mt_degree(uint v)        { _num_q = v; }
 255 
 256   DiscoveredList* discovered_refs()        { return _discovered_refs; }
 257 
 258   ReferencePolicy* setup_policy(bool always_clear) {
 259     _current_soft_ref_policy = always_clear ?
 260       _always_clear_soft_ref_policy : _default_soft_ref_policy;
 261     _current_soft_ref_policy->setup();   // snapshot the policy threshold
 262     return _current_soft_ref_policy;
 263   }
 264 
 265   // Process references with a certain reachability level.
 266   void process_discovered_reflist(DiscoveredList               refs_lists[],
 267                                   ReferencePolicy*             policy,
 268                                   bool                         clear_referent,
 269                                   BoolObjectClosure*           is_alive,
 270                                   OopClosure*                  keep_alive,




 227   // . the "clear all" policy
 228   static ReferencePolicy*   _always_clear_soft_ref_policy;
 229   // . the current policy below is either one of the above
 230   ReferencePolicy*          _current_soft_ref_policy;
 231 
 232   // The discovered ref lists themselves
 233 
 234   // The active MT'ness degree of the queues below
 235   uint             _num_q;
 236   // The maximum MT'ness degree of the queues below
 237   uint             _max_num_q;
 238 
 239   // Master array of discovered oops
 240   DiscoveredList* _discovered_refs;
 241 
 242   // Arrays of lists of oops, one per thread (pointers into master array above)
 243   DiscoveredList* _discoveredSoftRefs;
 244   DiscoveredList* _discoveredWeakRefs;
 245   DiscoveredList* _discoveredFinalRefs;
 246   DiscoveredList* _discoveredPhantomRefs;

 247 
 248  public:
 249   static int number_of_subclasses_of_ref() { return (REF_PHANTOM - REF_OTHER); }
 250 
 251   uint num_q()                             { return _num_q; }
 252   uint max_num_q()                         { return _max_num_q; }
 253   void set_active_mt_degree(uint v)        { _num_q = v; }
 254 
 255   DiscoveredList* discovered_refs()        { return _discovered_refs; }
 256 
 257   ReferencePolicy* setup_policy(bool always_clear) {
 258     _current_soft_ref_policy = always_clear ?
 259       _always_clear_soft_ref_policy : _default_soft_ref_policy;
 260     _current_soft_ref_policy->setup();   // snapshot the policy threshold
 261     return _current_soft_ref_policy;
 262   }
 263 
 264   // Process references with a certain reachability level.
 265   void process_discovered_reflist(DiscoveredList               refs_lists[],
 266                                   ReferencePolicy*             policy,
 267                                   bool                         clear_referent,
 268                                   BoolObjectClosure*           is_alive,
 269                                   OopClosure*                  keep_alive,


< prev index next >