comparison src/share/vm/memory/cardTableModRefBS.cpp @ 20278:2c6ef90f030a

8049421: G1 Class Unloading after completing a concurrent mark cycle Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author stefank
date Mon, 07 Jul 2014 10:12:40 +0200
parents 78bbf4d43a14
children 1f1d373cd044
comparison
equal deleted inserted replaced
20277:882004b9e7e1 20278:2c6ef90f030a
427 void CardTableModRefBS::non_clean_card_iterate_possibly_parallel(Space* sp, 427 void CardTableModRefBS::non_clean_card_iterate_possibly_parallel(Space* sp,
428 MemRegion mr, 428 MemRegion mr,
429 OopsInGenClosure* cl, 429 OopsInGenClosure* cl,
430 CardTableRS* ct) { 430 CardTableRS* ct) {
431 if (!mr.is_empty()) { 431 if (!mr.is_empty()) {
432 // Caller (process_strong_roots()) claims that all GC threads 432 // Caller (process_roots()) claims that all GC threads
433 // execute this call. With UseDynamicNumberOfGCThreads now all 433 // execute this call. With UseDynamicNumberOfGCThreads now all
434 // active GC threads execute this call. The number of active GC 434 // active GC threads execute this call. The number of active GC
435 // threads needs to be passed to par_non_clean_card_iterate_work() 435 // threads needs to be passed to par_non_clean_card_iterate_work()
436 // to get proper partitioning and termination. 436 // to get proper partitioning and termination.
437 // 437 //
438 // This is an example of where n_par_threads() is used instead 438 // This is an example of where n_par_threads() is used instead
439 // of workers()->active_workers(). n_par_threads can be set to 0 to 439 // of workers()->active_workers(). n_par_threads can be set to 0 to
440 // turn off parallelism. For example when this code is called as 440 // turn off parallelism. For example when this code is called as
441 // part of verification and SharedHeap::process_strong_roots() is being 441 // part of verification and SharedHeap::process_roots() is being
442 // used, then n_par_threads() may have been set to 0. active_workers 442 // used, then n_par_threads() may have been set to 0. active_workers
443 // is not overloaded with the meaning that it is a switch to disable 443 // is not overloaded with the meaning that it is a switch to disable
444 // parallelism and so keeps the meaning of the number of 444 // parallelism and so keeps the meaning of the number of
445 // active gc workers. If parallelism has not been shut off by 445 // active gc workers. If parallelism has not been shut off by
446 // setting n_par_threads to 0, then n_par_threads should be 446 // setting n_par_threads to 0, then n_par_threads should be