src/share/vm/gc_implementation/g1/concurrentMark.hpp
Print this page
rev 4271 : 8009536: G1: Apache Lucene hang during reference processing
Summary: In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread.
Reviewed-by:
*** 1144,1154 ****
// The main method of this class which performs a marking step
// trying not to exceed the given duration. However, it might exit
// prematurely, according to some conditions (i.e. SATB buffers are
// available for processing).
! void do_marking_step(double target_ms, bool do_stealing, bool do_termination);
// These two calls start and stop the timer
void record_start_time() {
_elapsed_time_ms = os::elapsedTime() * 1000.0;
}
--- 1144,1157 ----
// The main method of this class which performs a marking step
// trying not to exceed the given duration. However, it might exit
// prematurely, according to some conditions (i.e. SATB buffers are
// available for processing).
! void do_marking_step(double target_ms,
! bool do_stealing,
! bool do_termination,
! bool is_serial);
// These two calls start and stop the timer
void record_start_time() {
_elapsed_time_ms = os::elapsedTime() * 1000.0;
}