public class org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.StringBuilder
dup
ldc Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".debug"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: ldc "random flipping of Graal options can cause havoc if Graal is being used as a JIT"
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.assumeGraalIsNotJIT:(Ljava/lang/String;)V
2: invokestatic java.lang.management.ManagementFactory.getThreadMXBean:()Ljava/lang/management/ThreadMXBean;
pop
3: aconst_null
invokestatic javax.management.MBeanServerFactory.findMBeanServer:(Ljava/lang/String;)Ljava/util/ArrayList;
pop
4: goto 7
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest
StackMap stack: java.lang.LinkageError
5: astore 1
start local 1 6: new org.junit.AssumptionViolatedException
dup
new java.lang.StringBuilder
dup
ldc "Management classes/module(s) not available: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.junit.AssumptionViolatedException.<init>:(Ljava/lang/String;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
6 7 1 e Ljava/lang/LinkageError;
Exception table:
from to target type
2 4 5 Class java.lang.UnsatisfiedLinkError
2 4 5 Class java.lang.NoClassDefFoundError
public void registration();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.api.test.Graal.getRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntime
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getManagement:()Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: return
4: StackMap locals: org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration
StackMap stack:
invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
astore 3
start local 3 5: ldc "Now the bean thinks it is registered"
aload 2
iconst_1
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration.poll:(Z)Ljava/lang/Object;
checkcast javax.management.ObjectName
dup
astore 4
start local 4 6: invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
7: ldc "And the bean is found"
aload 3
aload 4
invokeinterface javax.management.MBeanServer.getObjectInstance:(Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
8: 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 Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
1 9 1 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;
2 9 2 management Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
5 9 3 server Ljavax/management/MBeanServer;
6 9 4 name Ljavax/management/ObjectName;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void readBeanInfo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=1
start local 0 0: ldc "Server is started"
invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
1: invokestatic org.graalvm.compiler.api.test.Graal.getRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntime
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getManagement:()Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: return
5: StackMap locals: org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration
StackMap stack:
ldc "Bean is registered"
aload 2
iconst_1
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration.poll:(Z)Ljava/lang/Object;
checkcast javax.management.ObjectName
dup
astore 3
start local 3 6: invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
7: invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
astore 4
start local 4 8: aload 4
aload 3
invokeinterface javax.management.MBeanServer.getObjectInstance:(Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
astore 5
start local 5 9: ldc "Bean is registered"
aload 5
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
10: aload 4
aload 3
invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
astore 6
start local 6 11: ldc "Info is found"
aload 6
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
12: new javax.management.AttributeList
dup
invokespecial javax.management.AttributeList.<init>:()V
astore 7
start local 7 13: new javax.management.AttributeList
dup
invokespecial javax.management.AttributeList.<init>:()V
astore 8
start local 8 14: invokestatic org.graalvm.compiler.options.OptionsParser.getOptionsLoader:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 10
goto 20
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList top java.util.Iterator
StackMap stack:
15: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.options.OptionDescriptors
astore 9
start local 9 16: aload 9
invokeinterface org.graalvm.compiler.options.OptionDescriptors.iterator:()Ljava/util/Iterator;
astore 12
goto 19
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList org.graalvm.compiler.options.OptionDescriptors java.util.Iterator top java.util.Iterator
StackMap stack:
17: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.options.OptionDescriptor
astore 11
start local 11 18: aload 6
aload 3
aload 4
aload 1
aload 11
aload 8
aload 7
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield.testOption:(Ljavax/management/MBeanInfo;Ljavax/management/ObjectName;Ljavax/management/MBeanServer;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;Lorg/graalvm/compiler/options/OptionDescriptor;Ljavax/management/AttributeList;Ljavax/management/AttributeList;)V
end local 11 19: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
end local 9 20: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
21: aload 7
invokevirtual javax.management.AttributeList.size:()I
anewarray java.lang.String
astore 9
start local 9 22: iconst_0
istore 10
start local 10 23: goto 26
24: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList java.lang.String[] int
StackMap stack:
aload 9
iload 10
aload 7
iload 10
invokevirtual javax.management.AttributeList.get:(I)Ljava/lang/Object;
checkcast javax.management.Attribute
invokevirtual javax.management.Attribute.getName:()Ljava/lang/String;
aastore
25: iinc 10 1
StackMap locals:
StackMap stack:
26: iload 10
aload 9
arraylength
if_icmplt 24
end local 10 27: aload 4
aload 3
aload 9
invokeinterface javax.management.MBeanServer.getAttributes:(Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
astore 10
start local 10 28: aload 7
invokevirtual javax.management.AttributeList.size:()I
i2l
aload 10
invokevirtual javax.management.AttributeList.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
29: iconst_0
istore 11
start local 11 30: goto 35
31: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList java.lang.String[] javax.management.AttributeList int
StackMap stack:
aload 7
iload 11
invokevirtual javax.management.AttributeList.get:(I)Ljava/lang/Object;
checkcast javax.management.Attribute
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 32: aload 10
iload 11
invokevirtual javax.management.AttributeList.get:(I)Ljava/lang/Object;
checkcast javax.management.Attribute
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
astore 13
start local 13 33: aload 9
iload 11
aaload
aload 12
aload 13
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 13 end local 12 34: iinc 11 1
StackMap locals:
StackMap stack:
35: iload 11
aload 9
arraylength
if_icmplt 31
end local 11 36: aload 4
aload 3
aload 8
invokeinterface javax.management.MBeanServer.setAttributes:(Ljavax/management/ObjectName;Ljavax/management/AttributeList;)Ljavax/management/AttributeList;
pop
37: goto 41
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.AttributeList javax.management.AttributeList java.lang.String[] javax.management.AttributeList
StackMap stack: java.lang.Throwable
38: astore 11
39: aload 4
aload 3
aload 7
invokeinterface javax.management.MBeanServer.setAttributes:(Ljavax/management/ObjectName;Ljavax/management/AttributeList;)Ljavax/management/AttributeList;
pop
40: aload 11
athrow
41: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 7
invokeinterface javax.management.MBeanServer.setAttributes:(Ljavax/management/ObjectName;Ljavax/management/AttributeList;)Ljavax/management/AttributeList;
pop
42: return
end local 10 end local 9 end local 8 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 43 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
2 43 1 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;
3 43 2 management Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
6 43 3 mbeanName Ljavax/management/ObjectName;
8 43 4 server Ljavax/management/MBeanServer;
9 43 5 bean Ljavax/management/ObjectInstance;
11 43 6 info Ljavax/management/MBeanInfo;
13 43 7 originalValues Ljavax/management/AttributeList;
14 43 8 newValues Ljavax/management/AttributeList;
16 20 9 set Lorg/graalvm/compiler/options/OptionDescriptors;
18 19 11 option Lorg/graalvm/compiler/options/OptionDescriptor;
22 43 9 attributeNames [Ljava/lang/String;
23 27 10 i I
28 43 10 actualValues Ljavax/management/AttributeList;
30 36 11 i I
32 34 12 expect Ljava/lang/Object;
33 34 13 actual Ljava/lang/Object;
Exception table:
from to target type
36 38 38 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.String quotedStringValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.stringValue:(Ljava/lang/Object;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 optionValue Ljava/lang/Object;
MethodParameters:
Name Flags
optionValue
private static java.lang.String unquotedStringValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.stringValue:(Ljava/lang/Object;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 optionValue Ljava/lang/Object;
MethodParameters:
Name Flags
optionValue
private static java.lang.String stringValue(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
iload 1
ifeq 4
3: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 optionValue Ljava/lang/Object;
0 5 1 withQuoting Z
MethodParameters:
Name Flags
optionValue
withQuoting
private static java.lang.String quoted(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/Object;
MethodParameters:
Name Flags
s
public void publicJmxApiOfGraalDumpOperation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=26, args_size=1
start local 0 0: ldc "Server is started"
invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
1: invokestatic org.graalvm.compiler.api.test.Graal.getRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntime
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getManagement:()Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: return
5: StackMap locals: org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration
StackMap stack:
ldc "Bean is registered"
aload 2
iconst_1
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration.poll:(Z)Ljava/lang/Object;
checkcast javax.management.ObjectName
dup
astore 3
start local 3 6: invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
7: invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
astore 4
start local 4 8: ldc "Domain name is used to lookup the beans by VisualVM"
ldc "org.graalvm.compiler.hotspot"
aload 3
invokevirtual javax.management.ObjectName.getDomain:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "type can be used to identify the Graal bean"
ldc "HotSpotGraalRuntime_VM"
aload 3
ldc "type"
invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 4
aload 3
invokeinterface javax.management.MBeanServer.getObjectInstance:(Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
astore 5
start local 5 11: ldc "Bean is registered"
aload 5
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 4
aload 3
invokeinterface javax.management.MBeanServer.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
astore 6
start local 6 13: ldc "Info is found"
aload 6
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
14: aload 6
invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
astore 7
start local 7 15: aconst_null
astore 8
start local 8 16: iconst_0
istore 9
start local 9 17: iconst_0
istore 10
start local 10 18: goto 24
19: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.MBeanOperationInfo[] javax.management.MBeanOperationInfo int int
StackMap stack:
ldc "dumpMethod"
aload 7
iload 10
aaload
invokevirtual javax.management.MBeanOperationInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
20: aload 7
iload 10
aaload
invokevirtual javax.management.MBeanOperationInfo.getSignature:()[Ljavax/management/MBeanParameterInfo;
arraylength
iconst_3
if_icmpne 22
21: aload 7
iload 10
aaload
astore 8
22: StackMap locals:
StackMap stack:
iinc 9 1
23: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
24: iload 10
aload 7
arraylength
if_icmplt 19
end local 10 25: ldc "Currently three overloads"
ldc 3
iload 9
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
26: ldc "three args variant (as used by VisualVM) found"
aload 8
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
27: ldc "DumpPath"
aload 6
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield.findAttributeInfo:(Ljava/lang/String;Ljavax/management/MBeanInfo;)Ljavax/management/MBeanAttributeInfo;
astore 10
start local 10 28: ldc "PrintGraphFile"
aload 6
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield.findAttributeInfo:(Ljava/lang/String;Ljavax/management/MBeanInfo;)Ljavax/management/MBeanAttributeInfo;
astore 11
start local 11 29: ldc "ShowDumpFiles"
aload 6
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield.findAttributeInfo:(Ljava/lang/String;Ljavax/management/MBeanInfo;)Ljavax/management/MBeanAttributeInfo;
astore 12
start local 12 30: ldc "MethodFilter"
aload 6
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield.findAttributeInfo:(Ljava/lang/String;Ljavax/management/MBeanInfo;)Ljavax/management/MBeanAttributeInfo;
astore 13
start local 13 31: aload 4
aload 3
aload 10
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
astore 14
start local 14 32: aload 4
aload 3
aload 11
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
astore 15
start local 15 33: aload 4
aload 3
aload 12
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
astore 16
start local 16 34: aload 4
aload 3
aload 13
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
astore 17
start local 17 35: new java.io.File
dup
new java.lang.StringBuilder
dup
ldc Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 18
start local 18 36: aload 4
aload 3
new javax.management.Attribute
dup
aload 10
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 18
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.quoted:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
37: aload 4
aload 3
new javax.management.Attribute
dup
aload 13
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
ldc ""
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
38: aload 4
aload 3
new javax.management.Attribute
dup
aload 11
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
39: aload 4
aload 3
new javax.management.Attribute
dup
aload 12
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
40: iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "java.util.Arrays"
aastore
dup
iconst_1
ldc "asList"
aastore
dup
iconst_2
ldc ":3"
aastore
astore 19
start local 19 41: aload 4
aload 3
ldc "dumpMethod"
aload 19
aconst_null
invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
pop
42: iconst_0
istore 20
start local 20 43: ldc "[Arrays.asList(Object[])List].bgv"
astore 21
start local 21 44: new java.lang.StringBuilder
dup
aload 18
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " was not created or is not a directory"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 18
invokevirtual java.io.File.isDirectory:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
45: aload 18
invokevirtual java.io.File.list:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 22
start local 22 46: aload 22
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 24
goto 50
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.MBeanOperationInfo[] javax.management.MBeanOperationInfo int javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo java.lang.Object java.lang.Object java.lang.Object java.lang.Object java.io.File java.lang.Object[] int java.lang.String java.util.List top java.util.Iterator
StackMap stack:
47: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 23
start local 23 48: aload 23
aload 21
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 50
49: iconst_1
istore 20
end local 23 50: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
51: iload 20
ifne 64
52: ldc "Expected file ending with \"%s\" in %s but only found:%n%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 21
aastore
dup
iconst_1
aload 18
aastore
dup
iconst_2
53: aload 22
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
aastore
54: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
end local 22 end local 21 end local 20 55: goto 64
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.MBeanOperationInfo[] javax.management.MBeanOperationInfo int javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo java.lang.Object java.lang.Object java.lang.Object java.lang.Object java.io.File java.lang.Object[]
StackMap stack: java.lang.Throwable
56: astore 25
57: aload 18
invokevirtual java.io.File.isDirectory:()Z
ifeq 59
58: aload 18
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.deleteDirectory:(Ljava/nio/file/Path;)V
59: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.MBeanOperationInfo[] javax.management.MBeanOperationInfo int javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo java.lang.Object java.lang.Object java.lang.Object java.lang.Object java.io.File java.lang.Object[] top top top top top java.lang.Throwable
StackMap stack:
aload 4
aload 3
new javax.management.Attribute
dup
aload 10
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 14
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
60: aload 4
aload 3
new javax.management.Attribute
dup
aload 13
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 17
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
61: aload 4
aload 3
new javax.management.Attribute
dup
aload 11
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 15
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
62: aload 4
aload 3
new javax.management.Attribute
dup
aload 12
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 16
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
63: aload 25
athrow
64: StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.HotSpotGraalManagementRegistration javax.management.ObjectName javax.management.MBeanServer javax.management.ObjectInstance javax.management.MBeanInfo javax.management.MBeanOperationInfo[] javax.management.MBeanOperationInfo int javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo javax.management.MBeanAttributeInfo java.lang.Object java.lang.Object java.lang.Object java.lang.Object java.io.File java.lang.Object[]
StackMap stack:
aload 18
invokevirtual java.io.File.isDirectory:()Z
ifeq 66
65: aload 18
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest.deleteDirectory:(Ljava/nio/file/Path;)V
66: StackMap locals:
StackMap stack:
aload 4
aload 3
new javax.management.Attribute
dup
aload 10
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 14
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
67: aload 4
aload 3
new javax.management.Attribute
dup
aload 13
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 17
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
68: aload 4
aload 3
new javax.management.Attribute
dup
aload 11
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 15
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
69: aload 4
aload 3
new javax.management.Attribute
dup
aload 12
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
aload 16
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
70: return
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 71 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest;
2 71 1 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;
3 71 2 management Lorg/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration;
6 71 3 mbeanName Ljavax/management/ObjectName;
8 71 4 server Ljavax/management/MBeanServer;
11 71 5 bean Ljavax/management/ObjectInstance;
13 71 6 info Ljavax/management/MBeanInfo;
15 71 7 arr [Ljavax/management/MBeanOperationInfo;
16 71 8 dumpOp Ljavax/management/MBeanOperationInfo;
17 71 9 dumpMethodCount I
18 25 10 i I
28 71 10 dumpPath Ljavax/management/MBeanAttributeInfo;
29 71 11 printGraphFile Ljavax/management/MBeanAttributeInfo;
30 71 12 showDumpFiles Ljavax/management/MBeanAttributeInfo;
31 71 13 methodFilter Ljavax/management/MBeanAttributeInfo;
32 71 14 originalDumpPath Ljava/lang/Object;
33 71 15 originalPrintGraphFile Ljava/lang/Object;
34 71 16 originalShowDumpFiles Ljava/lang/Object;
35 71 17 originalMethodFilter Ljava/lang/Object;
36 71 18 tmpDir Ljava/io/File;
41 71 19 params [Ljava/lang/Object;
43 55 20 found Z
44 55 21 expectedIgvDumpSuffix Ljava/lang/String;
46 55 22 dumpPathEntries Ljava/util/List<Ljava/lang/String;>;
48 50 23 entry Ljava/lang/String;
Exception table:
from to target type
41 56 56 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
static void deleteDirectory(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.FileVisitOption
invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
invokestatic java.util.Comparator.reverseOrder:()Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/nio/file/Path.toFile()Ljava/io/File; (9 itf)
(Ljava/nio/file/Path;)Ljava/io/File;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/io/File.delete()Z (5)
(Ljava/io/File;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 toDelete Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
toDelete
}
SourceFile: "HotSpotGraalManagementTest.java"
NestMembers:
org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
JunitShield = org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest$JunitShield of org.graalvm.compiler.hotspot.test.HotSpotGraalManagementTest