387 static void yield_all(int attempts = 0); // Yields to all other threads including lower priority
388 static void loop_breaker(int attempts); // called from within tight loops to possibly influence time-sharing
389 static OSReturn set_priority(Thread* thread, ThreadPriority priority);
390 static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
391
392 static void interrupt(Thread* thread);
393 static bool is_interrupted(Thread* thread, bool clear_interrupted);
394
395 static int pd_self_suspend_thread(Thread* thread);
396
397 static ExtendedPC fetch_frame_from_context(void* ucVoid, intptr_t** sp, intptr_t** fp);
398 static frame fetch_frame_from_context(void* ucVoid);
399
400 static ExtendedPC get_thread_pc(Thread *thread);
401 static void breakpoint();
402
403 static address current_stack_pointer();
404 static address current_stack_base();
405 static size_t current_stack_size();
406
407 static int message_box(const char* title, const char* message);
408 static char* do_you_want_to_debug(const char* message);
409
410 // run cmd in a separate process and return its exit code; or -1 on failures
411 static int fork_and_exec(char *cmd);
412
413 // Set file to send error reports.
414 static void set_error_file(const char *logfile);
415
416 // os::exit() is merged with vm_exit()
417 // static void exit(int num);
418
419 // Terminate the VM, but don't exit the process
420 static void shutdown();
421
422 // Terminate with an error. Default is to generate a core file on platforms
423 // that support such things. This calls shutdown() and then aborts.
424 static void abort(bool dump_core = true);
425
426 // Die immediately, no exit hook, no abort hook, no cleanup.
|
387 static void yield_all(int attempts = 0); // Yields to all other threads including lower priority
388 static void loop_breaker(int attempts); // called from within tight loops to possibly influence time-sharing
389 static OSReturn set_priority(Thread* thread, ThreadPriority priority);
390 static OSReturn get_priority(const Thread* const thread, ThreadPriority& priority);
391
392 static void interrupt(Thread* thread);
393 static bool is_interrupted(Thread* thread, bool clear_interrupted);
394
395 static int pd_self_suspend_thread(Thread* thread);
396
397 static ExtendedPC fetch_frame_from_context(void* ucVoid, intptr_t** sp, intptr_t** fp);
398 static frame fetch_frame_from_context(void* ucVoid);
399
400 static ExtendedPC get_thread_pc(Thread *thread);
401 static void breakpoint();
402
403 static address current_stack_pointer();
404 static address current_stack_base();
405 static size_t current_stack_size();
406
407 static void verify_stack_alignment() PRODUCT_RETURN;
408
409 static int message_box(const char* title, const char* message);
410 static char* do_you_want_to_debug(const char* message);
411
412 // run cmd in a separate process and return its exit code; or -1 on failures
413 static int fork_and_exec(char *cmd);
414
415 // Set file to send error reports.
416 static void set_error_file(const char *logfile);
417
418 // os::exit() is merged with vm_exit()
419 // static void exit(int num);
420
421 // Terminate the VM, but don't exit the process
422 static void shutdown();
423
424 // Terminate with an error. Default is to generate a core file on platforms
425 // that support such things. This calls shutdown() and then aborts.
426 static void abort(bool dump_core = true);
427
428 // Die immediately, no exit hook, no abort hook, no cleanup.
|