< 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,10 +66,14 @@
#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,10 +888,14 @@
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 >