ebf29cf63f
* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): Check for enabled events. (check_enabled_event): New function. (check_enabled_events): New function. (post_event): New function. (_Jv_JVMTI_SetEventNotificationMode): New function. (_Jv_JVMTI_SetEventCallbacks): New function. (_Jv_JVMTI_Interface): Define SetEventNotificationMode and SetEventCallbacks members. * include/jvmti-int.h: New file. * include/jvmti_md.h (EVENT_SLOTS) [__GCJ_JNI_IMP__]: Define. (_CLASSPATH_JVMTIENV_CONTENTS) [__GCJ_JNI_IMPL__]: Define. * testsuite/libjava.jvmti/events.java: New file. * testsuite/libjava.jvmti/events.out: New file. * testsuite/libjava.jvmti/natevents.cc: New file. From-SVN: r117133
60 lines
3.0 KiB
Plaintext
60 lines
3.0 KiB
Plaintext
JVMTI event notification tests
|
|
- enable tests -
|
|
created JVMTI environment #0
|
|
created JVMTI environment #1
|
|
created JVMTI environment #2
|
|
setting callbacks for envs
|
|
RequestedEvents:
|
|
enable VM_INIT for env0, env1, env2
|
|
RequestedEvents: VMInit,
|
|
enable VM_DEATH for env1,env2
|
|
RequestedEvents: VMInit,VMDeath,
|
|
enable THREAD_END for env2
|
|
RequestedEvents: VMInit,VMDeath,ThreadEnd,
|
|
disposing of env1
|
|
RequestedEvents: VMInit,VMDeath,ThreadEnd,
|
|
disposing of env0
|
|
RequestedEvents: VMInit,VMDeath,ThreadEnd,
|
|
disable VMInit in env2
|
|
RequestedEvents: VMDeath,ThreadEnd,
|
|
clear VMDeath callback in env2
|
|
RequestedEvents: ThreadEnd,
|
|
sending VMInit
|
|
sending ThreadEnd
|
|
ThreadEndCB jni_env=0x5678 thread=0x1234
|
|
sending VMDeath
|
|
disposing of env2
|
|
RequestedEvents:
|
|
- callback arg tests -
|
|
RequestedEvents: VMInit,VMDeath,ThreadStart,ThreadEnd,ClassFileLoadHook,ClassLoad,ClassPrepare,VMStart,Exception,ExceptionCatch,SingleStep,FramePop,Breakpoint,FieldAccess,FieldModification,MethodEntry,MethodExit,NativeMethodBind,CompiledMethodLoad,CompiledMethodUnload,DynamicCodeGenerated,DataDumpRequest,MonitorWait,MonitorWaited,MonitorContendedEnter,MonitorContendedEntered,GarbageCollectionStart,GarbageCollectionFinish,ObjectFree,VMObjectAlloc,
|
|
VMInitCB jni_env=0x1 thread=0x2
|
|
VMDeathCB jni_env=0x1
|
|
ThreadStartCB jni_env=0x1 thread=0x2
|
|
ThreadEndCB jni_env=0x1 thread=0x2
|
|
ClassFileLoadHookCB jni_env=0x1 class_being_redefined=0x2 loader=0x3 name=4 protection_domain=0x5 class_data_len=6 class_data=0x7 new_class_data_len=0x8 new_class_data=0x9
|
|
ClassLoadCB jni_env=0x1 thread=0x2 klass=0x3
|
|
ClassPrepareCB jni_env=0x1 thread=0x2 klass=0x3
|
|
VMStartCB jni_env=0x1
|
|
ExceptionCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 exception=0x5 catch_method=0x6 catch_location=0x7
|
|
ExceptionCatchCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 exception=0x5
|
|
SingleStepCB jni_env=0x1 thread=0x2 method=0x3 location=0x4
|
|
FramePopCB jni_env=0x1 thread=0x2 method=0x3 was_pooped_by_exception=1
|
|
BreakpointCB jni_env=0x1 thread=0x2 method=0x3 location=0x4
|
|
FieldAccessCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 field_klass=0x5 object=0x6 field=0x7
|
|
FieldModificationCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 field_klass=0x5 object=0x6 field=0x7 signature_type=8 new_value=9
|
|
MethodEntryCB jni_env=0x1 thread=0x2 method=0x3
|
|
MethodExitCB jni_env=0x1 thread=0x2 method=0x3 was_popped_by_exception=1 return_value=5
|
|
NativeMethodBindCB jni_env=0x1 thread=0x2 method=0x3 address=0x4 new_address_ptr=0x5
|
|
CompiledMethodLoadCB method=0x1 code_size=0x2 code_addr=0x3 map_length=4 map=0x5 compile_info=0x6
|
|
CompiledMethodUnloadCB method=0x1 code_addr=0x2
|
|
DynamicCodeGeneratedCB name=1 address=0x2 length=3
|
|
DataDumpRequestCB
|
|
MonitorWaitCB jni_env=0x1 thread=0x2 object=0x3 timeout=4
|
|
MonitorWaitedCB jni_env=0x1 thread=0x2 object=0x3 timed_out=1
|
|
MonitorContendedEnterCB jni_env=0x1 thread=0x2 object=0x3
|
|
MonitorContendedEnteredCB jni_env=0x1 thread=0x2 object=0x3
|
|
GarbageCollectionStartCB
|
|
GarbageCollectionFinishCB
|
|
ObjectFreeCB tag=1
|
|
VMObjectAllocCB jni_env=0x1 thread=0x2 object=0x3 object_klass=0x4 size=5
|