Lines Matching defs:jvmti

47 #include "jvmti.h"
146 jvmtiEnv *jvmti;
172 enterCriticalSection(jvmtiEnv *jvmti)
176 error = (*jvmti)->RawMonitorEnter(jvmti, gdata->lock);
177 check_jvmti_error(jvmti, error, "Cannot enter with raw monitor");
182 exitCriticalSection(jvmtiEnv *jvmti)
186 error = (*jvmti)->RawMonitorExit(jvmti, gdata->lock);
187 check_jvmti_error(jvmti, error, "Cannot exit with raw monitor");
250 lookupOrEnter(jvmtiEnv *jvmti, Trace *trace, TraceFlavor flavor)
259 enterCriticalSection(jvmti); {
293 } exitCriticalSection(jvmti);
300 findTraceInfo(jvmtiEnv *jvmti, jthread thread, TraceFlavor flavor)
312 error = (*jvmti)->GetStackTrace(jvmti, thread, 0, MAX_FRAMES+2,
323 check_jvmti_error(jvmti, error, "Cannot get stack trace");
325 tinfo = lookupOrEnter(jvmti, &trace, flavor);
340 tagObjectWithTraceInfo(jvmtiEnv *jvmti, jobject object, TraceInfo *tinfo)
347 error = (*jvmti)->SetTag(jvmti, object, tag);
348 check_jvmti_error(jvmti, error, "Cannot tag object");
360 tinfo = findTraceInfo(gdata->jvmti, thread, TRACE_USER);
361 tagObjectWithTraceInfo(gdata->jvmti, o, tinfo);
373 tinfo = findTraceInfo(gdata->jvmti, thread, TRACE_USER);
374 tagObjectWithTraceInfo(gdata->jvmti, a, tinfo);
379 cbVMStart(jvmtiEnv *jvmti, JNIEnv *env)
381 enterCriticalSection(jvmti); {
417 } exitCriticalSection(jvmti);
434 cbVMInit(jvmtiEnv *jvmti, JNIEnv *env, jthread thread)
442 error = (*jvmti)->IterateThroughHeap(jvmti, JVMTI_HEAP_FILTER_TAGGED,
444 check_jvmti_error(jvmti, error, "Cannot iterate through heap");
446 enterCriticalSection(jvmti); {
451 } exitCriticalSection(jvmti);
483 frameToString(jvmtiEnv *jvmti, char *buf, int buflen, jvmtiFrameInfo *finfo)
509 error = (*jvmti)->GetMethodDeclaringClass(jvmti, finfo->method, &klass);
510 check_jvmti_error(jvmti, error, "Cannot get method's class");
513 error = (*jvmti)->GetClassSignature(jvmti, klass, &signature, NULL);
514 check_jvmti_error(jvmti, error, "Cannot get class signature");
518 deallocate(jvmti, signature);
523 error = (*jvmti)->GetMethodName(jvmti, finfo->method,
525 check_jvmti_error(jvmti, error, "Cannot method name");
528 error = (*jvmti)->IsMethodNative(jvmti, finfo->method, &isNative);
529 check_jvmti_error(jvmti, error, "Cannot get method native status");
532 error = (*jvmti)->GetSourceFileName(jvmti, klass, &filename);
534 check_jvmti_error(jvmti, error, "Cannot get source filename");
542 error = (*jvmti)->GetLineNumberTable(jvmti, finfo->method, &lineCount, &lineTable);
553 check_jvmti_error(jvmti, error, "Cannot get method line table");
572 deallocate(jvmti, signature);
573 deallocate(jvmti, methodname);
574 deallocate(jvmti, methodsig);
575 deallocate(jvmti, filename);
576 deallocate(jvmti, lineTable);
581 printTraceInfo(jvmtiEnv *jvmti, int index, TraceInfo* tinfo)
601 frameToString(jvmti, buf, (int)sizeof(buf), tinfo->trace.frames+i);
619 cbVMDeath(jvmtiEnv *jvmti, JNIEnv *env)
627 error = (*jvmti)->ForceGarbageCollection(jvmti);
628 check_jvmti_error(jvmti, error, "Cannot force garbage collection");
633 error = (*jvmti)->IterateThroughHeap(jvmti, 0, NULL, &heapCallbacks, NULL);
634 check_jvmti_error(jvmti, error, "Cannot iterate through heap");
637 enterCriticalSection(jvmti); {
661 error = (*jvmti)->SetEventCallbacks(jvmti, &callbacks,
663 check_jvmti_error(jvmti, error, "Cannot set jvmti callbacks");
712 printTraceInfo(jvmti, i+1, list[i]);
717 } exitCriticalSection(jvmti);
723 cbVMObjectAlloc(jvmtiEnv *jvmti, JNIEnv *env, jthread thread,
731 tinfo = findTraceInfo(jvmti, thread, TRACE_VM_OBJECT);
732 tagObjectWithTraceInfo(jvmti, object, tinfo);
737 cbObjectFree(jvmtiEnv *jvmti, jlong tag)
754 cbClassFileLoadHook(jvmtiEnv *jvmti, JNIEnv* env,
760 enterCriticalSection(jvmti); {
828 jvmti_space = (unsigned char *)allocate(jvmti, (jint)newLength);
842 } exitCriticalSection(jvmti);
900 jvmtiEnv *jvmti;
918 res = (*vm)->GetEnv(vm, (void **)&jvmti, JVMTI_VERSION_1);
930 gdata->jvmti = jvmti;
945 error = (*jvmti)->AddCapabilities(jvmti, &capabilities);
946 check_jvmti_error(jvmti, error, "Unable to get necessary JVMTI capabilities.");
964 error = (*jvmti)->SetEventCallbacks(jvmti, &callbacks, (jint)sizeof(callbacks));
965 check_jvmti_error(jvmti, error, "Cannot set jvmti callbacks");
971 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
973 check_jvmti_error(jvmti, error, "Cannot set event notification");
974 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
976 check_jvmti_error(jvmti, error, "Cannot set event notification");
977 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
979 check_jvmti_error(jvmti, error, "Cannot set event notification");
980 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
982 check_jvmti_error(jvmti, error, "Cannot set event notification");
983 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
985 check_jvmti_error(jvmti, error, "Cannot set event notification");
986 error = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
988 check_jvmti_error(jvmti, error, "Cannot set event notification");
993 error = (*jvmti)->CreateRawMonitor(jvmti, "agent data", &(gdata->lock));
994 check_jvmti_error(jvmti, error, "Cannot create raw monitor");
1003 add_demo_jar_to_bootclasspath(jvmti, "heapTracker");