src/share/vm/memory/cardTableModRefBS.cpp

changeset 4542
db9981fd3124
parent 4153
b9a9ed0f8eeb
child 4668
3c9db54c2660
equal deleted inserted replaced
4461:46e60405583b 4542:db9981fd3124
32 #include "memory/universe.hpp" 32 #include "memory/universe.hpp"
33 #include "runtime/java.hpp" 33 #include "runtime/java.hpp"
34 #include "runtime/mutexLocker.hpp" 34 #include "runtime/mutexLocker.hpp"
35 #include "runtime/virtualspace.hpp" 35 #include "runtime/virtualspace.hpp"
36 #include "services/memTracker.hpp" 36 #include "services/memTracker.hpp"
37 #include "utilities/macros.hpp"
37 #ifdef COMPILER1 38 #ifdef COMPILER1
38 #include "c1/c1_LIR.hpp" 39 #include "c1/c1_LIR.hpp"
39 #include "c1/c1_LIRGenerator.hpp" 40 #include "c1/c1_LIRGenerator.hpp"
40 #endif 41 #endif
41 42
497 // [16] G1CollectedHeap::do_collection_pause_at_safepoint() 498 // [16] G1CollectedHeap::do_collection_pause_at_safepoint()
498 // 499 //
499 int n_threads = SharedHeap::heap()->n_par_threads(); 500 int n_threads = SharedHeap::heap()->n_par_threads();
500 bool is_par = n_threads > 0; 501 bool is_par = n_threads > 0;
501 if (is_par) { 502 if (is_par) {
502 #ifndef SERIALGC 503 #if INCLUDE_ALL_GCS
503 assert(SharedHeap::heap()->n_par_threads() == 504 assert(SharedHeap::heap()->n_par_threads() ==
504 SharedHeap::heap()->workers()->active_workers(), "Mismatch"); 505 SharedHeap::heap()->workers()->active_workers(), "Mismatch");
505 non_clean_card_iterate_parallel_work(sp, mr, cl, ct, n_threads); 506 non_clean_card_iterate_parallel_work(sp, mr, cl, ct, n_threads);
506 #else // SERIALGC 507 #else // INCLUDE_ALL_GCS
507 fatal("Parallel gc not supported here."); 508 fatal("Parallel gc not supported here.");
508 #endif // SERIALGC 509 #endif // INCLUDE_ALL_GCS
509 } else { 510 } else {
510 // We do not call the non_clean_card_iterate_serial() version below because 511 // We do not call the non_clean_card_iterate_serial() version below because
511 // we want to clear the cards (which non_clean_card_iterate_serial() does not 512 // we want to clear the cards (which non_clean_card_iterate_serial() does not
512 // do for us): clear_cl here does the work of finding contiguous dirty ranges 513 // do for us): clear_cl here does the work of finding contiguous dirty ranges
513 // of cards to process and clear. 514 // of cards to process and clear.

mercurial