469 static void interrupt(Thread* thread); |
469 static void interrupt(Thread* thread); |
470 static bool is_interrupted(Thread* thread, bool clear_interrupted); |
470 static bool is_interrupted(Thread* thread, bool clear_interrupted); |
471 |
471 |
472 static int pd_self_suspend_thread(Thread* thread); |
472 static int pd_self_suspend_thread(Thread* thread); |
473 |
473 |
474 static ExtendedPC fetch_frame_from_context(void* ucVoid, intptr_t** sp, intptr_t** fp); |
474 static ExtendedPC fetch_frame_from_context(const void* ucVoid, intptr_t** sp, intptr_t** fp); |
475 static frame fetch_frame_from_context(void* ucVoid); |
475 static frame fetch_frame_from_context(const void* ucVoid); |
476 static frame fetch_frame_from_ucontext(Thread* thread, void* ucVoid); |
476 static frame fetch_frame_from_ucontext(Thread* thread, void* ucVoid); |
477 |
477 |
478 static ExtendedPC get_thread_pc(Thread *thread); |
478 static ExtendedPC get_thread_pc(Thread *thread); |
479 static void breakpoint(); |
479 static void breakpoint(); |
480 static bool start_debugging(char *buf, int buflen); |
480 static bool start_debugging(char *buf, int buflen); |
497 // Terminate the VM, but don't exit the process |
497 // Terminate the VM, but don't exit the process |
498 static void shutdown(); |
498 static void shutdown(); |
499 |
499 |
500 // Terminate with an error. Default is to generate a core file on platforms |
500 // Terminate with an error. Default is to generate a core file on platforms |
501 // that support such things. This calls shutdown() and then aborts. |
501 // that support such things. This calls shutdown() and then aborts. |
502 static void abort(bool dump_core, void *siginfo, void *context); |
502 static void abort(bool dump_core, void *siginfo, const void *context); |
503 static void abort(bool dump_core = true); |
503 static void abort(bool dump_core = true); |
504 |
504 |
505 // Die immediately, no exit hook, no abort hook, no cleanup. |
505 // Die immediately, no exit hook, no abort hook, no cleanup. |
506 static void die(); |
506 static void die(); |
507 |
507 |
602 static void pd_print_cpu_info(outputStream* st, char* buf, size_t buflen); |
602 static void pd_print_cpu_info(outputStream* st, char* buf, size_t buflen); |
603 static void print_summary_info(outputStream* st, char* buf, size_t buflen); |
603 static void print_summary_info(outputStream* st, char* buf, size_t buflen); |
604 static void print_memory_info(outputStream* st); |
604 static void print_memory_info(outputStream* st); |
605 static void print_dll_info(outputStream* st); |
605 static void print_dll_info(outputStream* st); |
606 static void print_environment_variables(outputStream* st, const char** env_list); |
606 static void print_environment_variables(outputStream* st, const char** env_list); |
607 static void print_context(outputStream* st, void* context); |
607 static void print_context(outputStream* st, const void* context); |
608 static void print_register_info(outputStream* st, void* context); |
608 static void print_register_info(outputStream* st, const void* context); |
609 static void print_siginfo(outputStream* st, void* siginfo); |
609 static void print_siginfo(outputStream* st, void* siginfo); |
610 static void print_signal_handlers(outputStream* st, char* buf, size_t buflen); |
610 static void print_signal_handlers(outputStream* st, char* buf, size_t buflen); |
611 static void print_date_and_time(outputStream* st, char* buf, size_t buflen); |
611 static void print_date_and_time(outputStream* st, char* buf, size_t buflen); |
612 |
612 |
613 static void print_location(outputStream* st, intptr_t x, bool verbose = false); |
613 static void print_location(outputStream* st, intptr_t x, bool verbose = false); |
846 #endif |
846 #endif |
847 |
847 |
848 public: |
848 public: |
849 #ifndef PLATFORM_PRINT_NATIVE_STACK |
849 #ifndef PLATFORM_PRINT_NATIVE_STACK |
850 // No platform-specific code for printing the native stack. |
850 // No platform-specific code for printing the native stack. |
851 static bool platform_print_native_stack(outputStream* st, void* context, |
851 static bool platform_print_native_stack(outputStream* st, const void* context, |
852 char *buf, int buf_size) { |
852 char *buf, int buf_size) { |
853 return false; |
853 return false; |
854 } |
854 } |
855 #endif |
855 #endif |
856 |
856 |