/** * main function which tries to determine jiffy time */ unsigned long long getHertzValue() { init_Linux_version(); init_libproc(); return Hertz; }
/* * Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal * Method: init0 * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_init0 (JNIEnv *env, jclass cls) { jclass listClass; if (init_libproc(getenv("LIBSAPROC_DEBUG")) != true) { THROW_NEW_DEBUGGER_EXCEPTION("can't initialize libproc"); } // fields we use p_ps_prochandle_ID = (*env)->GetFieldID(env, cls, "p_ps_prochandle", "J"); CHECK_EXCEPTION; threadList_ID = (*env)->GetFieldID(env, cls, "threadList", "Ljava/util/List;"); CHECK_EXCEPTION; loadObjectList_ID = (*env)->GetFieldID(env, cls, "loadObjectList", "Ljava/util/List;"); CHECK_EXCEPTION; // methods we use createClosestSymbol_ID = (*env)->GetMethodID(env, cls, "createClosestSymbol", "(Ljava/lang/String;J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;"); CHECK_EXCEPTION; createLoadObject_ID = (*env)->GetMethodID(env, cls, "createLoadObject", "(Ljava/lang/String;JJ)Lsun/jvm/hotspot/debugger/cdbg/LoadObject;"); CHECK_EXCEPTION; getThreadForThreadId_ID = (*env)->GetMethodID(env, cls, "getThreadForThreadId", "(J)Lsun/jvm/hotspot/debugger/ThreadProxy;"); CHECK_EXCEPTION; // java.util.List method we call listClass = (*env)->FindClass(env, "java/util/List"); CHECK_EXCEPTION; listAdd_ID = (*env)->GetMethodID(env, listClass, "add", "(Ljava/lang/Object;)Z"); CHECK_EXCEPTION; }