< 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 >