public final class com.oracle.svm.agent.NativeImageAgent extends com.oracle.svm.jvmtiagentbase.JvmtiAgentBase<com.oracle.svm.agent.NativeImageAgentJNIHandleSet>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.agent.NativeImageAgent
super_class: com.oracle.svm.jvmtiagentbase.JvmtiAgentBase
{
private static final java.lang.String AGENT_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "native-image-agent"
public static final java.lang.String MESSAGE_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "native-image-agent: "
private static final java.util.TimeZone UTC_TIMEZONE;
descriptor: Ljava/util/TimeZone;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.concurrent.ScheduledThreadPoolExecutor periodicConfigWriterExecutor;
descriptor: Ljava/util/concurrent/ScheduledThreadPoolExecutor;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.agent.TraceWriter traceWriter;
descriptor: Lcom/oracle/svm/agent/TraceWriter;
flags: (0x0002) ACC_PRIVATE
private java.nio.file.Path configOutputDirPath;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.configure.trace.AccessAdvisor accessAdvisor;
descriptor: Lcom/oracle/svm/configure/trace/AccessAdvisor;
flags: (0x0002) ACC_PRIVATE
private static final java.util.regex.Pattern propertyBlacklist;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern propertyWhitelist;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_WARNINGS_FOR_WRITING_CONFIGS_FAILURES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static int currentFailuresWritingConfigs;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int MAX_FAILURES_ATOMIC_MOVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static int currentFailuresAtomicMove;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "UTC"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
putstatic com.oracle.svm.agent.NativeImageAgent.UTC_TIMEZONE:Ljava/util/TimeZone;
1: ldc "(java\\..*)|(sun\\..*)|(jvmci\\..*)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic com.oracle.svm.agent.NativeImageAgent.propertyBlacklist:Ljava/util/regex/Pattern;
2: ldc "(java\\.library\\.path)|(java\\.io\\.tmpdir)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic com.oracle.svm.agent.NativeImageAgent.propertyWhitelist:Ljava/util/regex/Pattern;
3: iconst_0
putstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresWritingConfigs:I
4: iconst_0
putstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresAtomicMove:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.svm.jvmtiagentbase.JvmtiAgentBase.<init>:()V
1: aload 0
aconst_null
putfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/agent/NativeImageAgent;
private static java.lang.String getTokenValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 token Ljava/lang/String;
MethodParameters:
Name Flags
token
protected int getRequiredJvmtiVersion();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 805372416
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/agent/NativeImageAgent;
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.agent.NativeImageAgentJNIHandleSet
dup
aload 1
invokespecial com.oracle.svm.agent.NativeImageAgentJNIHandleSet.<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/agent/NativeImageAgent;
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=9, locals=22, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: new com.oracle.svm.configure.config.ConfigurationSet
dup
invokespecial com.oracle.svm.configure.config.ConfigurationSet.<init>:()V
astore 7
start local 7 3: iconst_1
istore 8
start local 8 4: iconst_1
istore 9
start local 9 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 7: iconst_1
istore 12
start local 12 8: iconst_0
istore 13
start local 13 9: iconst_m1
istore 14
start local 14 10: iconst_1
istore 15
start local 15 11: iconst_0
istore 16
start local 16 12: aload 4
invokevirtual java.lang.String.length:()I
ifne 15
13: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: invalid option string. Please read BuildConfiguration.md."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: iconst_1
ireturn
15: StackMap locals: com.oracle.svm.agent.NativeImageAgent com.oracle.svm.jni.nativeapi.JNIJavaVM com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks java.lang.String java.lang.String java.lang.String com.oracle.svm.configure.config.ConfigurationSet int int java.util.List java.util.List int int int int int
StackMap stack:
aload 4
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 90
StackMap locals: com.oracle.svm.agent.NativeImageAgent com.oracle.svm.jni.nativeapi.JNIJavaVM com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks java.lang.String java.lang.String java.lang.String com.oracle.svm.configure.config.ConfigurationSet int int java.util.List java.util.List int int int int int top int int java.lang.String[]
StackMap stack:
16: aload 20
iload 18
aaload
astore 17
start local 17 17: aload 17
ldc "trace-output="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 23
18: aload 5
ifnull 21
19: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: cannot specify trace-output= more than once."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: iconst_1
ireturn
21: StackMap locals: com.oracle.svm.agent.NativeImageAgent com.oracle.svm.jni.nativeapi.JNIJavaVM com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks java.lang.String java.lang.String java.lang.String com.oracle.svm.configure.config.ConfigurationSet int int java.util.List java.util.List int int int int int java.lang.String int int java.lang.String[]
StackMap stack:
aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
astore 5
22: goto 89
StackMap locals:
StackMap stack:
23: aload 17
ldc "config-output-dir="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 24
aload 17
ldc "config-merge-dir="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 31
24: StackMap locals:
StackMap stack:
aload 6
ifnull 27
25: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: cannot specify more than one of config-output-dir= or config-merge-dir=."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: iconst_1
ireturn
27: StackMap locals:
StackMap stack:
aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic com.oracle.svm.agent.NativeImageAgent.transformPath:(Ljava/lang/String;)Ljava/lang/String;
astore 6
28: aload 17
ldc "config-merge-dir="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 89
29: aload 7
aload 6
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.addDirectory:(Ljava/nio/file/Path;)V
30: goto 89
StackMap locals:
StackMap stack:
31: aload 17
ldc "restrict-all-dir"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 32
aload 17
ldc "restrict"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
aload 17
ldc "restrict="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 34
32: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: restrict mode is no longer supported."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
33: goto 89
StackMap locals:
StackMap stack:
34: aload 17
ldc "no-builtin-caller-filter"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
35: iconst_0
istore 8
36: goto 89
StackMap locals:
StackMap stack:
37: aload 17
ldc "builtin-caller-filter="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 40
38: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 8
39: goto 89
StackMap locals:
StackMap stack:
40: aload 17
ldc "no-builtin-heuristic-filter"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
41: iconst_0
istore 9
42: goto 89
StackMap locals:
StackMap stack:
43: aload 17
ldc "builtin-heuristic-filter="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 46
44: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 9
45: goto 89
StackMap locals:
StackMap stack:
46: aload 17
ldc "no-filter"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
47: iconst_0
istore 8
48: iconst_0
istore 9
49: goto 89
StackMap locals:
StackMap stack:
50: aload 17
ldc "no-filter="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 56
51: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 52
iconst_0
goto 53
StackMap locals:
StackMap stack:
52: iconst_1
StackMap locals:
StackMap stack: int
53: istore 8
54: iload 8
istore 9
55: goto 89
StackMap locals:
StackMap stack:
56: aload 17
ldc "caller-filter-file="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 59
57: aload 10
aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
58: goto 89
StackMap locals:
StackMap stack:
59: aload 17
ldc "access-filter-file="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 62
60: aload 11
aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
61: goto 89
StackMap locals:
StackMap stack:
62: aload 17
ldc "experimental-class-loader-support"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 65
63: iconst_1
istore 12
64: goto 89
StackMap locals:
StackMap stack:
65: aload 17
ldc "experimental-class-loader-support="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 68
66: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 12
67: goto 89
StackMap locals:
StackMap stack:
68: aload 17
ldc "config-write-period-secs="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 73
69: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic com.oracle.svm.agent.NativeImageAgent.parseIntegerOrNegative:(Ljava/lang/String;)I
istore 14
70: iload 14
ifgt 89
71: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: config-write-period-secs can only be an integer greater than 0"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
72: iconst_1
ireturn
73: StackMap locals:
StackMap stack:
aload 17
ldc "config-write-initial-delay-secs="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 78
74: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic com.oracle.svm.agent.NativeImageAgent.parseIntegerOrNegative:(Ljava/lang/String;)I
istore 15
75: iload 15
ifge 89
76: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: config-write-initial-delay-secs can only be an integer greater or equal to 0"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: iconst_1
ireturn
78: StackMap locals:
StackMap stack:
aload 17
ldc "write-serialization-checksums="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 81
79: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 16
80: goto 89
StackMap locals:
StackMap stack:
81: aload 17
ldc "build"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 84
82: iconst_1
istore 13
83: goto 89
StackMap locals:
StackMap stack:
84: aload 17
ldc "build="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 87
85: aload 17
invokestatic com.oracle.svm.agent.NativeImageAgent.getTokenValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 13
86: goto 89
87: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: unsupported option: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'. Please read BuildConfiguration.md."
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
88: iconst_1
ireturn
end local 17 89: StackMap locals: com.oracle.svm.agent.NativeImageAgent com.oracle.svm.jni.nativeapi.JNIJavaVM com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks java.lang.String java.lang.String java.lang.String com.oracle.svm.configure.config.ConfigurationSet int int java.util.List java.util.List int int int int int top int int java.lang.String[]
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
90: iload 18
iload 19
if_icmplt 16
91: aload 5
ifnonnull 94
aload 6
ifnonnull 94
iload 13
ifne 94
92: ldc "native-image-agent_config-pid{pid}-{datetime}/"
invokestatic com.oracle.svm.agent.NativeImageAgent.transformPath:(Ljava/lang/String;)Ljava/lang/String;
astore 6
93: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: no output/build options provided, tracking dynamic accesses and writing configuration to directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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
94: StackMap locals: com.oracle.svm.agent.NativeImageAgent com.oracle.svm.jni.nativeapi.JNIJavaVM com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEventCallbacks java.lang.String java.lang.String java.lang.String com.oracle.svm.configure.config.ConfigurationSet int int java.util.List java.util.List int int int int int
StackMap stack:
aconst_null
astore 17
start local 17 95: iload 8
ifne 98
96: invokestatic com.oracle.svm.configure.filters.RuleNode.createRoot:()Lcom/oracle/svm/configure/filters/RuleNode;
astore 17
97: aload 17
ldc "**"
getstatic com.oracle.svm.configure.filters.RuleNode$Inclusion.Include:Lcom/oracle/svm/configure/filters/RuleNode$Inclusion;
invokevirtual com.oracle.svm.configure.filters.RuleNode.addOrGetChildren:(Ljava/lang/String;Lcom/oracle/svm/configure/filters/RuleNode$Inclusion;)V
98: StackMap locals: com.oracle.svm.configure.filters.RuleNode
StackMap stack:
aload 10
invokeinterface java.util.List.isEmpty:()Z
ifne 103
99: aload 17
ifnonnull 101
100: invokestatic com.oracle.svm.configure.trace.AccessAdvisor.copyBuiltinCallerFilterTree:()Lcom/oracle/svm/configure/filters/RuleNode;
astore 17
101: StackMap locals:
StackMap stack:
aload 17
aload 10
invokestatic com.oracle.svm.agent.NativeImageAgent.parseFilterFiles:(Lcom/oracle/svm/configure/filters/RuleNode;Ljava/util/List;)Z
ifne 103
102: iconst_1
ireturn
103: StackMap locals:
StackMap stack:
aconst_null
astore 18
start local 18 104: aload 11
invokeinterface java.util.List.isEmpty:()Z
ifne 108
105: invokestatic com.oracle.svm.configure.trace.AccessAdvisor.copyBuiltinAccessFilterTree:()Lcom/oracle/svm/configure/filters/RuleNode;
astore 18
106: aload 18
aload 11
invokestatic com.oracle.svm.agent.NativeImageAgent.parseFilterFiles:(Lcom/oracle/svm/configure/filters/RuleNode;Ljava/util/List;)Z
ifne 108
107: iconst_1
ireturn
108: StackMap locals: com.oracle.svm.configure.filters.RuleNode
StackMap stack:
aload 6
ifnull 125
109: aload 5
ifnull 112
110: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: can only once specify exactly one of trace-output=, config-output-dir= or config-merge-dir=."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
111: iconst_1
ireturn
112: StackMap locals:
StackMap stack:
aload 0
aload 6
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
113: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 115
114: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
115: StackMap locals:
StackMap stack:
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;
com/oracle/svm/agent/NativeImageAgent.lambda$0(Ljava/io/IOException;)Ljava/lang/Exception; (6)
(Ljava/io/IOException;)Ljava/lang/Exception;
astore 19
start local 19 116: iload 9
aload 17
aload 18
invokestatic com.oracle.svm.agent.NativeImageAgent.createAccessAdvisor:(ZLcom/oracle/svm/configure/filters/RuleNode;Lcom/oracle/svm/configure/filters/RuleNode;)Lcom/oracle/svm/configure/trace/AccessAdvisor;
astore 20
start local 20 117: new com.oracle.svm.configure.trace.TraceProcessor
dup
aload 20
aload 7
aload 19
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.loadJniConfig:(Ljava/util/function/Function;)Lcom/oracle/svm/configure/config/TypeConfiguration;
aload 7
aload 19
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.loadReflectConfig:(Ljava/util/function/Function;)Lcom/oracle/svm/configure/config/TypeConfiguration;
118: aload 7
aload 19
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.loadProxyConfig:(Ljava/util/function/Function;)Lcom/oracle/svm/configure/config/ProxyConfiguration;
aload 7
aload 19
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.loadResourceConfig:(Ljava/util/function/Function;)Lcom/oracle/svm/configure/config/ResourceConfiguration;
aload 7
aload 19
invokevirtual com.oracle.svm.configure.config.ConfigurationSet.loadSerializationConfig:(Ljava/util/function/Function;)Lcom/oracle/svm/configure/config/SerializationConfiguration;
119: invokespecial com.oracle.svm.configure.trace.TraceProcessor.<init>:(Lcom/oracle/svm/configure/trace/AccessAdvisor;Lcom/oracle/svm/configure/config/TypeConfiguration;Lcom/oracle/svm/configure/config/TypeConfiguration;Lcom/oracle/svm/configure/config/ProxyConfiguration;Lcom/oracle/svm/configure/config/ResourceConfiguration;Lcom/oracle/svm/configure/config/SerializationConfiguration;)V
astore 21
start local 21 120: aload 0
new com.oracle.svm.agent.TraceProcessorWriterAdapter
dup
aload 21
invokespecial com.oracle.svm.agent.TraceProcessorWriterAdapter.<init>:(Lcom/oracle/svm/configure/trace/TraceProcessor;)V
putfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
end local 21 end local 20 end local 19 121: goto 132
StackMap locals:
StackMap stack: java.lang.Throwable
122: astore 19
start local 19 123: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
124: iconst_2
ireturn
end local 19 125: StackMap locals:
StackMap stack:
aload 5
ifnull 132
126: aload 5
invokestatic com.oracle.svm.agent.NativeImageAgent.transformPath:(Ljava/lang/String;)Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 19
start local 19 127: aload 0
new com.oracle.svm.agent.TraceFileWriter
dup
aload 19
invokespecial com.oracle.svm.agent.TraceFileWriter.<init>:(Ljava/nio/file/Path;)V
putfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
end local 19 128: goto 132
StackMap locals:
StackMap stack: java.lang.Throwable
129: astore 19
start local 19 130: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
131: iconst_2
ireturn
end local 19 132: StackMap locals:
StackMap stack:
iload 13
ifeq 135
133: aload 2
invokestatic com.oracle.svm.agent.NativeImageAgent.buildImage:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)I
istore 19
start local 19 134: iload 19
invokestatic java.lang.System.exit:(I)V
end local 19 135: StackMap locals:
StackMap stack:
aload 0
iload 9
aload 17
aload 18
invokestatic com.oracle.svm.agent.NativeImageAgent.createAccessAdvisor:(ZLcom/oracle/svm/configure/filters/RuleNode;Lcom/oracle/svm/configure/filters/RuleNode;)Lcom/oracle/svm/configure/trace/AccessAdvisor;
putfield com.oracle.svm.agent.NativeImageAgent.accessAdvisor:Lcom/oracle/svm/configure/trace/AccessAdvisor;
136: aload 2
aload 3
aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
aload 0
iload 12
iload 16
invokestatic com.oracle.svm.agent.BreakpointInterceptor.onLoad:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventCallbacks;Lcom/oracle/svm/agent/TraceWriter;Lcom/oracle/svm/agent/NativeImageAgent;ZZ)V
137: goto 141
StackMap locals:
StackMap stack: java.lang.Throwable
138: astore 19
start local 19 139: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
140: iconst_3
ireturn
end local 19 141: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
aload 0
invokestatic com.oracle.svm.agent.JniCallInterceptor.onLoad:(Lcom/oracle/svm/agent/TraceWriter;Lcom/oracle/svm/agent/NativeImageAgent;)V
142: goto 146
StackMap locals:
StackMap stack: java.lang.Throwable
143: astore 19
start local 19 144: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
145: iconst_4
ireturn
end local 19 146: StackMap locals:
StackMap stack:
aload 0
iload 14
iload 15
invokevirtual com.oracle.svm.agent.NativeImageAgent.setupExecutorServiceForPeriodicConfigurationCapture:(II)V
147: iconst_0
ireturn
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 148 0 this Lcom/oracle/svm/agent/NativeImageAgent;
0 148 1 vm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
0 148 2 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 148 3 callbacks Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEventCallbacks;
0 148 4 options Ljava/lang/String;
1 148 5 traceOutputFile Ljava/lang/String;
2 148 6 configOutputDir Ljava/lang/String;
3 148 7 mergeConfigs Lcom/oracle/svm/configure/config/ConfigurationSet;
4 148 8 builtinCallerFilter Z
5 148 9 builtinHeuristicFilter Z
6 148 10 callerFilterFiles Ljava/util/List<Ljava/lang/String;>;
7 148 11 accessFilterFiles Ljava/util/List<Ljava/lang/String;>;
8 148 12 experimentalClassLoaderSupport Z
9 148 13 build Z
10 148 14 configWritePeriod I
11 148 15 configWritePeriodInitialDelay I
12 148 16 writeSerializationChecksums Z
17 89 17 token Ljava/lang/String;
95 148 17 callerFilter Lcom/oracle/svm/configure/filters/RuleNode;
104 148 18 accessFilter Lcom/oracle/svm/configure/filters/RuleNode;
116 121 19 handler Ljava/util/function/Function<Ljava/io/IOException;Ljava/lang/Exception;>;
117 121 20 advisor Lcom/oracle/svm/configure/trace/AccessAdvisor;
120 121 21 processor Lcom/oracle/svm/configure/trace/TraceProcessor;
123 125 19 t Ljava/lang/Throwable;
127 128 19 path Ljava/nio/file/Path;
130 132 19 t Ljava/lang/Throwable;
134 135 19 status I
139 141 19 t Ljava/lang/Throwable;
144 146 19 t Ljava/lang/Throwable;
Exception table:
from to target type
112 121 122 Class java.lang.Throwable
126 128 129 Class java.lang.Throwable
136 137 138 Class java.lang.Throwable
141 142 143 Class java.lang.Throwable
MethodParameters:
Name Flags
vm
jvmti
callbacks
options
private static com.oracle.svm.configure.trace.AccessAdvisor createAccessAdvisor(boolean, com.oracle.svm.configure.filters.RuleNode, com.oracle.svm.configure.filters.RuleNode);
descriptor: (ZLcom/oracle/svm/configure/filters/RuleNode;Lcom/oracle/svm/configure/filters/RuleNode;)Lcom/oracle/svm/configure/trace/AccessAdvisor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.svm.configure.trace.AccessAdvisor
dup
invokespecial com.oracle.svm.configure.trace.AccessAdvisor.<init>:()V
astore 3
start local 3 1: aload 3
iload 0
invokevirtual com.oracle.svm.configure.trace.AccessAdvisor.setHeuristicsEnabled:(Z)V
2: aload 1
ifnull 4
3: aload 3
aload 1
invokevirtual com.oracle.svm.configure.trace.AccessAdvisor.setCallerFilterTree:(Lcom/oracle/svm/configure/filters/RuleNode;)V
4: StackMap locals: com.oracle.svm.configure.trace.AccessAdvisor
StackMap stack:
aload 2
ifnull 6
5: aload 3
aload 2
invokevirtual com.oracle.svm.configure.trace.AccessAdvisor.setAccessFilterTree:(Lcom/oracle/svm/configure/filters/RuleNode;)V
6: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 builtinHeuristicFilter Z
0 7 1 callerFilter Lcom/oracle/svm/configure/filters/RuleNode;
0 7 2 accessFilter Lcom/oracle/svm/configure/filters/RuleNode;
1 7 3 advisor Lcom/oracle/svm/configure/trace/AccessAdvisor;
MethodParameters:
Name Flags
builtinHeuristicFilter
callerFilter
accessFilter
private static int parseIntegerOrNegative(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 number Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
number
private static boolean parseFilterFiles(com.oracle.svm.configure.filters.RuleNode, java.util.List<java.lang.String>);
descriptor: (Lcom/oracle/svm/configure/filters/RuleNode;Ljava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: com.oracle.svm.configure.filters.RuleNode java.util.List top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aconst_null
astore 4
aconst_null
astore 5
3: new java.io.FileReader
dup
aload 2
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
astore 6
start local 6 4: new com.oracle.svm.configure.filters.FilterConfigurationParser
dup
aload 0
invokespecial com.oracle.svm.configure.filters.FilterConfigurationParser.<init>:(Lcom/oracle/svm/configure/filters/RuleNode;)V
aload 6
invokevirtual com.oracle.svm.configure.filters.FilterConfigurationParser.parseAndRegister:(Ljava/io/Reader;)V
5: aload 6
ifnull 14
aload 6
invokevirtual java.io.Reader.close:()V
goto 14
StackMap locals: com.oracle.svm.configure.filters.RuleNode java.util.List java.lang.String java.util.Iterator java.lang.Throwable java.lang.Throwable java.io.Reader
StackMap stack: java.lang.Throwable
6: astore 4
aload 6
ifnull 7
aload 6
invokevirtual java.io.Reader.close:()V
end local 6 StackMap locals:
StackMap stack:
7: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 5
aload 4
ifnonnull 9
aload 5
astore 4
goto 10
StackMap locals:
StackMap stack:
9: aload 4
aload 5
if_acmpeq 10
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 4
athrow
StackMap locals: com.oracle.svm.configure.filters.RuleNode java.util.List java.lang.String java.util.Iterator
StackMap stack: java.lang.Exception
11: astore 4
start local 4 12: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: cannot parse filter file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: iconst_0
ireturn
end local 4 end local 2 14: StackMap locals: com.oracle.svm.configure.filters.RuleNode java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
15: aload 0
invokevirtual com.oracle.svm.configure.filters.RuleNode.removeRedundantNodes:()V
16: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 filter Lcom/oracle/svm/configure/filters/RuleNode;
0 17 1 filterFiles Ljava/util/List<Ljava/lang/String;>;
2 14 2 path Ljava/lang/String;
4 7 6 reader Ljava/io/Reader;
12 14 4 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 any
3 8 8 any
2 11 11 Class java.lang.Exception
Signature: (Lcom/oracle/svm/configure/filters/RuleNode;Ljava/util/List<Ljava/lang/String;>;)Z
MethodParameters:
Name Flags
filter
filterFiles
private void setupExecutorServiceForPeriodicConfigurationCapture(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ifnull 1
aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpne 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
new java.util.concurrent.ScheduledThreadPoolExecutor
dup
iconst_1
invokedynamic newThread()Ljava/util/concurrent/ThreadFactory;
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/Runnable;)Ljava/lang/Thread;
com/oracle/svm/agent/NativeImageAgent.lambda$1(Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
(Ljava/lang/Runnable;)Ljava/lang/Thread;
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor.<init>:(ILjava/util/concurrent/ThreadFactory;)V
putfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
5: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iconst_1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setRemoveOnCancelPolicy:(Z)V
6: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iconst_0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy:(Z)V
7: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
aload 0
invokedynamic run(Lcom/oracle/svm/agent/NativeImageAgent;)Ljava/lang/Runnable;
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:
()V
com/oracle/svm/agent/NativeImageAgent.writeConfigurationFiles()V (7)
()V
8: iload 2
i2l
iload 1
i2l
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
9: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
pop
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/agent/NativeImageAgent;
0 11 1 writePeriod I
0 11 2 initialDelay I
MethodParameters:
Name Flags
writePeriod
initialDelay
private static int buildImage(com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv);
descriptor: (Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Building native image ..."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
ldc "java.class.path"
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperty:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnonnull 5
3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: build mode could not determine classpath"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: iconst_1
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
ldc "sun.java.command"
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperty:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 6: ldc "native-image-agent: build mode could not determine main class"
astore 3
start local 3 7: aload 2
ifnonnull 10
8: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: iconst_1
ireturn
10: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
ldc " "
invokestatic com.oracle.svm.core.SubstrateUtil.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
astore 4
start local 4 11: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 14
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: iconst_1
ireturn
14: StackMap locals: java.lang.String
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 15: aload 0
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperties:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)[Ljava/lang/String;
astore 6
start local 6 16: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 26
StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
17: aload 10
iload 8
aaload
astore 7
start local 7 18: getstatic com.oracle.svm.agent.NativeImageAgent.propertyWhitelist:Ljava/util/regex/Pattern;
aload 7
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
istore 11
start local 11 19: iload 11
ifne 20
getstatic com.oracle.svm.agent.NativeImageAgent.propertyBlacklist:Ljava/util/regex/Pattern;
aload 7
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 20
iconst_1
goto 21
StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 12
start local 12 22: iload 12
ifeq 24
23: goto 25
24: StackMap locals: int
StackMap stack:
aload 5
new java.lang.StringBuilder
dup
ldc "-D"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 7
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperty:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 7 25: StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
iload 9
if_icmplt 17
27: aload 4
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 30
28: aload 5
ldc "-jar"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: goto 31
30: StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[]
StackMap stack:
aload 5
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "-cp"
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
31: StackMap locals:
StackMap stack:
aload 5
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: aload 5
ldc "native-image-agent.build"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: aload 0
ldc "java.home"
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperty:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Ljava/lang/String;)Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 7
start local 7 34: aload 0
ldc "user.dir"
invokestatic com.oracle.svm.jvmtiagentbase.Support.getSystemProperty:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 35: aload 7
aload 8
ifnonnull 36
aconst_null
goto 37
StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[] java.nio.file.Path java.lang.String
StackMap stack: java.nio.file.Path
36: aload 8
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
StackMap locals: com.oracle.svm.jvmtiagentbase.jvmti.JvmtiEnv java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String[] java.nio.file.Path java.lang.String
StackMap stack: java.nio.file.Path java.nio.file.Path
37: aload 5
invokestatic com.oracle.svm.driver.NativeImage.agentBuild:(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/util/List;)V
38: iconst_0
ireturn
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 39 0 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
2 39 1 classpath Ljava/lang/String;
6 39 2 javaCommand Ljava/lang/String;
7 39 3 mainClassMissing Ljava/lang/String;
11 39 4 mainClass Ljava/lang/String;
15 39 5 buildArgs Ljava/util/List<Ljava/lang/String;>;
16 39 6 keys [Ljava/lang/String;
18 25 7 key Ljava/lang/String;
19 25 11 whitelisted Z
22 25 12 blacklisted Z
34 39 7 javaHome Ljava/nio/file/Path;
35 39 8 userDirStr Ljava/lang/String;
MethodParameters:
Name Flags
jvmti
private static java.lang.String transformPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 1
ldc "{pid}"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 3
2: aload 1
ldc "{pid}"
invokestatic org.graalvm.nativeimage.ProcessProperties.getProcessID:()J
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "{datetime}"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
4: new java.text.SimpleDateFormat
dup
ldc "yyyyMMdd'T'HHmmss'Z'"
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 5: aload 2
getstatic com.oracle.svm.agent.NativeImageAgent.UTC_TIMEZONE:Ljava/util/TimeZone;
invokevirtual java.text.DateFormat.setTimeZone:(Ljava/util/TimeZone;)V
6: aload 1
ldc "{datetime}"
aload 2
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.text.DateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 1
end local 2 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 path Ljava/lang/String;
1 8 1 result Ljava/lang/String;
5 7 2 fmt Ljava/text/DateFormat;
MethodParameters:
Name Flags
path
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=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.accessAdvisor:Lcom/oracle/svm/configure/trace/AccessAdvisor;
iconst_1
invokevirtual com.oracle.svm.configure.trace.AccessAdvisor.setInLivePhase:(Z)V
1: aload 1
aload 2
invokestatic com.oracle.svm.agent.BreakpointInterceptor.onVMInit:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;)V
2: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ifnull 4
3: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ldc "live"
invokevirtual com.oracle.svm.agent.TraceWriter.tracePhaseChange:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
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/agent/NativeImageAgent;
0 5 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 5 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
0 5 3 thread Lcom/oracle/svm/jni/nativeapi/JNIObjectHandle;
MethodParameters:
Name Flags
jvmti
jni
thread
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=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.svm.agent.JniCallInterceptor.onVMStart:(Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;)V
1: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ifnull 3
2: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ldc "start"
invokevirtual com.oracle.svm.agent.TraceWriter.tracePhaseChange:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/agent/NativeImageAgent;
0 4 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 4 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=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.accessAdvisor:Lcom/oracle/svm/configure/trace/AccessAdvisor;
iconst_0
invokevirtual com.oracle.svm.configure.trace.AccessAdvisor.setInLivePhase:(Z)V
1: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ifnull 3
2: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ldc "dead"
invokevirtual com.oracle.svm.agent.TraceWriter.tracePhaseChange:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/agent/NativeImageAgent;
0 4 1 jvmti Lcom/oracle/svm/jvmtiagentbase/jvmti/JvmtiEnv;
0 4 2 jni Lcom/oracle/svm/jni/nativeapi/JNIEnvironment;
MethodParameters:
Name Flags
jvmti
jni
private void writeConfigurationFiles();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 2
1: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
ldc "tempConfig-"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createTempDirectory:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
goto 3
2: StackMap locals:
StackMap stack:
ldc "tempConfig-"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createTempDirectory:(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
3: StackMap locals:
StackMap stack: java.nio.file.Path
astore 1
start local 1 4: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
checkcast com.oracle.svm.agent.TraceProcessorWriterAdapter
invokevirtual com.oracle.svm.agent.TraceProcessorWriterAdapter.getProcessor:()Lcom/oracle/svm/configure/trace/TraceProcessor;
astore 2
start local 2 5: new java.util.HashMap
dup
iconst_4
invokespecial java.util.HashMap.<init>:(I)V
astore 3
start local 3 6: aload 3
ldc "reflect-config.json"
aload 2
invokevirtual com.oracle.svm.configure.trace.TraceProcessor.getReflectionConfiguration:()Lcom/oracle/svm/configure/config/TypeConfiguration;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 3
ldc "jni-config.json"
aload 2
invokevirtual com.oracle.svm.configure.trace.TraceProcessor.getJniConfiguration:()Lcom/oracle/svm/configure/config/TypeConfiguration;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
ldc "proxy-config.json"
aload 2
invokevirtual com.oracle.svm.configure.trace.TraceProcessor.getProxyConfiguration:()Lcom/oracle/svm/configure/config/ProxyConfiguration;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 3
ldc "resource-config.json"
aload 2
invokevirtual com.oracle.svm.configure.trace.TraceProcessor.getResourceConfiguration:()Lcom/oracle/svm/configure/config/ResourceConfiguration;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 3
ldc "serialization-config.json"
aload 2
invokevirtual com.oracle.svm.configure.trace.TraceProcessor.getSerializationConfiguration:()Lcom/oracle/svm/configure/config/SerializationConfiguration;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: com.oracle.svm.agent.NativeImageAgent java.nio.file.Path com.oracle.svm.configure.trace.TraceProcessor java.util.Map top java.util.Iterator
StackMap stack:
12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 13: aload 1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 14: aconst_null
astore 7
aconst_null
astore 8
15: new com.oracle.svm.configure.json.JsonWriter
dup
aload 6
iconst_0
anewarray java.nio.file.OpenOption
invokespecial com.oracle.svm.configure.json.JsonWriter.<init>:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)V
astore 9
start local 9 16: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.svm.configure.json.JsonPrintable
aload 9
invokeinterface com.oracle.svm.configure.json.JsonPrintable.printJson:(Lcom/oracle/svm/configure/json/JsonWriter;)V
17: aload 9
ifnull 23
aload 9
invokevirtual com.oracle.svm.configure.json.JsonWriter.close:()V
goto 23
StackMap locals: com.oracle.svm.agent.NativeImageAgent java.nio.file.Path com.oracle.svm.configure.trace.TraceProcessor java.util.Map java.util.Map$Entry java.util.Iterator java.nio.file.Path java.lang.Throwable java.lang.Throwable com.oracle.svm.configure.json.JsonWriter
StackMap stack: java.lang.Throwable
18: astore 7
aload 9
ifnull 19
aload 9
invokevirtual com.oracle.svm.configure.json.JsonWriter.close:()V
end local 9 StackMap locals:
StackMap stack:
19: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 8
aload 7
ifnonnull 21
aload 8
astore 7
goto 22
StackMap locals:
StackMap stack:
21: aload 7
aload 8
if_acmpeq 22
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 7
athrow
end local 6 end local 4 23: StackMap locals: com.oracle.svm.agent.NativeImageAgent java.nio.file.Path com.oracle.svm.configure.trace.TraceProcessor java.util.Map top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
24: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 29
StackMap locals:
StackMap stack:
25: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 26: aload 1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 27: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 7
start local 7 28: aload 6
aload 7
invokestatic com.oracle.svm.agent.NativeImageAgent.tryAtomicMove:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
end local 7 end local 6 end local 4 29: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
30: aload 1
invokestatic com.oracle.svm.agent.NativeImageAgent.compulsoryDelete:(Ljava/nio/file/Path;)V
end local 3 end local 2 end local 1 31: goto 36
StackMap locals: com.oracle.svm.agent.NativeImageAgent
StackMap stack: java.io.IOException
32: astore 1
start local 1 33: getstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresWritingConfigs:I
dup
iconst_1
iadd
putstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresWritingConfigs:I
iconst_5
34: new java.lang.StringBuilder
dup
ldc "native-image-agent: error when writing configuration files: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokestatic com.oracle.svm.agent.NativeImageAgent.printUpToLimit:(IILjava/lang/String;)V
end local 1 36: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/oracle/svm/agent/NativeImageAgent;
4 31 1 tempDirectory Ljava/nio/file/Path;
5 31 2 p Lcom/oracle/svm/configure/trace/TraceProcessor;
6 31 3 allConfigFiles Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/configure/json/JsonPrintable;>;
13 23 4 configFile Ljava/util/Map$Entry<Ljava/lang/String;Lcom/oracle/svm/configure/json/JsonPrintable;>;
14 23 6 tempPath Ljava/nio/file/Path;
16 19 9 writer Lcom/oracle/svm/configure/json/JsonWriter;
26 29 4 configFile Ljava/util/Map$Entry<Ljava/lang/String;Lcom/oracle/svm/configure/json/JsonPrintable;>;
27 29 6 source Ljava/nio/file/Path;
28 29 7 target Ljava/nio/file/Path;
33 36 1 e Ljava/io/IOException;
Exception table:
from to target type
16 17 18 any
15 20 20 any
0 31 32 Class java.io.IOException
private static void compulsoryDelete(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 1
3: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 4
aload 0
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.delete:()Z
ifne 4
iload 1
iconst_3
if_icmplt 2
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 pathToDelete Ljava/nio/file/Path;
1 5 1 retries I
MethodParameters:
Name Flags
pathToDelete
private static void printUpToLimit(int, int, java.lang.String);
descriptor: (IILjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
if_icmpge 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
iload 0
iload 1
if_icmpne 6
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "native-image-agent: WARNING: The above failure will be silenced, and will no longer be reported"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 currentCount I
0 7 1 limit I
0 7 2 message Ljava/lang/String;
MethodParameters:
Name Flags
currentCount
limit
message
private static void tryAtomicMove(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_2
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
1: goto 9
StackMap locals:
StackMap stack: java.nio.file.AtomicMoveNotSupportedException
2: pop
3: getstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresAtomicMove:I
dup
iconst_1
iadd
putstatic com.oracle.svm.agent.NativeImageAgent.currentFailuresAtomicMove:I
bipush 20
4: ldc "native-image-agent: : Could not move temporary configuration profile from (%s) to (%s) atomically. This might result in inconsistencies."
iconst_2
anewarray java.lang.Object
dup
iconst_0
5: aload 0
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
aastore
dup
iconst_1
aload 1
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
aastore
6: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
7: invokestatic com.oracle.svm.agent.NativeImageAgent.printUpToLimit:(IILjava/lang/String;)V
8: aload 0
aload 1
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 source Ljava/nio/file/Path;
0 10 1 target Ljava/nio/file/Path;
Exception table:
from to target type
0 1 2 Class java.nio.file.AtomicMoveNotSupportedException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
target final
protected int onUnloadCallback(com.oracle.svm.jni.nativeapi.JNIJavaVM);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
ifnull 6
1: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdown:()V
2: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
ldc 300
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
pop
3: goto 6
StackMap locals:
StackMap stack: java.lang.InterruptedException
4: pop
5: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.periodicConfigWriterExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdownNow:()Ljava/util/List;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ifnull 13
7: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
ldc "unload"
invokevirtual com.oracle.svm.agent.TraceWriter.tracePhaseChange:(Ljava/lang/String;)V
8: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
invokevirtual com.oracle.svm.agent.TraceWriter.close:()V
9: aload 0
getfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
ifnull 12
10: aload 0
invokevirtual com.oracle.svm.agent.NativeImageAgent.writeConfigurationFiles:()V
11: aload 0
aconst_null
putfield com.oracle.svm.agent.NativeImageAgent.configOutputDirPath:Ljava/nio/file/Path;
12: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.oracle.svm.agent.NativeImageAgent.traceWriter:Lcom/oracle/svm/agent/TraceWriter;
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/agent/NativeImageAgent;
0 14 1 vm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
MethodParameters:
Name Flags
vm
private static void cleanupOnUnload(com.oracle.svm.jni.nativeapi.JNIJavaVM);
descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.agent.JniCallInterceptor.onUnload:()V
1: invokestatic com.oracle.svm.agent.BreakpointInterceptor.onUnload:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 vm Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
MethodParameters:
Name Flags
vm
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.agent.NativeImageAgent.registerAgent:(Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Exception lambda$0(java.io.IOException);
descriptor: (Ljava/io/IOException;)Ljava/lang/Exception;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.nio.file.NoSuchFileException
ifeq 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "native-image-agent: warning: file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
checkcast java.nio.file.NoSuchFileException
invokevirtual java.nio.file.NoSuchFileException.getFile:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for merging could not be found, skipping"
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
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Ljava/io/IOException;
private static java.lang.Thread lambda$1(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.Thread
dup
aload 0
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 1
start local 1 1: aload 1
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
2: aload 1
ldc "AgentConfigurationsPeriodicWriter"
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 r Ljava/lang/Runnable;
1 4 1 workerThread Ljava/lang/Thread;
}
Signature: Lcom/oracle/svm/jvmtiagentbase/JvmtiAgentBase<Lcom/oracle/svm/agent/NativeImageAgentJNIHandleSet;>;
SourceFile: "NativeImageAgent.java"
NestMembers:
com.oracle.svm.agent.NativeImageAgent$RegistrationFeature
InnerClasses:
public RegistrationFeature = com.oracle.svm.agent.NativeImageAgent$RegistrationFeature of com.oracle.svm.agent.NativeImageAgent
public final Inclusion = com.oracle.svm.configure.filters.RuleNode$Inclusion of com.oracle.svm.configure.filters.RuleNode
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map