< prev index next >

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

Print this page

        

*** 306,316 **** ~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); --- 306,316 ---- ~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);
*** 363,373 **** 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(); --- 363,373 ---- 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();
*** 581,591 **** _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); --- 581,591 ---- _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);
*** 764,774 **** 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; --- 764,774 ---- 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;
*** 910,920 **** _gc_timer->register_gc_start(); 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(); --- 910,920 ---- _gc_timer->register_gc_start(); 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();
*** 945,955 **** 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 --- 945,955 ---- 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 >