64 |
64 |
65 static OSThread* _starting_thread; |
65 static OSThread* _starting_thread; |
66 static address _polling_page; |
66 static address _polling_page; |
67 static volatile int32_t * _mem_serialize_page; |
67 static volatile int32_t * _mem_serialize_page; |
68 static uintptr_t _serialize_page_mask; |
68 static uintptr_t _serialize_page_mask; |
69 static volatile jlong _global_time; |
|
70 static volatile int _global_time_lock; |
|
71 static bool _use_global_time; |
|
72 static size_t _page_sizes[page_sizes_max]; |
69 static size_t _page_sizes[page_sizes_max]; |
73 |
70 |
74 static void init_page_sizes(size_t default_page_size) { |
71 static void init_page_sizes(size_t default_page_size) { |
75 _page_sizes[0] = default_page_size; |
72 _page_sizes[0] = default_page_size; |
76 _page_sizes[1] = 0; // sentinel |
73 _page_sizes[1] = 0; // sentinel |
86 static int file_name_strcmp(const char* s1, const char* s2); |
83 static int file_name_strcmp(const char* s1, const char* s2); |
87 |
84 |
88 static bool getenv(const char* name, char* buffer, int len); |
85 static bool getenv(const char* name, char* buffer, int len); |
89 static bool have_special_privileges(); |
86 static bool have_special_privileges(); |
90 |
87 |
91 static jlong timeofday(); |
|
92 static void enable_global_time() { _use_global_time = true; } |
|
93 static void disable_global_time() { _use_global_time = false; } |
|
94 static jlong read_global_time(); |
|
95 static void update_global_time(); |
|
96 static jlong javaTimeMillis(); |
88 static jlong javaTimeMillis(); |
97 static jlong javaTimeNanos(); |
89 static jlong javaTimeNanos(); |
98 static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr); |
90 static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr); |
99 static void run_periodic_checks(); |
91 static void run_periodic_checks(); |
100 |
92 |