hotspot/src/share/vm/memory/sharedHeap.hpp
changeset 9342 456b8d0486b5
parent 7397 5b173b4ca846
child 11174 fccee5238e70
equal deleted inserted replaced
9341:347fa5cdbd39 9342:456b8d0486b5
   190 
   190 
   191   enum ScanningOption {
   191   enum ScanningOption {
   192     SO_None                = 0x0,
   192     SO_None                = 0x0,
   193     SO_AllClasses          = 0x1,
   193     SO_AllClasses          = 0x1,
   194     SO_SystemClasses       = 0x2,
   194     SO_SystemClasses       = 0x2,
   195     SO_Symbols             = 0x4,
   195     SO_Strings             = 0x4,
   196     SO_Strings             = 0x8,
   196     SO_CodeCache           = 0x8
   197     SO_CodeCache           = 0x10
       
   198   };
   197   };
   199 
   198 
   200   FlexibleWorkGang* workers() const { return _workers; }
   199   FlexibleWorkGang* workers() const { return _workers; }
   201 
   200 
   202   // Sets the number of parallel threads that will be doing tasks
   201   // Sets the number of parallel threads that will be doing tasks
   206   // Number of threads currently working on GC tasks.
   205   // Number of threads currently working on GC tasks.
   207   int n_par_threads() { return _n_par_threads; }
   206   int n_par_threads() { return _n_par_threads; }
   208 
   207 
   209   // Invoke the "do_oop" method the closure "roots" on all root locations.
   208   // Invoke the "do_oop" method the closure "roots" on all root locations.
   210   // If "collecting_perm_gen" is false, then roots that may only contain
   209   // If "collecting_perm_gen" is false, then roots that may only contain
   211   // references to permGen objects are not scanned.  If true, the
   210   // references to permGen objects are not scanned; instead, in that case,
   212   // "perm_gen" closure is applied to all older-to-younger refs in the
   211   // the "perm_blk" closure is applied to all outgoing refs in the
   213   // permanent generation.  The "so" argument determines which of roots
   212   // permanent generation.  The "so" argument determines which of roots
   214   // the closure is applied to:
   213   // the closure is applied to:
   215   // "SO_None" does none;
   214   // "SO_None" does none;
   216   // "SO_AllClasses" applies the closure to all entries in the SystemDictionary;
   215   // "SO_AllClasses" applies the closure to all entries in the SystemDictionary;
   217   // "SO_SystemClasses" to all the "system" classes and loaders;
   216   // "SO_SystemClasses" to all the "system" classes and loaders;
   218   // "SO_Symbols" applies the closure to all entries in SymbolsTable;
       
   219   // "SO_Strings" applies the closure to all entries in StringTable;
   217   // "SO_Strings" applies the closure to all entries in StringTable;
   220   // "SO_CodeCache" applies the closure to all elements of the CodeCache.
   218   // "SO_CodeCache" applies the closure to all elements of the CodeCache.
   221   void process_strong_roots(bool activate_scope,
   219   void process_strong_roots(bool activate_scope,
   222                             bool collecting_perm_gen,
   220                             bool collecting_perm_gen,
   223                             ScanningOption so,
   221                             ScanningOption so,