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, |