os_bsd.hpp revision 3980
1391N/A * or visit www.oracle.com if you need additional information or have any
1391N/A#ifndef OS_BSD_VM_OS_BSD_HPP
1391N/A#define OS_BSD_VM_OS_BSD_HPP
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static const char *_glibc_version;
1391N/A static const char *_libpthread_version;
1391N/A static bool _is_floating_stack;
1418N/A static bool _supports_fast_thread_cpu_time;
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static int _page_size;
1391N/A static void initialize_system_info();
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static bool supports_variable_stack_size();
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static void rebuild_cpu_to_node_map();
1391N/A static void init_thread_fpu_state();
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static int get_fpu_control_word();
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A#ifndef _ALLBSD_SOURCE
1391N/A static bool is_initial_thread(void);
1391N/A // This interface should be declared in os_bsd_i486.hpp, but
1391N/A static bool signal_handlers_are_installed;
static int get_our_sigflags(int);
static void set_our_sigflags(int, int);
static void signal_sets_init();
static void install_signal_handlers();
static void set_signal_handler(int, bool);
#ifndef _ALLBSD_SOURCE
static void libpthread_init();
static bool libnuma_init();
#ifndef _ALLBSD_SOURCE
static int max_register_window_saves_before_flushing();
static void clock_init(void);
#ifndef _ALLBSD_SOURCE
static void fast_thread_clock_init(void);
static inline bool supports_monotonic_clock() {
#ifndef _ALLBSD_SOURCE
static bool supports_fast_thread_cpu_time() {
return _supports_fast_thread_cpu_time;
static int safe_cond_timedwait(pthread_cond_t *_cond, pthread_mutex_t *_mutex, const struct timespec *_abstime);
class SuspendResume {
volatile int _suspend_action;
void set_suspended() {
void clear_suspended() {
typedef int (*sched_getcpu_func_t)(void);
typedef int (*numa_max_node_func_t)(void);
typedef int (*numa_available_func_t)(void);
static unsigned long* _numa_all_nodes;
static void set_numa_interleave_memory(numa_interleave_memory_func_t func) { _numa_interleave_memory = func; }
volatile int _Event ;
volatile int _nParked ;
PlatformEvent() {
int status;
_Event = 0 ;
_nParked = 0 ;
void park () ;
void unpark () ;
int TryPark () ;
PlatformParker() {
int status;