2024 st->print("%s",(p.pr_mflags & MA_EXEC) ? "x" : "-"); 2025 st->cr(); 2026 status = true; 2027 } 2028 } 2029 ::close(fd); 2030 } 2031 return status; 2032 } 2033 2034 void os::pd_print_cpu_info(outputStream* st) { 2035 // Nothing to do for now. 2036 } 2037 2038 void os::print_memory_info(outputStream* st) { 2039 st->print("Memory:"); 2040 st->print(" %dk page", os::vm_page_size()>>10); 2041 st->print(", physical " UINT64_FORMAT "k", os::physical_memory()>>10); 2042 st->print("(" UINT64_FORMAT "k free)", os::available_memory() >> 10); 2043 st->cr(); 2044 (void) check_addr0(st); 2045 } 2046 2047 void os::print_siginfo(outputStream* st, void* siginfo) { 2048 const siginfo_t* si = (const siginfo_t*)siginfo; 2049 2050 os::Posix::print_siginfo_brief(st, si); 2051 2052 if (si && (si->si_signo == SIGBUS || si->si_signo == SIGSEGV) && 2053 UseSharedSpaces) { 2054 FileMapInfo* mapinfo = FileMapInfo::current_info(); 2055 if (mapinfo->is_in_shared_space(si->si_addr)) { 2056 st->print("\n\nError accessing class data sharing archive." \ 2057 " Mapped file inaccessible during execution, " \ 2058 " possible disk/network problem."); 2059 } 2060 } 2061 st->cr(); 2062 } 2063 2064 // Moved from whole group, because we need them here for diagnostic | 2024 st->print("%s",(p.pr_mflags & MA_EXEC) ? "x" : "-"); 2025 st->cr(); 2026 status = true; 2027 } 2028 } 2029 ::close(fd); 2030 } 2031 return status; 2032 } 2033 2034 void os::pd_print_cpu_info(outputStream* st) { 2035 // Nothing to do for now. 2036 } 2037 2038 void os::print_memory_info(outputStream* st) { 2039 st->print("Memory:"); 2040 st->print(" %dk page", os::vm_page_size()>>10); 2041 st->print(", physical " UINT64_FORMAT "k", os::physical_memory()>>10); 2042 st->print("(" UINT64_FORMAT "k free)", os::available_memory() >> 10); 2043 st->cr(); 2044 if (VMError::fatal_error_in_progress()){ 2045 (void) check_addr0(st); 2046 } 2047 } 2048 2049 void os::print_siginfo(outputStream* st, void* siginfo) { 2050 const siginfo_t* si = (const siginfo_t*)siginfo; 2051 2052 os::Posix::print_siginfo_brief(st, si); 2053 2054 if (si && (si->si_signo == SIGBUS || si->si_signo == SIGSEGV) && 2055 UseSharedSpaces) { 2056 FileMapInfo* mapinfo = FileMapInfo::current_info(); 2057 if (mapinfo->is_in_shared_space(si->si_addr)) { 2058 st->print("\n\nError accessing class data sharing archive." \ 2059 " Mapped file inaccessible during execution, " \ 2060 " possible disk/network problem."); 2061 } 2062 } 2063 st->cr(); 2064 } 2065 2066 // Moved from whole group, because we need them here for diagnostic |