public class com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature implements org.graalvm.nativeimage.hosted.Feature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature
super_class: java.lang.Object
{
private com.oracle.svm.hosted.classinitialization.ClassInitializationSupport classInitialization;
descriptor: Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] disallowedSubstrings;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<byte[], java.nio.charset.Charset> disallowedByteSubstrings;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<[BLjava/nio/charset/Charset;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;
public java.util.List<java.lang.Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/svm/core/jdk/management/ManagementFeature;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;
public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
invokevirtual com.oracle.svm.hosted.SVMHost.getClassInitializationSupport:()Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
putfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.classInitialization:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
1: aload 1
aload 0
invokedynamic apply(Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;)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/hosted/image/DisallowedImageHeapObjectFeature.replacer(Ljava/lang/Object;)Ljava/lang/Object; (7)
(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess.registerObjectReplacer:(Ljava/util/function/Function;)V
2: getstatic com.oracle.svm.core.SubstrateOptions.DetectUserDirectoriesInImageHeap:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 23
3: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
4: ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
5: ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_2
6: ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
aastore
7: putfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedSubstrings:[Ljava/lang/String;
8: new java.util.HashSet
dup
iconst_3
anewarray java.nio.charset.Charset
dup
iconst_0
9: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
aastore
dup
iconst_1
10: getstatic java.nio.charset.StandardCharsets.UTF_16:Ljava/nio/charset/Charset;
aastore
dup
iconst_2
11: ldc "sun.jnu.encoding"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
aastore
12: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 13: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedByteSubstrings:Ljava/util/Map;
14: iconst_0
istore 4
start local 4 15: goto 22
16: StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess top java.util.Set int
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedSubstrings:[Ljava/lang/String;
iload 4
aaload
astore 5
start local 5 17: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 20
StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess top java.util.Set int java.lang.String top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.charset.Charset
astore 6
start local 6 19: aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedByteSubstrings:Ljava/util/Map;
aload 5
aload 6
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 20: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 5 21: iinc 4 1
StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess top java.util.Set int
StackMap stack:
22: iload 4
aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedSubstrings:[Ljava/lang/String;
arraylength
if_icmplt 16
end local 4 end local 3 23: StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;
0 24 1 access Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
13 23 3 encodings Ljava/util/Set<Ljava/nio/charset/Charset;>;
15 23 4 i I
17 21 5 s Ljava/lang/String;
19 20 6 encoding Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
access
private java.lang.Object replacer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Thread
ifeq 2
aload 1
instanceof com.oracle.svm.util.ImageGeneratorThreadMarker
ifeq 2
1: aload 1
checkcast com.oracle.svm.util.ImageGeneratorThreadMarker
invokeinterface com.oracle.svm.util.ImageGeneratorThreadMarker.asTerminated:()Ljava/lang/Thread;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.checkDisallowedMBeanObjects:(Ljava/lang/Object;)V
3: aload 1
instanceof java.lang.String
ifeq 15
aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedSubstrings:[Ljava/lang/String;
ifnull 15
4: aload 1
checkcast java.lang.String
astore 2
start local 2 5: aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedSubstrings:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature java.lang.Object java.lang.String top int int java.lang.String[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 2
aload 3
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 13
8: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
new java.lang.StringBuilder
dup
ldc "Detected a string in the image heap that contains a user directory. This means that file system information from the native image build is persisted and available at image runtime, which is most likely an error."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "String that is problematic: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "Disallowed substring with user directory: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "This check can be disabled using the option "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.oracle.svm.core.SubstrateOptions.DetectUserDirectoriesInImageHeap:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "-"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;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;
12: invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 6
end local 2 15: StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature java.lang.Object
StackMap stack:
aload 1
instanceof byte[]
ifeq 28
aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedByteSubstrings:Ljava/util/Map;
ifnull 28
16: aload 1
checkcast byte[]
astore 2
start local 2 17: aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.disallowedByteSubstrings:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 27
StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature java.lang.Object byte[] top java.util.Iterator
StackMap stack:
18: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 19: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast byte[]
astore 5
start local 5 20: aload 2
aload 5
invokestatic com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.search:([B[B)Z
ifeq 27
21: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.nio.charset.Charset
astore 6
start local 6 22: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
new java.lang.StringBuilder
dup
ldc "Detected a byte[] in the image heap that contains a user directory. This means that file system information from the native image build is persisted and available at image runtime, which is most likely an error."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "byte[] that is problematic: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 2
aload 6
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "Disallowed substring with user directory: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
new java.lang.String
dup
aload 5
aload 6
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "This check can be disabled using the option "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.oracle.svm.core.SubstrateOptions.DetectUserDirectoriesInImageHeap:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "-"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;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;
26: invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 3 27: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 2 28: StackMap locals: com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature java.lang.Object
StackMap stack:
aload 1
aload 0
invokedynamic raise(Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;)Lcom/oracle/svm/core/image/DisallowedImageHeapObjects$DisallowedObjectReporter;
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/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
com/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature.error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException; (7)
(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
invokestatic com.oracle.svm.core.image.DisallowedImageHeapObjects.check:(Ljava/lang/Object;Lcom/oracle/svm/core/image/DisallowedImageHeapObjects$DisallowedObjectReporter;)V
29: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;
0 30 1 original Ljava/lang/Object;
5 15 2 string Ljava/lang/String;
7 13 3 disallowedSubstring Ljava/lang/String;
17 28 2 bytes [B
19 27 3 entry Ljava/util/Map$Entry<[BLjava/nio/charset/Charset;>;
20 27 5 disallowedSubstring [B
22 27 6 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
original
private void checkDisallowedMBeanObjects(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.management.MBeanServerConnection
ifeq 5
1: aload 0
new java.lang.StringBuilder
dup
ldc "Detected a MBean server in the image heap. This is currently not supported, but could be changed in the future. Management beans are registered in many global caches that would need to be cleared and properly re-built at image build time. Class of disallowed object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: aload 1
ldc "Try to avoid initializing the class that stores a MBean server or a MBean in a static field"
4: invokevirtual com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
5: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.management.PlatformManagedObject
ifeq 10
invokestatic com.oracle.svm.core.jdk.management.ManagementSupport.getSingleton:()Lcom/oracle/svm/core/jdk/management/ManagementSupport;
aload 1
checkcast java.lang.management.PlatformManagedObject
invokevirtual com.oracle.svm.core.jdk.management.ManagementSupport.isAllowedPlatformManagedObject:(Ljava/lang/management/PlatformManagedObject;)Z
ifne 10
6: aload 0
new java.lang.StringBuilder
dup
ldc "Detected a PlatformManagedObject (a MXBean defined by the virtual machine) in the image heap. This bean is introspecting the VM that runs the image builder, i.e., a VM instance that is no longer available at image runtime. Class of disallowed object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: aload 1
ldc "Try to avoid initializing the class that stores the object in a static field"
9: invokevirtual com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
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/hosted/image/DisallowedImageHeapObjectFeature;
0 11 1 original Ljava/lang/Object;
MethodParameters:
Name Flags
original
private java.lang.RuntimeException error(java.lang.String, java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/RuntimeException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.svm.hosted.image.DisallowedImageHeapObjectFeature.classInitialization:Lcom/oracle/svm/hosted/classinitialization/ClassInitializationSupport;
aload 2
aload 3
invokeinterface com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.objectInstantiationTraceMessage:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc "The object was probably created by a class initializer and is reachable from a static field. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "You can request class initialization at image runtime by using the option "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: getstatic com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options.ClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
ldc "<class-name>"
ldc "initialize-at-run-time"
invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "Or you can write your own initialization methods and call them explicitly from your main entry point."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/image/DisallowedImageHeapObjectFeature;
0 6 1 msg Ljava/lang/String;
0 6 2 obj Ljava/lang/Object;
0 6 3 initializerAction Ljava/lang/String;
MethodParameters:
Name Flags
msg
obj
initializerAction
private static boolean search(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
baload
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 15
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
baload
iload 2
if_icmpne 14
4: iconst_1
istore 4
start local 4 5: iconst_1
istore 5
start local 5 6: goto 11
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
iload 5
iadd
baload
aload 1
iload 5
baload
if_icmpeq 10
8: iconst_0
istore 4
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 1
arraylength
if_icmplt 7
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ifeq 14
13: iconst_1
ireturn
end local 4 14: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 0
arraylength
aload 1
arraylength
isub
if_icmplt 3
end local 3 16: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 haystack [B
0 17 1 needle [B
1 17 2 first B
2 16 3 start I
5 14 4 same Z
6 12 5 i I
MethodParameters:
Name Flags
haystack
needle
}
SourceFile: "DisallowedImageHeapObjectFeature.java"
InnerClasses:
public abstract DisallowedObjectReporter = com.oracle.svm.core.image.DisallowedImageHeapObjects$DisallowedObjectReporter of com.oracle.svm.core.image.DisallowedImageHeapObjects
public DuringSetupAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl of com.oracle.svm.hosted.FeatureImpl
public Options = com.oracle.svm.hosted.classinitialization.ClassInitializationFeature$Options of com.oracle.svm.hosted.classinitialization.ClassInitializationFeature
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AutomaticFeature()