equal
deleted
inserted
replaced
1214 } |
1214 } |
1215 |
1215 |
1216 // Note: os::abort() might be called very early during initialization, or |
1216 // Note: os::abort() might be called very early during initialization, or |
1217 // called from signal handler. Before adding something to os::abort(), make |
1217 // called from signal handler. Before adding something to os::abort(), make |
1218 // sure it is async-safe and can handle partially initialized VM. |
1218 // sure it is async-safe and can handle partially initialized VM. |
1219 void os::abort(bool dump_core, void* siginfo, void* context) { |
1219 void os::abort(bool dump_core, void* siginfo, const void* context) { |
1220 os::shutdown(); |
1220 os::shutdown(); |
1221 if (dump_core) { |
1221 if (dump_core) { |
1222 #ifndef PRODUCT |
1222 #ifndef PRODUCT |
1223 fdStream out(defaultStream::output_fd()); |
1223 fdStream out(defaultStream::output_fd()); |
1224 out.print_raw("Current thread is "); |
1224 out.print_raw("Current thread is "); |
3813 |
3813 |
3814 void PcFetcher::do_task(const os::SuspendedThreadTaskContext& context) { |
3814 void PcFetcher::do_task(const os::SuspendedThreadTaskContext& context) { |
3815 Thread* thread = context.thread(); |
3815 Thread* thread = context.thread(); |
3816 OSThread* osthread = thread->osthread(); |
3816 OSThread* osthread = thread->osthread(); |
3817 if (osthread->ucontext() != NULL) { |
3817 if (osthread->ucontext() != NULL) { |
3818 _epc = os::Aix::ucontext_get_pc((ucontext_t *) context.ucontext()); |
3818 _epc = os::Aix::ucontext_get_pc((const ucontext_t *) context.ucontext()); |
3819 } else { |
3819 } else { |
3820 // NULL context is unexpected, double-check this is the VMThread. |
3820 // NULL context is unexpected, double-check this is the VMThread. |
3821 guarantee(thread->is_VM_thread(), "can only be called for VMThread"); |
3821 guarantee(thread->is_VM_thread(), "can only be called for VMThread"); |
3822 } |
3822 } |
3823 } |
3823 } |