< prev index next >

src/share/vm/gc_implementation/g1/g1StringDedup.cpp

Print this page

        

*** 137,169 **** G1StringDedupQueue::unlink_or_oops_do(&_cl); double table_fixup_start = os::elapsedTime(); G1StringDedupTable::unlink_or_oops_do(&_cl, worker_id); ! double queue_fixup_time_ms = (table_fixup_start - queue_fixup_start) * 1000.0; ! double table_fixup_time_ms = (os::elapsedTime() - table_fixup_start) * 1000.0; G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); ! g1p->phase_times()->record_string_dedup_queue_fixup_worker_time(worker_id, queue_fixup_time_ms); ! g1p->phase_times()->record_string_dedup_table_fixup_worker_time(worker_id, table_fixup_time_ms); } }; void G1StringDedup::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, bool allow_resize_and_rehash) { assert(is_enabled(), "String deduplication not enabled"); G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); - g1p->phase_times()->note_string_dedup_fixup_start(); double fixup_start = os::elapsedTime(); G1StringDedupUnlinkOrOopsDoTask task(is_alive, keep_alive, allow_resize_and_rehash); G1CollectedHeap* g1h = G1CollectedHeap::heap(); g1h->set_par_threads(); g1h->workers()->run_task(&task); g1h->set_par_threads(0); double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0; g1p->phase_times()->record_string_dedup_fixup_time(fixup_time_ms); - g1p->phase_times()->note_string_dedup_fixup_end(); } void G1StringDedup::threads_do(ThreadClosure* tc) { assert(is_enabled(), "String deduplication not enabled"); tc->do_thread(G1StringDedupThread::thread()); --- 137,167 ---- G1StringDedupQueue::unlink_or_oops_do(&_cl); double table_fixup_start = os::elapsedTime(); G1StringDedupTable::unlink_or_oops_do(&_cl, worker_id); ! double queue_fixup_time_sec = table_fixup_start - queue_fixup_start; ! double table_fixup_time_sec = os::elapsedTime() - table_fixup_start; G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); ! g1p->phase_times()->record_time(G1GCPhaseTimes::StringDedupQueueFixup, worker_id, queue_fixup_time_sec); ! g1p->phase_times()->record_time(G1GCPhaseTimes::StringDedupTableFixup, worker_id, table_fixup_time_sec); } }; void G1StringDedup::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, bool allow_resize_and_rehash) { assert(is_enabled(), "String deduplication not enabled"); G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); double fixup_start = os::elapsedTime(); G1StringDedupUnlinkOrOopsDoTask task(is_alive, keep_alive, allow_resize_and_rehash); G1CollectedHeap* g1h = G1CollectedHeap::heap(); g1h->set_par_threads(); g1h->workers()->run_task(&task); g1h->set_par_threads(0); double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0; g1p->phase_times()->record_string_dedup_fixup_time(fixup_time_ms); } void G1StringDedup::threads_do(ThreadClosure* tc) { assert(is_enabled(), "String deduplication not enabled"); tc->do_thread(G1StringDedupThread::thread());
< prev index next >