class com.oracle.svm.agent.TraceFileWriter extends com.oracle.svm.agent.TraceWriter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.agent.TraceFileWriter
super_class: com.oracle.svm.agent.TraceWriter
{
private final java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.BufferedWriter writer;
descriptor: Ljava/io/BufferedWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean open;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int written;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.svm.agent.TraceWriter.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.oracle.svm.agent.TraceFileWriter.lock:Ljava/lang/Object;
2: aload 0
iconst_1
putfield com.oracle.svm.agent.TraceFileWriter.open:Z
3: aload 0
iconst_0
putfield com.oracle.svm.agent.TraceFileWriter.written:I
4: aload 0
aload 1
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newBufferedWriter:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;
putfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
5: new com.oracle.svm.configure.json.JsonWriter
dup
aload 0
getfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
invokespecial com.oracle.svm.configure.json.JsonWriter.<init>:(Ljava/io/Writer;)V
astore 2
start local 2 6: aload 2
bipush 91
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
invokevirtual com.oracle.svm.configure.json.JsonWriter.newline:()Lcom/oracle/svm/configure/json/JsonWriter;
pop
7: aload 0
invokevirtual com.oracle.svm.agent.TraceFileWriter.traceInitialization:()V
8: aload 2
invokevirtual com.oracle.svm.configure.json.JsonWriter.flush:()V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/agent/TraceFileWriter;
0 10 1 path Ljava/nio/file/Path;
6 10 2 json Lcom/oracle/svm/configure/json/JsonWriter;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
void traceEntry(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: new com.oracle.svm.configure.json.JsonWriter
dup
aload 2
invokespecial com.oracle.svm.configure.json.JsonWriter.<init>:(Ljava/io/Writer;)V
astore 5
start local 5 3: aload 5
bipush 123
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
4: iconst_1
istore 6
start local 6 5: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: com.oracle.svm.agent.TraceFileWriter java.util.Map java.io.StringWriter java.lang.Throwable java.lang.Throwable com.oracle.svm.configure.json.JsonWriter int top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 7: iload 6
ifne 9
8: aload 5
ldc ", "
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/configure/json/JsonWriter;
pop
9: StackMap locals: com.oracle.svm.agent.TraceFileWriter java.util.Map java.io.StringWriter java.lang.Throwable java.lang.Throwable com.oracle.svm.configure.json.JsonWriter int java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 5
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.oracle.svm.configure.json.JsonWriter.quote:(Ljava/lang/String;)Lcom/oracle/svm/configure/json/JsonWriter;
bipush 58
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
10: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
instanceof java.lang.Object[]
ifeq 13
11: aload 0
aload 5
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Object[]
invokevirtual com.oracle.svm.agent.TraceFileWriter.printArray:(Lcom/oracle/svm/configure/json/JsonWriter;[Ljava/lang/Object;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 5
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual com.oracle.svm.configure.json.JsonWriter.quote:(Ljava/lang/Object;)Lcom/oracle/svm/configure/json/JsonWriter;
pop
14: StackMap locals:
StackMap stack:
iconst_0
istore 6
end local 7 15: StackMap locals: com.oracle.svm.agent.TraceFileWriter java.util.Map java.io.StringWriter java.lang.Throwable java.lang.Throwable com.oracle.svm.configure.json.JsonWriter int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: aload 5
bipush 125
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
end local 6 17: aload 5
ifnull 23
aload 5
invokevirtual com.oracle.svm.configure.json.JsonWriter.close:()V
goto 23
StackMap locals: com.oracle.svm.agent.TraceFileWriter java.util.Map java.io.StringWriter java.lang.Throwable java.lang.Throwable com.oracle.svm.configure.json.JsonWriter
StackMap stack: java.lang.Throwable
18: astore 3
aload 5
ifnull 19
aload 5
invokevirtual com.oracle.svm.configure.json.JsonWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
19: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 4
aload 3
ifnonnull 21
aload 4
astore 3
goto 22
StackMap locals:
StackMap stack:
21: aload 3
aload 4
if_acmpeq 22
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 3
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.agent.TraceFileWriter.traceEntry:(Ljava/lang/String;)V
end local 2 24: goto 27
StackMap locals: com.oracle.svm.agent.TraceFileWriter java.util.Map
StackMap stack: java.io.IOException
25: astore 2
start local 2 26: aload 2
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/svm/agent/TraceFileWriter;
0 28 1 entry Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 24 2 str Ljava/io/StringWriter;
3 19 5 json Lcom/oracle/svm/configure/json/JsonWriter;
5 17 6 first Z
7 15 7 mapEntry Ljava/util/Map$Entry<Ljava/lang/String;*>;
26 27 2 e Ljava/io/IOException;
Exception table:
from to target type
3 17 18 any
2 20 20 any
0 24 25 Class java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
entry
private void printArray(com.oracle.svm.configure.json.JsonWriter, java.lang.Object[]);
descriptor: (Lcom/oracle/svm/configure/json/JsonWriter;[Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 91
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
1: iconst_0
istore 3
start local 3 2: goto 11
3: StackMap locals: int
StackMap stack:
iload 3
ifle 5
4: aload 1
bipush 44
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
5: StackMap locals:
StackMap stack:
aload 2
iload 3
aaload
astore 4
start local 4 6: aload 4
instanceof java.lang.Object[]
ifeq 9
7: aload 0
aload 1
aload 4
checkcast java.lang.Object[]
invokevirtual com.oracle.svm.agent.TraceFileWriter.printArray:(Lcom/oracle/svm/configure/json/JsonWriter;[Ljava/lang/Object;)V
8: goto 10
9: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 2
iload 3
aaload
invokevirtual com.oracle.svm.configure.json.JsonWriter.quote:(Ljava/lang/Object;)Lcom/oracle/svm/configure/json/JsonWriter;
pop
end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 12: aload 1
bipush 93
invokevirtual com.oracle.svm.configure.json.JsonWriter.append:(C)Lcom/oracle/svm/configure/json/JsonWriter;
pop
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/agent/TraceFileWriter;
0 14 1 json Lcom/oracle/svm/configure/json/JsonWriter;
0 14 2 array [Ljava/lang/Object;
2 12 3 i I
6 10 4 obj Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
json
array
private void traceEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.lock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.open:Z
ifeq 6
2: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.written:I
ifle 4
3: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
ldc ",\n"
invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
aload 1
invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
5: aload 0
dup
getfield com.oracle.svm.agent.TraceFileWriter.written:I
iconst_1
iadd
putfield com.oracle.svm.agent.TraceFileWriter.written:I
6: StackMap locals:
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/agent/TraceFileWriter;
0 11 1 s Ljava/lang/String;
Exception table:
from to target type
1 7 8 any
8 9 8 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
ldc "\n]\n"
invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
2: aload 0
getfield com.oracle.svm.agent.TraceFileWriter.writer:Ljava/io/BufferedWriter;
invokevirtual java.io.BufferedWriter.close:()V
3: goto 5
StackMap locals: com.oracle.svm.agent.TraceFileWriter java.lang.Object
StackMap stack: java.io.IOException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.oracle.svm.agent.TraceFileWriter.open:Z
6: aload 1
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/agent/TraceFileWriter;
Exception table:
from to target type
1 3 4 Class java.io.IOException
1 7 8 any
8 9 8 any
}
SourceFile: "TraceFileWriter.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map