public class com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent extends com.oracle.svm.jvmtiagentbase.JvmtiAgentBase<com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
super_class: com.oracle.svm.jvmtiagentbase.JvmtiAgentBase
{
private static final org.graalvm.nativeimage.c.function.CEntryPointLiteral<org.graalvm.nativeimage.c.function.CFunctionPointer> ON_CLASS_PREPARE;
descriptor: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral<Lorg/graalvm/nativeimage/c/function/CFunctionPointer;>;
private static final org.graalvm.nativeimage.c.function.CEntryPointLiteral<org.graalvm.nativeimage.c.function.CFunctionPointer> ON_BREAKPOINT;
descriptor: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral<Lorg/graalvm/nativeimage/c/function/CFunctionPointer;>;
private final java.util.Map<java.lang.Long, com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder> clinitClassMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$ClassHandleHolder;>;
private final java.util.Map<java.lang.Long, com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder> initClassMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$ClassHandleHolder;>;
private com.oracle.svm.hosted.agent.TracingAdvisor advisor;
descriptor: Lcom/oracle/svm/hosted/agent/TracingAdvisor;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
ldc "onClassPrepare"
iconst_4
anewarray java.lang.Class
dup
iconst_0
1: ldc Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
aastore
dup
iconst_1
ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
aastore
dup
iconst_2
ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
aastore
dup
iconst_3
ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
aastore
2: invokestatic org.graalvm.nativeimage.c.function.CEntryPointLiteral.create:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
putstatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.ON_CLASS_PREPARE:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
3: ldc Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
ldc "onBreakpoint"
iconst_5
anewarray java.lang.Class
dup
iconst_0
4: ldc Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
aastore
dup
iconst_1
ldc Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
aastore
dup
iconst_2
ldc Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
aastore
dup
iconst_3
ldc Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
aastore
dup
iconst_4
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
5: invokestatic org.graalvm.nativeimage.c.function.CEntryPointLiteral.create:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
putstatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.ON_BREAKPOINT:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.svm.jvmtiagentbase.JvmtiAgentBase.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.clinitClassMap:Ljava/util/Map;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.initClassMap:Ljava/util/Map;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
protected com.oracle.svm.jvmtiagentbase.JNIHandleSet constructJavaHandles(com.oracle.svm.jni.nativeapi.JNIEnvironment);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
dup
aload 1
invokespecial com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.<init>:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 1 1 env Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
MethodParameters:
Name Flags
env
protected int onLoadCallback(com.oracle.svm.jni.nativeapi.JNIJavaVM, com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks, java.lang.String);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventCallbacks;Ljava/lang/String;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new com.oracle.svm.hosted.agent.TracingAdvisor
dup
aload 4
invokespecial com.oracle.svm.hosted.agent.TracingAdvisor.<init>:(Ljava/lang/String;)V
putfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.advisor:Lcom/oracle/svm/hosted/agent/TracingAdvisor;
1: aload 2
invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.enableCapabilities:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)V
2: aload 3
getstatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.ON_CLASS_PREPARE:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
invokevirtual org.graalvm.nativeimage.c.function.CEntryPointLiteral.getFunctionPointer:()Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks.setClassPrepare:(Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
3: aload 3
getstatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.ON_BREAKPOINT:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
invokevirtual org.graalvm.nativeimage.c.function.CEntryPointLiteral.getFunctionPointer:()Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks.setBreakpoint:(Lorg/graalvm/nativeimage/c/function/CFunctionPointer;)V
4: aload 2
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.SetEventNotificationMode:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$SetEventNotificationModeFunctionPointer;
aload 2
getstatic com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventMode.JVMTI_ENABLE:Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventMode;
getstatic com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEvent.JVMTI_EVENT_BREAKPOINT:Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEvent;
invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetEventNotificationModeFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventMode;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEvent;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
pop
5: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 6 1 vm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
0 6 2 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 6 3 callbacks Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventCallbacks;
0 6 4 options Ljava/lang/String;
MethodParameters:
Name Flags
vm
jvmti
callbacks
options
protected void onVMInitCallback(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 2
1: aload 0
aload 1
checkcast com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11
aload 2
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.openInstrumentationModuleToAllOtherModules:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv11;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
aload 2
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.initializeTrackingSupportHandles:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
3: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.SetEventNotificationMode:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$SetEventNotificationModeFunctionPointer;
aload 1
getstatic com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventMode.JVMTI_ENABLE:Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventMode;
getstatic com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEvent.JVMTI_EVENT_CLASS_PREPARE:Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEvent;
invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetEventNotificationModeFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventMode;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEvent;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
pop
4: aload 0
aload 1
aload 2
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.setConstructorBreakpointsForLoadedClasses:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 6 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 6 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 6 3 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jvmti
jni
thread
private void setConstructorBreakpointsForLoadedClasses(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: ldc Lorg/graalvm/nativeimage/c/type/CIntPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CIntPointer
astore 3
start local 3 1: ldc Lorg/graalvm/nativeimage/c/type/WordPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 4
start local 4 2: invokestatic com.oracle.svm.jvmtiagentbase.Support.jvmtiFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.GetLoadedClasses:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$GetLoadedClassesFunctionPointer;
aload 1
aload 3
aload 4
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetLoadedClassesFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lorg/graalvm/nativeimage/c/type/CIntPointer;Lorg/graalvm/nativeimage/c/type/WordPointer;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
3: aload 4
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 5
start local 5 4: aload 3
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 12
7: StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jni.nativeapi.JNIEnvironment org.graalvm.nativeimage.c.type.CIntPointer org.graalvm.nativeimage.c.type.WordPointer org.graalvm.nativeimage.c.type.WordPointer int int
StackMap stack:
aload 5
iload 7
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
astore 8
start local 8 8: aload 2
aload 8
invokestatic com.oracle.svm.jvmtiagentbase.Support.getClassNameOrNull:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Ljava/lang/String;
astore 9
start local 9 9: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.advisor:Lcom/oracle/svm/hosted/agent/TracingAdvisor;
aload 9
invokevirtual com.oracle.svm.hosted.agent.TracingAdvisor.shouldTraceObjectInstantiation:(Ljava/lang/String;)Z
ifeq 11
10: aload 0
aload 1
aload 2
aload 8
aload 9
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.setConstructorBreakpointsForClass:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)V
end local 9 end local 8 11: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 6
if_icmplt 7
end local 7 13: invokestatic com.oracle.svm.jvmtiagentbase.Support.jvmtiFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.Deallocate:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$DeallocateFunctionPointer;
aload 1
aload 5
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$DeallocateFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lorg/graalvm/word/PointerBase;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
pop
14: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 15 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 15 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
1 15 3 classCountPtr Lorg/graalvm/nativeimage/c/type/CIntPointer;
2 15 4 classesPtr Lorg/graalvm/nativeimage/c/type/WordPointer;
4 15 5 classesArray Lorg/graalvm/nativeimage/c/type/WordPointer;
5 15 6 classCount I
6 13 7 i I
8 11 8 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
9 11 9 className Ljava/lang/String;
MethodParameters:
Name Flags
jvmti
jni
private void onClassPrepareCallback(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokestatic com.oracle.svm.jvmtiagentbase.Support.getClassNameOrNull:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 13
2: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.advisor:Lcom/oracle/svm/hosted/agent/TracingAdvisor;
aload 4
invokevirtual com.oracle.svm.hosted.agent.TracingAdvisor.shouldTraceClassInitialization:(Ljava/lang/String;)Z
ifeq 11
3: aload 1
aload 3
invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.getClassClinitMethodIdOrNull:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
astore 5
start local 5 4: aload 5
invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.notEqual:(Lorg/graalvm/word/ComparableWord;)Z
ifeq 10
5: aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
aload 2
aload 3
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.newTrackedGlobalRef:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 6
start local 6 6: new com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder
dup
aload 6
invokespecial com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder.<init>:(Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
astore 7
start local 7 7: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.clinitClassMap:Ljava/util/Map;
aload 5
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.SetBreakpoint:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$SetBreakpointFunctionPointer;
aload 1
aload 5
lconst_0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetBreakpointFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;J)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
end local 7 end local 6 9: goto 11
10: StackMap locals: java.lang.String com.oracle.svm.jni.nativeapi.JNIMethodId
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Trace class initialization requested for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but the class has not been instrumented with <clinit>."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.advisor:Lcom/oracle/svm/hosted/agent/TracingAdvisor;
aload 4
invokevirtual com.oracle.svm.hosted.agent.TracingAdvisor.shouldTraceObjectInstantiation:(Ljava/lang/String;)Z
ifeq 13
12: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.setConstructorBreakpointsForClass:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 14 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 14 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 14 3 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
1 14 4 className Ljava/lang/String;
4 11 5 clinitMethodId Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
6 9 6 klass Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
7 9 7 classHandleHolder Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$ClassHandleHolder;
MethodParameters:
Name Flags
jvmti
jni
clazz
private void setConstructorBreakpointsForClass(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, java.lang.String);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 3
ldc "<init>"
invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.getClassMethodIdsWithName:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)Ljava/util/List;
astore 5
start local 5 1: aload 5
invokeinterface java.util.List.size:()I
ifeq 10
2: aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
aload 2
aload 3
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.newTrackedGlobalRef:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 6
start local 6 3: new com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder
dup
aload 6
invokespecial com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder.<init>:(Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
astore 7
start local 7 4: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 8
StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jni.nativeapi.JNIEnvironment com.oracle.svm.jni.nativeapi.JNIObjectHandle java.lang.String java.util.List com.oracle.svm.jni.nativeapi.JNIObjectHandle com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder top java.util.Iterator
StackMap stack:
5: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder
astore 8
start local 8 6: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.initClassMap:Ljava/util/Map;
aload 8
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder.methodId:Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.SetBreakpoint:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$SetBreakpointFunctionPointer;
aload 1
aload 8
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder.methodId:Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
lconst_0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetBreakpointFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;J)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
end local 8 8: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 7 end local 6 9: goto 11
10: StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jni.nativeapi.JNIEnvironment com.oracle.svm.jni.nativeapi.JNIObjectHandle java.lang.String java.util.List
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Trace object instantiation requested for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but the class has no constructors."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 12 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 12 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 12 3 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 12 4 className Ljava/lang/String;
1 12 5 initMethodIds Ljava/util/List<Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$MethodIdHolder;>;
3 9 6 klass Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
4 9 7 classHandleHolder Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$ClassHandleHolder;
6 8 8 holder Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$MethodIdHolder;
MethodParameters:
Name Flags
jvmti
jni
clazz
className
private void onBreakpointCallback(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, com.oracle.svm.jni.nativeapi.JNIMethodId);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.clinitClassMap:Ljava/util/Map;
aload 4
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 3
1: aload 0
aload 1
aload 2
aload 4
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handleClinitBreakpoint:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)V
2: goto 8
StackMap locals:
StackMap stack:
3: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.initClassMap:Ljava/util/Map;
aload 4
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 6
4: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handleInitBreakpoint:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
5: goto 8
6: StackMap locals:
StackMap stack:
ldc "Breakpoint hit for a method that isn't tracked in the diagnostics agent. (For developers: have you set a breakpoint in a method that isn't <clinit> or <init>)"
7: invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
8: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 9 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 9 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 9 3 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 9 4 method Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
MethodParameters:
Name Flags
jvmti
jni
thread
method
private void handleClinitBreakpoint(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIMethodId);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.clinitClassMap:Ljava/util/Map;
aload 3
invokeinterface com.oracle.svm.jni.nativeapi.JNIMethodId.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder.clazz:Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 4
start local 4 1: new com.oracle.svm.diagnosticsagent.JavaStackTraceCreator
dup
aload 1
aload 2
invokespecial com.oracle.svm.diagnosticsagent.JavaStackTraceCreator.<init>:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
astore 5
start local 5 2: aload 5
invokevirtual com.oracle.svm.diagnosticsagent.JavaStackTraceCreator.getStackTraceArray:()Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 6
start local 6 3: aload 0
aload 2
aload 4
aload 6
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.reportClassInitialized:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
4: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 5 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 5 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 5 3 method Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
1 5 4 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
2 5 5 stackTraceCreator Lcom/oracle/svm/diagnosticsagent/JavaStackTraceCreator;
3 5 6 threadStackTrace Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jvmti
jni
method
private void handleInitBreakpoint(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc Lorg/graalvm/nativeimage/c/type/WordPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 4
start local 4 1: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.GetLocalInstance:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$GetLocalInstanceFunctionPointer;
aload 1
aload 3
iconst_0
aload 4
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetLocalInstanceFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;ILorg/graalvm/word/PointerBase;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
2: aload 4
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:()Lorg/graalvm/word/WordBase;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
astore 5
start local 5 3: new com.oracle.svm.diagnosticsagent.ObjectInstantiationTraceCreator
dup
aload 1
aload 2
invokespecial com.oracle.svm.diagnosticsagent.ObjectInstantiationTraceCreator.<init>:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
astore 6
start local 6 4: aload 6
invokevirtual com.oracle.svm.diagnosticsagent.ObjectInstantiationTraceCreator.getStackTraceArray:()Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 7
start local 7 5: aload 6
invokevirtual com.oracle.svm.diagnosticsagent.ObjectInstantiationTraceCreator.encounteredObjectInstantiatedReportCall:()Z
ifne 7
6: aload 0
aload 2
aload 5
aload 7
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.reportObjectInstantiated:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
7: StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jni.nativeapi.JNIEnvironment com.oracle.svm.jni.nativeapi.JNIObjectHandle org.graalvm.nativeimage.c.type.WordPointer com.oracle.svm.jni.nativeapi.JNIObjectHandle com.oracle.svm.diagnosticsagent.ObjectInstantiationTraceCreator com.oracle.svm.jni.nativeapi.JNIObjectHandle
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 8 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 8 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 8 3 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
1 8 4 thisPtr Lorg/graalvm/nativeimage/c/type/WordPointer;
3 8 5 thisHandle Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
4 8 6 stackTraceCreator Lcom/oracle/svm/diagnosticsagent/ObjectInstantiationTraceCreator;
5 8 7 threadStackTrace Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jvmti
jni
thread
private static void enableCapabilities(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiCapabilities;
invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
invokestatic org.graalvm.nativeimage.UnmanagedMemory.calloc:(I)Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.jvmtiagentbase.jvmti.JvmtiCapabilities
astore 1
start local 1 1: aload 0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.GetCapabilities:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$CapabilitiesFunctionPointer;
aload 0
aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$CapabilitiesFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiCapabilities;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
2: aload 1
iconst_1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiCapabilities.setCanGenerateBreakpointEvents:(I)V
3: aload 1
iconst_1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiCapabilities.setCanAccessLocalVariables:(I)V
4: aload 0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.AddCapabilities:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$CapabilitiesFunctionPointer;
aload 0
aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$CapabilitiesFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiCapabilities;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
5: aload 1
iconst_1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiCapabilities.setCanGetLineNumbers:(I)V
6: aload 1
iconst_1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiCapabilities.setCanGetSourceFileName:(I)V
7: aload 0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.AddCapabilities:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$CapabilitiesFunctionPointer;
aload 0
aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$CapabilitiesFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiCapabilities;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
pop
8: aload 1
invokestatic org.graalvm.nativeimage.UnmanagedMemory.free:(Lorg/graalvm/word/PointerBase;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
1 10 1 capabilities Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiCapabilities;
MethodParameters:
Name Flags
jvmti
private void openInstrumentationModuleToAllOtherModules(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11, com.oracle.svm.jni.nativeapi.JNIEnvironment);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv11;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
aload 2
ldc "java/lang/Module"
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.findClass:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Ljava/lang/String;)Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
aload 2
aload 3
ldc "getName"
ldc "()Ljava/lang/String;"
iconst_0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.getMethodId:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;Ljava/lang/String;Z)Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: ldc "org.graalvm.nativeimage.impl.clinit"
invokestatic com.oracle.svm.jvmtiagentbase.Support.toCString:(Ljava/lang/String;)Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
astore 7
start local 7 4: ldc Lorg/graalvm/nativeimage/c/type/CIntPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CIntPointer
astore 8
start local 8 5: ldc Lorg/graalvm/nativeimage/c/type/WordPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 9
start local 9 6: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface11;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11.GetAllModules:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface11$GetAllModulesFunctionPointer;
aload 1
aload 8
aload 9
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11$GetAllModulesFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lorg/graalvm/nativeimage/c/type/CIntPointer;Lorg/graalvm/word/PointerBase;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
7: aload 8
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 10
start local 10 8: aload 9
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 11
start local 11 9: invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
astore 12
start local 12 10: iconst_0
istore 13
start local 13 11: goto 20
12: StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11 com.oracle.svm.jni.nativeapi.JNIEnvironment com.oracle.svm.jni.nativeapi.JNIObjectHandle com.oracle.svm.jni.nativeapi.JNIMethodId java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder org.graalvm.nativeimage.c.type.CIntPointer org.graalvm.nativeimage.c.type.WordPointer int org.graalvm.nativeimage.c.type.WordPointer com.oracle.svm.jni.nativeapi.JNIObjectHandle int
StackMap stack:
aload 11
iload 13
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
astore 14
start local 14 13: aload 14
invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
invokeinterface com.oracle.svm.jni.nativeapi.JNIObjectHandle.notEqual:(Lorg/graalvm/word/ComparableWord;)Z
ldc "Unexpected null handle while iterating over modules."
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
14: aload 2
aload 14
aload 4
invokestatic com.oracle.svm.jvmtiagentbase.Support.callObjectMethod:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
astore 15
start local 15 15: aload 2
aload 15
invokestatic com.oracle.svm.jvmtiagentbase.Support.fromJniString:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Ljava/lang/String;
astore 16
start local 16 16: aload 16
ifnull 19
aload 16
ldc "org.graalvm.sdk"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: aload 14
astore 12
18: goto 21
end local 16 end local 15 end local 14 19: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
20: iload 13
iload 10
if_icmplt 12
end local 13 21: StackMap locals:
StackMap stack:
aload 12
invokestatic com.oracle.svm.jni.JNIObjectHandles.nullHandle:()Lorg/graalvm/word/SignedWord;
invokeinterface com.oracle.svm.jni.nativeapi.JNIObjectHandle.notEqual:(Lorg/graalvm/word/ComparableWord;)Z
ldc "The the module name that provides clinit reporting support has changed."
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
22: iconst_0
istore 13
start local 13 23: goto 27
24: StackMap locals: int
StackMap stack:
aload 11
iload 13
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
checkcast com.oracle.svm.jni.nativeapi.JNIObjectHandle
astore 14
start local 14 25: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface11;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11.AddModuleOpens:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface11$AddModuleOpensFunctionPointer;
aload 1
aload 12
aload 7
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.get:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
aload 14
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11$AddModuleOpensFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lorg/graalvm/nativeimage/c/type/CCharPointer;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
end local 14 26: iinc 13 1
StackMap locals:
StackMap stack:
27: iload 13
iload 10
if_icmplt 24
end local 13 28: aload 1
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface11;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11.Deallocate:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$DeallocateFunctionPointer;
aload 1
aload 11
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$DeallocateFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lorg/graalvm/word/PointerBase;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
pop
end local 12 end local 11 end local 10 end local 9 end local 8 29: aload 7
ifnull 35
aload 7
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
goto 35
StackMap locals: com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv11 com.oracle.svm.jni.nativeapi.JNIEnvironment com.oracle.svm.jni.nativeapi.JNIObjectHandle com.oracle.svm.jni.nativeapi.JNIMethodId java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder
StackMap stack: java.lang.Throwable
30: astore 5
aload 7
ifnull 31
aload 7
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
end local 7 StackMap locals:
StackMap stack:
31: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 6
aload 5
ifnonnull 33
aload 6
astore 5
goto 34
StackMap locals:
StackMap stack:
33: aload 5
aload 6
if_acmpeq 34
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 5
athrow
35: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 36 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv11;
0 36 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
1 36 3 moduleClass Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
2 36 4 moduleGetName Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
4 31 7 packageName Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
5 29 8 moduleCountPtr Lorg/graalvm/nativeimage/c/type/CIntPointer;
6 29 9 modulesPtr Lorg/graalvm/nativeimage/c/type/WordPointer;
8 29 10 moduleCount I
9 29 11 modulesArrayPtr Lorg/graalvm/nativeimage/c/type/WordPointer;
10 29 12 clinitTrackingSupportModule Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
11 21 13 i I
13 19 14 module Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
15 19 15 moduleName Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
16 19 16 name Ljava/lang/String;
23 28 13 i I
25 26 14 module Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
Exception table:
from to target type
4 29 30 any
3 32 32 any
MethodParameters:
Name Flags
jvmti
jni
private static java.util.List<com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder> getClassMethodIdsWithName(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIObjectHandle, java.lang.String);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: ldc Lorg/graalvm/nativeimage/c/type/CIntPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CIntPointer
astore 4
start local 4 2: ldc Lorg/graalvm/nativeimage/c/type/WordPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 5
start local 5 3: aload 0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.GetClassMethods:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$GetClassMethodsFunctionPointer;
aload 0
aload 1
aload 4
aload 5
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetClassMethodsFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lorg/graalvm/nativeimage/c/type/CIntPointer;Lorg/graalvm/nativeimage/c/type/WordPointer;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
4: aload 4
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 6
start local 6 5: aload 5
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.nativeimage.c.type.WordPointer
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: goto 13
8: StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jni.nativeapi.JNIObjectHandle java.lang.String java.util.List org.graalvm.nativeimage.c.type.CIntPointer org.graalvm.nativeimage.c.type.WordPointer int org.graalvm.nativeimage.c.type.WordPointer int
StackMap stack:
aload 7
iload 8
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
checkcast com.oracle.svm.jni.nativeapi.JNIMethodId
astore 9
start local 9 9: aload 9
ldc ""
invokestatic com.oracle.svm.jvmtiagentbase.Support.getMethodNameOr:(Lcom/oracle/svm/jni/nativeapi/JNIMethodId;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 10: aload 10
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 3
new com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder
dup
aload 9
invokespecial com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder.<init>:(Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 12: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
13: iload 8
iload 6
if_icmplt 8
end local 8 14: aload 0
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv.getFunctions:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface;
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface.Deallocate:()Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiInterface$DeallocateFunctionPointer;
aload 0
aload 5
invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.PointerBase
invokeinterface com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$DeallocateFunctionPointer.invoke:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lorg/graalvm/word/PointerBase;)Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;
invokestatic com.oracle.svm.jvmtiagentbase.Support.check:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiError;)V
15: aload 3
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 16 1 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 16 2 methodName Ljava/lang/String;
1 16 3 methodIds Ljava/util/List<Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$MethodIdHolder;>;
2 16 4 methodCountPtr Lorg/graalvm/nativeimage/c/type/CIntPointer;
3 16 5 methodsPtr Lorg/graalvm/nativeimage/c/type/WordPointer;
5 16 6 methodCount I
6 16 7 methodsArray Lorg/graalvm/nativeimage/c/type/WordPointer;
7 14 8 i I
9 12 9 methodId Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
10 12 10 currentMethodName Ljava/lang/String;
Signature: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)Ljava/util/List<Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$MethodIdHolder;>;
MethodParameters:
Name Flags
jvmti
clazz
methodName
private static com.oracle.svm.jni.nativeapi.JNIMethodId getClassClinitMethodIdOrNull(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "<clinit>"
invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.getClassMethodIdsWithName:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.size:()I
iconst_2
if_icmpge 2
iconst_1
goto 3
StackMap locals: java.util.List
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic com.oracle.svm.core.util.VMError.guarantee:(Z)V
4: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 5
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder
getfield com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder.methodId:Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
goto 6
StackMap locals:
StackMap stack:
5: invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.jni.nativeapi.JNIMethodId
StackMap locals:
StackMap stack: com.oracle.svm.jni.nativeapi.JNIMethodId
6: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 7 1 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
1 7 2 classMethodIdsWithName Ljava/util/List<Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent$MethodIdHolder;>;
MethodParameters:
Name Flags
jvmti
clazz
private void reportClassInitialized(com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.getClassInitializationTrackingClassHandle:()Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.getReportClassInitializedMethodId:()Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
aload 2
aload 3
invokestatic com.oracle.svm.jvmtiagentbase.Support.callStaticVoidMethodLL:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 2 1 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 2 2 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 2 3 stackTrace Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jni
clazz
stackTrace
private void reportObjectInstantiated(com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.getClassInitializationTrackingClassHandle:()Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
aload 0
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.handles:()Lcom/oracle/svm/jvmtiagentbase/JNIHandleSet;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgentJNIHandleSet.getReportObjectInstantiatedMethodId:()Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
aload 2
aload 3
invokestatic com.oracle.svm.jvmtiagentbase.Support.callStaticVoidMethodLL:(Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 2 1 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 2 2 object Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 2 3 stackTrace Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jni
object
stackTrace
private static void onClassPrepare(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, com.oracle.svm.jni.nativeapi.JNIObjectHandle);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.singleton:()Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
astore 4
start local 4 1: aload 4
aload 0
aload 1
aload 3
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.onClassPrepareCallback:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 3 1 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 3 2 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 3 3 clazz Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
1 3 4 agent Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint()
com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/jvmtiagentbase/AgentIsolate$Prologue;)
MethodParameters:
Name Flags
jvmti
jni
thread
clazz
private static void onBreakpoint(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment, com.oracle.svm.jni.nativeapi.JNIObjectHandle, com.oracle.svm.jni.nativeapi.JNIMethodId, long);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.singleton:()Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase;
checkcast com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
astore 6
start local 6 1: aload 6
aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.onBreakpointCallback:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;Lcom/oracle/svm/jni/nativeapi/JNIMethodId;)V
2: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 3 1 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 3 2 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
0 3 3 method Lcom/oracle/svm/jni/nativeapi/JNIMethodId;
0 3 4 location J
1 3 6 agent Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.c.function.CEntryPoint()
com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/jvmtiagentbase/AgentIsolate$Prologue;)
MethodParameters:
Name Flags
jvmti
jni
thread
method
location
protected int onUnloadCallback(com.oracle.svm.jni.nativeapi.JNIJavaVM);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 1 1 vm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
MethodParameters:
Name Flags
vm
protected void onVMStartCallback(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 1 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 1 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
MethodParameters:
Name Flags
jvmti
jni
protected void onVMDeathCallback(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv, com.oracle.svm.jni.nativeapi.JNIEnvironment);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
0 1 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 1 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
MethodParameters:
Name Flags
jvmti
jni
protected int getRequiredJvmtiVersion();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 2
1: ldc 805896192
ireturn
2: StackMap locals:
StackMap stack:
ldc 805372416
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgent;
static void access$0(com.oracle.svm.jvmtiagentbase.JvmtiAgentBase);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokestatic com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent.registerAgent:(Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase<Lcom/oracle/svm/diagnosticsagent/NativeImageDiagnosticsAgentJNIHandleSet;>;
SourceFile: "NativeImageDiagnosticsAgent.java"
NestMembers:
com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$RegistrationFeature
InnerClasses:
private final ClassHandleHolder = com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$ClassHandleHolder of com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
private final MethodIdHolder = com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$MethodIdHolder of com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
public RegistrationFeature = com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$RegistrationFeature of com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent
public abstract CapabilitiesFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$CapabilitiesFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract DeallocateFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$DeallocateFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract GetClassMethodsFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetClassMethodsFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract GetLoadedClassesFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetLoadedClassesFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract GetLocalInstanceFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$GetLocalInstanceFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract SetBreakpointFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetBreakpointFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract SetEventNotificationModeFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface$SetEventNotificationModeFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface
public abstract AddModuleOpensFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11$AddModuleOpensFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11
public abstract GetAllModulesFunctionPointer = com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11$GetAllModulesFunctionPointer of com.oracle.svm.jvmtiagentbase.jvmti.JvmtiInterface11
public abstract CCharPointerHolder = org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder of org.graalvm.nativeimage.c.type.CTypeConversion