< prev index next >

src/share/vm/gc_implementation/parNew/parNewGeneration.cpp

Print this page
rev 8068 : 6407976: GC worker number should be unsigned
Reviewed-by: jwilhelm

*** 305,315 **** ~ParScanThreadStateSet() { TASKQUEUE_STATS_ONLY(reset_stats()); } inline ParScanThreadState& thread_state(int i); void trace_promotion_failed(const YoungGCTracer* gc_tracer); ! void reset(int active_workers, bool promotion_failed); void flush(); #if TASKQUEUE_STATS static void print_termination_stats_hdr(outputStream* const st = gclog_or_tty); --- 305,315 ---- ~ParScanThreadStateSet() { TASKQUEUE_STATS_ONLY(reset_stats()); } inline ParScanThreadState& thread_state(int i); void trace_promotion_failed(const YoungGCTracer* gc_tracer); ! void reset(uint active_workers, bool promotion_failed); void flush(); #if TASKQUEUE_STATS static void print_termination_stats_hdr(outputStream* const st = gclog_or_tty);
*** 362,372 **** thread_state(i).promotion_failed_info().reset(); } } } ! void ParScanThreadStateSet::reset(int active_threads, bool promotion_failed) { _term.reset_for_reuse(active_threads); if (promotion_failed) { for (int i = 0; i < length(); ++i) { thread_state(i).print_promotion_failure_size(); --- 362,372 ---- thread_state(i).promotion_failed_info().reset(); } } } ! void ParScanThreadStateSet::reset(uint active_threads, bool promotion_failed) { _term.reset_for_reuse(active_threads); if (promotion_failed) { for (int i = 0; i < length(); ++i) { thread_state(i).print_promotion_failure_size();
*** 580,590 **** _state_set(state_set) {} // Reset the terminator for the given number of // active threads. ! void ParNewGenTask::set_for_termination(int active_workers) { _state_set->reset(active_workers, _gen->promotion_failed()); // Should the heap be passed in? There's only 1 for now so // grab it instead. GenCollectedHeap* gch = GenCollectedHeap::heap(); gch->set_n_termination(active_workers); --- 580,590 ---- _state_set(state_set) {} // Reset the terminator for the given number of // active threads. ! void ParNewGenTask::set_for_termination(uint active_workers) { _state_set->reset(active_workers, _gen->promotion_failed()); // Should the heap be passed in? There's only 1 for now so // grab it instead. GenCollectedHeap* gch = GenCollectedHeap::heap(); gch->set_n_termination(active_workers);
*** 763,773 **** HeapWord* young_old_boundary, ParScanThreadStateSet& state_set); private: virtual void work(uint worker_id); ! virtual void set_for_termination(int active_workers) { _state_set.terminator()->reset_for_reuse(active_workers); } private: ParNewGeneration& _gen; ProcessTask& _task; --- 763,773 ---- HeapWord* young_old_boundary, ParScanThreadStateSet& state_set); private: virtual void work(uint worker_id); ! virtual void set_for_termination(uint active_workers) { _state_set.terminator()->reset_for_reuse(active_workers); } private: ParNewGeneration& _gen; ProcessTask& _task;
*** 913,923 **** assert(gch->kind() == CollectedHeap::GenCollectedHeap, "not a CMS generational heap"); AdaptiveSizePolicy* size_policy = gch->gen_policy()->size_policy(); FlexibleWorkGang* workers = gch->workers(); assert(workers != NULL, "Need workgang for parallel work"); ! int active_workers = AdaptiveSizePolicy::calc_active_workers(workers->total_workers(), workers->active_workers(), Threads::number_of_non_daemon_threads()); workers->set_active_workers(active_workers); _old_gen = gch->old_gen(); --- 913,923 ---- assert(gch->kind() == CollectedHeap::GenCollectedHeap, "not a CMS generational heap"); AdaptiveSizePolicy* size_policy = gch->gen_policy()->size_policy(); FlexibleWorkGang* workers = gch->workers(); assert(workers != NULL, "Need workgang for parallel work"); ! uint active_workers = AdaptiveSizePolicy::calc_active_workers(workers->total_workers(), workers->active_workers(), Threads::number_of_non_daemon_threads()); workers->set_active_workers(active_workers); _old_gen = gch->old_gen();
*** 948,958 **** age_table()->clear(); to()->clear(SpaceDecorator::Mangle); gch->save_marks(); assert(workers != NULL, "Need parallel worker threads."); ! int n_workers = active_workers; // Set the correct parallelism (number of queues) in the reference processor ref_processor()->set_active_mt_degree(n_workers); // Always set the terminator for the active number of workers --- 948,958 ---- age_table()->clear(); to()->clear(SpaceDecorator::Mangle); gch->save_marks(); assert(workers != NULL, "Need parallel worker threads."); ! uint n_workers = active_workers; // Set the correct parallelism (number of queues) in the reference processor ref_processor()->set_active_mt_degree(n_workers); // Always set the terminator for the active number of workers
< prev index next >