os::sigexitnum_pd()
-
//Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) // Will be modified when max signal is changed to be dynamic int os::sigexitnum_pd() { return NSIG; }
os::init_random(long initval)
-
//Linux版(jdk7/hotspot/src/share/vm/runtime/os.cpp) void os::init_random(long initval) { _rand_seed = initval; }
os::os_exception_wrapper(...)
-
//Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) // This does not do anything on Linux. This is basically a hook for being // able to use structured exception handling (thread-local exception filters) // on, e.g., Win32. void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread) { f(value, method, args, thread); }
os::check_or_create_dump(...)
-
//Linux版(jdk7/hotspot/src/os/posix/vm/os_posix.cpp) // Check core dump limit and report possible place where core can be found void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize) { struct rlimit rlim; static char cwd[O_BUFLEN]; bool success; get_current_directory(cwd, sizeof(cwd)); if (getrlimit(RLIMIT_CORE, &rlim) != 0) { jio_snprintf(buffer, bufferSize, "%s/core or core.%d (may not exist)", cwd, current_process_id()); success = true; } else { switch(rlim.rlim_cur) { case RLIM_INFINITY: jio_snprintf(buffer, bufferSize, "%s/core or core.%d", cwd, current_process_id()); success = true; break; case 0: jio_snprintf(buffer, bufferSize, "Core dumps have been disabled. To enable core dumping, try \"ulimit -c unlimited\" before starting Java again"); success = false; break; default: jio_snprintf(buffer, bufferSize, "%s/core or core.%d (max size %lu kB). To ensure a full core dump, try \"ulimit -c unlimited\" before starting Java again", cwd, current_process_id(), (unsigned long)(rlim.rlim_cur >> 10)); success = true; break; } } VMError::report_coredump_status(buffer, success); }
■
-
//Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp)
os::current_thread_cpu_time(bool user_sys_cpu_time)
-
//Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) jlong os::current_thread_cpu_time(bool user_sys_cpu_time) { if (user_sys_cpu_time && os::Linux::supports_fast_thread_cpu_time()) { return os::Linux::fast_thread_cpu_time(CLOCK_THREAD_CPUTIME_ID); } else { return slow_thread_cpu_time(Thread::current(), user_sys_cpu_time); } }
os::current_thread_cpu_time()
-
//Linux版(jdk7/hotspot/src/os/linux/vm/os_linux.cpp) jlong os::current_thread_cpu_time() { if (os::Linux::supports_fast_thread_cpu_time()) { return os::Linux::fast_thread_cpu_time(CLOCK_THREAD_CPUTIME_ID); } else { // return user + sys since the cost is the same return slow_thread_cpu_time(Thread::current(), true /* user + sys */); } }