< prev index next >
src/hotspot/share/runtime/safepoint.cpp
Print this page
rev 57544 : 8236485: Work-in-progress: Epoch synchronization protocol for G1 concurrent refinement
Reviewed-by:
*** 66,75 ****
--- 66,79 ----
#include "runtime/threadSMR.hpp"
#include "runtime/timerTrace.hpp"
#include "services/runtimeService.hpp"
#include "utilities/events.hpp"
#include "utilities/macros.hpp"
+ #if INCLUDE_G1GC
+ #include "gc/g1/g1EpochUpdater.inline.hpp"
+ #endif // INCLUDE_G1GC
+
static void post_safepoint_begin_event(EventSafepointBegin& event,
uint64_t safepoint_id,
int thread_count,
int critical_thread_count) {
*** 884,893 ****
--- 888,901 ----
if (log_is_enabled(Info, safepoint, stats)) {
Atomic::inc(&_nof_threads_hit_polling_page);
}
+ if (UseG1GC) {
+ G1EpochUpdater::update_epoch_self(thread);
+ }
+
ThreadSafepointState* state = thread->safepoint_state();
state->handle_polling_page_exception();
}
< prev index next >