final class com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader extends com.oracle.truffle.polyglot.InstrumentCache$Loader
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader
super_class: com.oracle.truffle.polyglot.InstrumentCache$Loader
{
static final com.oracle.truffle.polyglot.InstrumentCache$Loader INSTANCE;
descriptor: Lcom/oracle/truffle/polyglot/InstrumentCache$Loader;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader
dup
invokespecial com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader.<init>:()V
putstatic com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader.INSTANCE:Lcom/oracle/truffle/polyglot/InstrumentCache$Loader;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.polyglot.InstrumentCache$Loader.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/polyglot/InstrumentCache$LegacyLoader;
void loadImpl(java.lang.ClassLoader, java.util.List<? super com.oracle.truffle.polyglot.InstrumentCache>, java.util.Set<? super java.lang.String>);
descriptor: (Ljava/lang/ClassLoader;Ljava/util/List;Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "META-INF/truffle/instrument"
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 4
start local 4 1: goto 29
end local 4 StackMap locals:
StackMap stack: java.io.IOException
2: astore 5
start local 5 3: new java.lang.IllegalStateException
dup
ldc "Cannot read list of Truffle instruments"
aload 5
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 4: StackMap locals: java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.net.URL
astore 5
start local 5 5: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 6
start local 6 6: aconst_null
astore 7
aconst_null
astore 8
7: aload 5
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 9
start local 9 8: aload 6
aload 9
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
9: aload 9
ifnull 20
aload 9
invokevirtual java.io.InputStream.close:()V
goto 20
StackMap locals: com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader java.lang.ClassLoader java.util.List java.util.Set java.util.Enumeration java.net.URL java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
10: astore 7
aload 9
ifnull 11
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
11: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 8
aload 7
ifnonnull 13
aload 8
astore 7
goto 14
StackMap locals:
StackMap stack:
13: aload 7
aload 8
if_acmpeq 14
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 7
athrow
end local 6 15: StackMap locals: com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader java.lang.ClassLoader java.util.List java.util.Set java.util.Enumeration java.net.URL
StackMap stack: java.io.IOException
astore 7
start local 7 16: getstatic java.lang.System.err:Ljava/io/PrintStream;
astore 8
start local 8 17: aload 8
new java.lang.StringBuilder
dup
ldc "Cannot process "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " as language definition"
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
18: aload 7
invokevirtual java.io.IOException.printStackTrace:()V
19: goto 29
end local 8 end local 7 start local 6 20: StackMap locals: java.util.Properties
StackMap stack:
iconst_1
istore 7
start local 7 21: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "instrument"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 22: aload 6
new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "className"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 23: aload 9
ifnonnull 25
24: goto 29
25: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 28
26: aload 3
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
27: aload 2
aload 8
aload 6
aload 1
invokestatic com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader.createInstrumentCache:(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Lcom/oracle/truffle/polyglot/InstrumentCache;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 28: StackMap locals:
StackMap stack:
iinc 7 1
goto 21
end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/truffle/polyglot/InstrumentCache$LegacyLoader;
0 31 1 loader Ljava/lang/ClassLoader;
0 31 2 list Ljava/util/List<-Lcom/oracle/truffle/polyglot/InstrumentCache;>;
0 31 3 classNamesUsed Ljava/util/Set<-Ljava/lang/String;>;
1 2 4 en Ljava/util/Enumeration<Ljava/net/URL;>;
4 31 4 en Ljava/util/Enumeration<Ljava/net/URL;>;
3 4 5 ex Ljava/io/IOException;
5 29 5 u Ljava/net/URL;
6 15 6 p Ljava/util/Properties;
20 29 6 p Ljava/util/Properties;
8 11 9 is Ljava/io/InputStream;
16 20 7 ex Ljava/io/IOException;
17 20 8 out Ljava/io/PrintStream;
21 29 7 cnt I
22 28 8 prefix Ljava/lang/String;
23 28 9 className Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.io.IOException
8 9 10 any
7 12 12 any
5 15 15 Class java.io.IOException
Signature: (Ljava/lang/ClassLoader;Ljava/util/List<-Lcom/oracle/truffle/polyglot/InstrumentCache;>;Ljava/util/Set<-Ljava/lang/String;>;)V
MethodParameters:
Name Flags
loader
list
classNamesUsed
private static com.oracle.truffle.polyglot.InstrumentCache createInstrumentCache(java.lang.String, java.util.Properties, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)Lcom/oracle/truffle/polyglot/InstrumentCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "className"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "name"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "version"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 3: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "internal"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 6
start local 6 4: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "id"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 5: aload 7
ifnull 6
aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
6: StackMap locals: java.lang.String java.util.Properties java.lang.ClassLoader java.lang.String java.lang.String java.lang.String int java.lang.String
StackMap stack:
aload 3
invokestatic com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader.defaultId:(Ljava/lang/String;)Ljava/lang/String;
astore 7
7: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 8: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 9
start local 9 9: StackMap locals: int java.util.Set
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "service"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
iinc 8 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 10: aload 1
aload 10
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 11: aload 11
ifnonnull 13
12: goto 15
13: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 9
aload 11
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 14: goto 9
15: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader$LegacyInstrumentReflection
dup
aload 4
aload 2
aload 3
invokespecial com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader$LegacyInstrumentReflection.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)V
astore 10
start local 10 16: new com.oracle.truffle.polyglot.InstrumentCache
dup
aload 7
aload 4
aload 5
aload 3
iload 6
aload 9
aload 10
invokespecial com.oracle.truffle.polyglot.InstrumentCache.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/util/Set;Lcom/oracle/truffle/polyglot/InstrumentCache$InstrumentReflection;)V
areturn
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 17 0 prefix Ljava/lang/String;
0 17 1 info Ljava/util/Properties;
0 17 2 loader Ljava/lang/ClassLoader;
1 17 3 className Ljava/lang/String;
2 17 4 name Ljava/lang/String;
3 17 5 version Ljava/lang/String;
4 17 6 internal Z
5 17 7 id Ljava/lang/String;
8 17 8 servicesCounter I
9 17 9 services Ljava/util/Set<Ljava/lang/String;>;
10 14 10 nth Ljava/lang/String;
11 14 11 serviceName Ljava/lang/String;
16 17 10 reflection Lcom/oracle/truffle/polyglot/InstrumentCache$InstrumentReflection;
MethodParameters:
Name Flags
prefix
info
loader
}
SourceFile: "InstrumentCache.java"
NestHost: com.oracle.truffle.polyglot.InstrumentCache
InnerClasses:
private abstract InstrumentReflection = com.oracle.truffle.polyglot.InstrumentCache$InstrumentReflection of com.oracle.truffle.polyglot.InstrumentCache
private final LegacyLoader = com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader of com.oracle.truffle.polyglot.InstrumentCache
private final LegacyInstrumentReflection = com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader$LegacyInstrumentReflection of com.oracle.truffle.polyglot.InstrumentCache$LegacyLoader
private abstract Loader = com.oracle.truffle.polyglot.InstrumentCache$Loader of com.oracle.truffle.polyglot.InstrumentCache