2012-04-01から1ヶ月間の記事一覧

os::connect(int fd, struct sockaddr *him, int len)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::connect(int fd, struct sockaddr *him, int len) { RESTARTABLE_RETURN_INT(::connect(fd, him, len)); }

os::accept(int fd, struct sockaddr *him, int *len)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::accept(int fd, struct sockaddr *him, int *len) { // This cast is from int to unsigned int on linux. Since we // only pass the parameter "len" around the vm and do…

os::recvfrom(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::recvfrom(int fd, char *buf, int nBytes, int flags, sockaddr *from, int *fromlen) { RESTARTABLE_RETURN_INT(::recvfrom(fd, buf, nBytes, (unsigned int) flags, from, …

os::bind(int fd, struct sockaddr *him, int len)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::bind(int fd, struct sockaddr *him, int len){ return ::bind(fd, him, len); }

os::get_sock_name(int fd, struct sockaddr *him, int *len)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::get_sock_name(int fd, struct sockaddr *him, int *len){ return ::getsockname(fd, him, (socklen_t *)len); }

os::sendto(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::sendto(int fd, char *buf, int len, int flags, struct sockaddr *to, int tolen) { RESTARTABLE_RETURN_INT(::sendto(fd, buf, len, (unsigned int) flags, to, tolen)); }

os::get_host_name(char* name, int namelen)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::get_host_name(char* name, int namelen){ return ::gethostname(name, namelen); }

os::get_host_by_name(char* name)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline struct hostent* os::get_host_by_name(char* name) { return ::gethostbyname(name); }

os::get_sock_opt(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::get_sock_opt(int fd, int level, int optname, char *optval, int* optlen){ return ::getsockopt(fd, level, optname, optval, (socklen_t *)optlen); }

os::set_sock_opt(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline int os::set_sock_opt(int fd, int level, int optname, const char *optval, int optlen){ return ::setsockopt(fd, level, optname, optval, optlen); }

os::dll_file_extension()

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) const char* os::dll_file_extension() { return ".so"; }

os::get_temp_directory()

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) // This must be hard coded because it's the system's temporary // directory not the java application's temp directory, ala java.io.tmpdir. const char* os::get_temp_directory() { return…

os::get_current_directory(char *buf, int buflen)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) const char* os::get_current_directory(char *buf, int buflen) { return getcwd(buf, buflen); }

os::dll_build_name(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::dll_build_name(char* buffer, size_t buflen, const char* pname, const char* fname) { // Copied from libhpi const size_t pnamelen = pname ? strlen(pname) : 0; // Quietly truncat…

os::dll_address_to_function_name(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) bool os::dll_address_to_function_name(address addr, char *buf, int buflen, int *offset) { Dl_info dlinfo; if (dladdr((void*)addr, &dlinfo) && dlinfo.dli_sname != NULL) { if (buf != NUL…

os::dll_address_to_library_name(...)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) bool os::dll_address_to_library_name(address addr, char* buf, int buflen, int* offset) { Dl_info dlinfo; struct _address_to_library_name data; // There is a bug in old glibc dladdr() i…

os::address_is_in_vm(address addr)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) // check if addr is inside libjvm[_g].so bool os::address_is_in_vm(address addr) { static address libjvm_base_addr; Dl_info dlinfo; if (libjvm_base_addr == NULL) { dladdr(CAST_FROM_FN_…

os::dll_load(const char *filename, char *ebuf, int ebuflen)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) // Loads .dll/.so and // in case of error it checks if .dll/.so was built for the // same architecture as Hotspot is running on void * os::dll_load(const char *filename, char *ebuf, in…

os::dll_lookup(void* handle, const char* name)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) /* * glibc-2.0 libdl is not MT safe. If you are building with any glibc, * chances are you might want to run the generated bits against glibc-2.0 * libdl.so, so always use locking for …

os::dll_unload(void *lib)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.inline.hpp) inline void os::dll_unload(void *lib) { ::dlclose(lib); }

os::print_os_info(outputStream* st)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::print_os_info(outputStream* st) { st->print("OS:"); // Try to identify popular distros. // Most Linux distributions have /etc/XXX-release file, which contains // the OS versio…

os::print_dll_info(outputStream *st)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::print_dll_info(outputStream *st) { st->print_cr("Dynamic libraries:"); char fname[32]; pid_t pid = os::Linux::gettid(); jio_snprintf(fname, sizeof(fname), "/proc/%d/maps", pid…

os::print_memory_info(outputStream* st)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::print_memory_info(outputStream* st) { st->print("Memory:"); st->print(" %dk page", os::vm_page_size()>>10); // values in struct sysinfo are "unsigned long" struct sysinfo si; …

os::print_cpu_info(outputStream* st)

- //Linux版(jdk7/hotspot/src/share/vm/runtime/os.hpp) void os::print_cpu_info(outputStream* st) { // cpu st->print("CPU:"); st->print("total %d", os::processor_count()); // It's not safe to query number of active processors after crash // …

os::print_environment_variables(...)

- //Linux版(jdk7/hotspot/src/share/vm/runtime/os.cpp) void os::print_environment_variables(outputStream* st, const char** env_list, char* buffer, int len) { if (env_list) { st->print_cr("Environment Variables:"); for (int i = 0; env_list[i…

os::print_context(outputStream *st, void *context)

- //Linux版(jdk7/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp) ///////////////////////////////////////////////////////////////////////////// // helper functions for fatal error handler void os::print_context(outputStream *st, void *con…

os::print_register_info(outputStream *st, void *context)

- //Linux版(jdk7/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp) void os::print_register_info(outputStream *st, void *context) { if (context == NULL) return; ucontext_t *uc = (ucontext_t*)context; st->print_cr("Register to memory mapping…

os::print_siginfo(outputStream* st, void* siginfo)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::print_siginfo(outputStream* st, void* siginfo) { st->print("siginfo:"); const int buflen = 100; char buf[buflen]; siginfo_t *si = (siginfo_t*)siginfo; st->print("si_signo=%s: …

os::print_signal_handlers(outputStream* st, char* buf, size_t buflen)

- //Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) void os::print_signal_handlers(outputStream* st, char* buf, size_t buflen) { st->print_cr("Signal Handlers:"); print_signal_handler(st, SIGSEGV, buf, buflen); print_signal_handler(st, …

os::print_date_and_time(outputStream *st)

- //Linux版(jdk7/hotspot/src/share/vm/runtime/os.cpp) void os::print_date_and_time(outputStream *st) { time_t tloc; (void)time(&tloc); st->print("time: %s", ctime(&tloc)); // ctime adds newline. double t = os::elapsedTime(); // NOTE: It te…