26 #define SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP |
26 #define SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP |
27 |
27 |
28 #include "gc/shared/collectedHeap.hpp" |
28 #include "gc/shared/collectedHeap.hpp" |
29 #include "gc/shared/collectorPolicy.hpp" |
29 #include "gc/shared/collectorPolicy.hpp" |
30 #include "gc/shared/generation.hpp" |
30 #include "gc/shared/generation.hpp" |
|
31 #include "gc/shared/oopStorageParState.hpp" |
31 #include "gc/shared/softRefGenPolicy.hpp" |
32 #include "gc/shared/softRefGenPolicy.hpp" |
32 |
33 |
33 class AdaptiveSizePolicy; |
34 class AdaptiveSizePolicy; |
34 class GCPolicyCounters; |
35 class GCPolicyCounters; |
35 class GenerationSpec; |
36 class GenerationSpec; |
399 CLDClosure* strong_cld_closure, |
400 CLDClosure* strong_cld_closure, |
400 CLDClosure* weak_cld_closure, |
401 CLDClosure* weak_cld_closure, |
401 CodeBlobToOopClosure* code_roots); |
402 CodeBlobToOopClosure* code_roots); |
402 |
403 |
403 void process_string_table_roots(StrongRootsScope* scope, |
404 void process_string_table_roots(StrongRootsScope* scope, |
404 OopClosure* root_closure); |
405 OopClosure* root_closure, |
|
406 OopStorage::ParState<false, false>* par_state_string); |
405 |
407 |
406 // Accessor for memory state verification support |
408 // Accessor for memory state verification support |
407 NOT_PRODUCT( |
409 NOT_PRODUCT( |
408 virtual size_t skip_header_HeapWords() { return 0; } |
410 virtual size_t skip_header_HeapWords() { return 0; } |
409 ) |
411 ) |
413 |
415 |
414 public: |
416 public: |
415 void young_process_roots(StrongRootsScope* scope, |
417 void young_process_roots(StrongRootsScope* scope, |
416 OopsInGenClosure* root_closure, |
418 OopsInGenClosure* root_closure, |
417 OopsInGenClosure* old_gen_closure, |
419 OopsInGenClosure* old_gen_closure, |
418 CLDClosure* cld_closure); |
420 CLDClosure* cld_closure, |
|
421 OopStorage::ParState<false, false>* par_state_string = NULL); |
419 |
422 |
420 void full_process_roots(StrongRootsScope* scope, |
423 void full_process_roots(StrongRootsScope* scope, |
421 bool is_adjust_phase, |
424 bool is_adjust_phase, |
422 ScanningOption so, |
425 ScanningOption so, |
423 bool only_strong_roots, |
426 bool only_strong_roots, |
424 OopsInGenClosure* root_closure, |
427 OopsInGenClosure* root_closure, |
425 CLDClosure* cld_closure); |
428 CLDClosure* cld_closure, |
|
429 OopStorage::ParState<false, false>* par_state_string = NULL); |
426 |
430 |
427 // Apply "root_closure" to all the weak roots of the system. |
431 // Apply "root_closure" to all the weak roots of the system. |
428 // These include JNI weak roots, string table, |
432 // These include JNI weak roots, string table, |
429 // and referents of reachable weak refs. |
433 // and referents of reachable weak refs. |
430 void gen_process_weak_roots(OopClosure* root_closure); |
434 void gen_process_weak_roots(OopClosure* root_closure); |