275 static bool supports_getisax() { return _getisax != NULL; } 276 static uint_t getisax(uint32_t* array, uint_t n); 277 278 static void set_meminfo(meminfo_func_t func) { _meminfo = func; } 279 static int meminfo (const uint64_t inaddr[], int addr_count, 280 const uint_t info_req[], int info_count, 281 uint64_t outdata[], uint_t validity[]) { 282 return _meminfo != NULL ? _meminfo(inaddr, addr_count, info_req, info_count, 283 outdata, validity) : -1; 284 } 285 286 static sigset_t* unblocked_signals(); 287 static sigset_t* vm_signals(); 288 static sigset_t* allowdebug_blocked_signals(); 289 290 // %%% Following should be promoted to os.hpp: 291 // Trace number of created threads 292 static jint _os_thread_limit; 293 static volatile jint _os_thread_count; 294 295 // Minimum stack size a thread can be created with (allowing 296 // the VM to completely create the thread and enter user code) 297 298 static size_t min_stack_allowed; 299 300 // Stack overflow handling 301 302 static int max_register_window_saves_before_flushing(); 303 304 // Stack repair handling 305 306 // none present 307 308 }; 309 310 class PlatformEvent : public CHeapObj<mtInternal> { 311 private: 312 double CachePad[4]; // increase odds that _mutex is sole occupant of cache line 313 volatile int _Event; 314 int _nParked; 315 int _pipev[2]; 316 mutex_t _mutex[1]; 317 cond_t _cond[1]; 318 double PostPad[2]; 319 | 275 static bool supports_getisax() { return _getisax != NULL; } 276 static uint_t getisax(uint32_t* array, uint_t n); 277 278 static void set_meminfo(meminfo_func_t func) { _meminfo = func; } 279 static int meminfo (const uint64_t inaddr[], int addr_count, 280 const uint_t info_req[], int info_count, 281 uint64_t outdata[], uint_t validity[]) { 282 return _meminfo != NULL ? _meminfo(inaddr, addr_count, info_req, info_count, 283 outdata, validity) : -1; 284 } 285 286 static sigset_t* unblocked_signals(); 287 static sigset_t* vm_signals(); 288 static sigset_t* allowdebug_blocked_signals(); 289 290 // %%% Following should be promoted to os.hpp: 291 // Trace number of created threads 292 static jint _os_thread_limit; 293 static volatile jint _os_thread_count; 294 295 296 // Stack overflow handling 297 298 static int max_register_window_saves_before_flushing(); 299 300 // Stack repair handling 301 302 // none present 303 304 }; 305 306 class PlatformEvent : public CHeapObj<mtInternal> { 307 private: 308 double CachePad[4]; // increase odds that _mutex is sole occupant of cache line 309 volatile int _Event; 310 int _nParked; 311 int _pipev[2]; 312 mutex_t _mutex[1]; 313 cond_t _cond[1]; 314 double PostPad[2]; 315 |