< prev index next >

src/hotspot/share/runtime/safepointMechanism.hpp

Print this page
rev 50896 : 8206003: SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop
Reviewed-by: eosterlund, rehn, dholmes


  62 public:
  63   static intptr_t poll_bit() { return _poll_bit; }
  64 
  65   static bool uses_global_page_poll() { return _polling_type == _global_page_poll; }
  66   static bool uses_thread_local_poll() { return _polling_type == _thread_local_poll; }
  67 
  68   static bool supports_thread_local_poll() {
  69 #ifdef THREAD_LOCAL_POLL
  70     return true;
  71 #else
  72     return false;
  73 #endif
  74   }
  75 
  76   // Call this method to see if this thread has depending poll and appropriate action should be taken
  77   static inline bool poll(Thread* thread);
  78 
  79   // Blocks a thread until safepoint is completed
  80   static inline void block_if_requested(JavaThread* thread);
  81 

  82   static inline void arm_local_poll(JavaThread* thread);
  83   static inline void disarm_local_poll(JavaThread* thread);



  84 
  85   // Setup the selected safepoint mechanism
  86   static void initialize();
  87   static void initialize_header(JavaThread* thread);
  88 };
  89 
  90 #endif // SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_HPP


  62 public:
  63   static intptr_t poll_bit() { return _poll_bit; }
  64 
  65   static bool uses_global_page_poll() { return _polling_type == _global_page_poll; }
  66   static bool uses_thread_local_poll() { return _polling_type == _thread_local_poll; }
  67 
  68   static bool supports_thread_local_poll() {
  69 #ifdef THREAD_LOCAL_POLL
  70     return true;
  71 #else
  72     return false;
  73 #endif
  74   }
  75 
  76   // Call this method to see if this thread has depending poll and appropriate action should be taken
  77   static inline bool poll(Thread* thread);
  78 
  79   // Blocks a thread until safepoint is completed
  80   static inline void block_if_requested(JavaThread* thread);
  81 
  82   // Caller is responsible for using a memory barrier if needed.
  83   static inline void arm_local_poll(JavaThread* thread);
  84   static inline void disarm_local_poll(JavaThread* thread);
  85 
  86   static inline void arm_local_poll_release(JavaThread* thread);
  87   static inline void disarm_local_poll_release(JavaThread* thread);
  88 
  89   // Setup the selected safepoint mechanism
  90   static void initialize();
  91   static void initialize_header(JavaThread* thread);
  92 };
  93 
  94 #endif // SHARE_VM_RUNTIME_SAFEPOINTMECHANISM_HPP
< prev index next >