JNIEXPORT jlong JNICALL Java_com_sun_management_OperatingSystem_getProcessCpuTime (JNIEnv *env, jobject mbean) { FILETIME process_creation_time, process_exit_time, process_user_time, process_kernel_time; // Using static variables declared above // Units are 100-ns intervals. Convert to ns. GetProcessTimes(main_process, &process_creation_time, &process_exit_time, &process_kernel_time, &process_user_time); return (jlong_from(process_user_time.dwHighDateTime, process_user_time.dwLowDateTime) + jlong_from(process_kernel_time.dwHighDateTime, process_kernel_time.dwLowDateTime)) * 100; }
///////////////////////////////////////////////////////////// // // The CompactHashtable implementation // template <class T, class N> const char* CompactHashtable<T, N>::init(const char* buffer) { assert(!DumpSharedSpaces, "run-time only"); juint*p = (juint*)buffer; juint upper = *p++; juint lower = *p++; _base_address = uintx(jlong_from(upper, lower)); _entry_count = *p++; _bucket_count = *p++; _buckets = p; _table_end_offset = BUCKET_OFFSET(p[_bucket_count]); // located at the end of the bucket_info table juint *end = _buckets + _table_end_offset; return (const char*)end; }
static inline IcoResult makeIcoResult(address osr_adapter_frame_address, nmethod *osr_code) { return jlong_from((jint)osr_adapter_frame_address, (jint)osr_code); }