src/hotspot/share/runtime/safepointMechanism.hpp
changeset 54323 846bc643f4ef
parent 53775 5d20b085d893
equal deleted inserted replaced
54322:cf75ea6af695 54323:846bc643f4ef
    44   static void* poll_armed_value()                     { return _poll_armed_value; }
    44   static void* poll_armed_value()                     { return _poll_armed_value; }
    45   static void* poll_disarmed_value()                  { return _poll_disarmed_value; }
    45   static void* poll_disarmed_value()                  { return _poll_disarmed_value; }
    46 
    46 
    47   static inline bool local_poll_armed(JavaThread* thread);
    47   static inline bool local_poll_armed(JavaThread* thread);
    48 
    48 
       
    49   static inline void disarm_local_poll(JavaThread* thread);
       
    50   static inline void disarm_local_poll_release(JavaThread* thread);
       
    51 
    49   static inline bool local_poll(Thread* thread);
    52   static inline bool local_poll(Thread* thread);
    50   static inline bool global_poll();
    53   static inline bool global_poll();
    51 
    54 
       
    55   static void block_or_handshake(JavaThread *thread);
    52   static void block_if_requested_slow(JavaThread *thread);
    56   static void block_if_requested_slow(JavaThread *thread);
    53 
    57 
    54   static void default_initialize();
    58   static void default_initialize();
    55 
    59 
    56   static void pd_initialize() NOT_AIX({ default_initialize(); });
    60   static void pd_initialize() NOT_AIX({ default_initialize(); });
    78   // Blocks a thread until safepoint/handshake is completed.
    82   // Blocks a thread until safepoint/handshake is completed.
    79   static inline void block_if_requested(JavaThread* thread);
    83   static inline void block_if_requested(JavaThread* thread);
    80 
    84 
    81   // Caller is responsible for using a memory barrier if needed.
    85   // Caller is responsible for using a memory barrier if needed.
    82   static inline void arm_local_poll(JavaThread* thread);
    86   static inline void arm_local_poll(JavaThread* thread);
    83   static inline void disarm_local_poll(JavaThread* thread);
    87   // Release semantics
    84 
       
    85   static inline void arm_local_poll_release(JavaThread* thread);
    88   static inline void arm_local_poll_release(JavaThread* thread);
    86   static inline void disarm_local_poll_release(JavaThread* thread);
    89   // Optional release
       
    90   static inline void disarm_if_needed(JavaThread* thread, bool memory_order_release);
    87 
    91 
    88   // Setup the selected safepoint mechanism
    92   // Setup the selected safepoint mechanism
    89   static void initialize();
    93   static void initialize();
    90   static void initialize_header(JavaThread* thread);
    94   static void initialize_header(JavaThread* thread);
    91 };
    95 };