< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page

        

*** 5313,5322 **** --- 5313,5332 ---- double ref_enq_time = os::elapsedTime() - ref_enq_start; g1_policy()->phase_times()->record_ref_enq_time(ref_enq_time * 1000.0); } + class TimedTask : public AbstractGangTask { + public: + TimedTask() : AbstractGangTask("TimedTask") {} + void work(uint worker_id) { + // Do nothing. + } + }; + + #include "utilities/ticks.inline.hpp" + void G1CollectedHeap::evacuate_collection_set(EvacuationInfo& evacuation_info) { _expand_heap_after_alloc_failure = true; _evacuation_failed = false; // Should G1EvacuationFailureALot be in effect for this GC?
*** 5335,5344 **** --- 5345,5366 ---- assert(dirty_card_queue_set().completed_buffers_num() == 0, "Should be empty"); double start_par_time_sec = os::elapsedTime(); double end_par_time_sec; + for (int i = 0; i < NewCodeParameter; i++) { + TimedTask task; + jlong start = os::elapsed_counter(); + workers()->run_task(&task); + jlong end = os::elapsed_counter(); + + gclog_or_tty->print_cr("TimedTask %f ms (%f - %f)", + TimeHelper::counter_to_millis(end - start), + TimeHelper::counter_to_millis(start), + TimeHelper::counter_to_millis(end)); + } + { G1RootProcessor root_processor(this, n_workers); G1ParTask g1_par_task(this, _task_queues, &root_processor, n_workers); // InitialMark needs claim bits to keep track of the marked-through CLDs. if (g1_policy()->during_initial_mark_pause()) {
< prev index next >