public class com.oracle.svm.hosted.image.LIRNativeImageCodeCache extends com.oracle.svm.hosted.image.NativeImageCodeCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.image.LIRNativeImageCodeCache
super_class: com.oracle.svm.hosted.image.NativeImageCodeCache
{
private static final byte CODE_FILLER_BYTE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -52
private int codeCacheSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.hosted.image.LIRNativeImageCodeCache.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.Map<com.oracle.svm.hosted.meta.HostedMethod, org.graalvm.compiler.code.CompilationResult>, com.oracle.svm.hosted.image.NativeImageHeap);
descriptor: (Ljava/util/Map;Lcom/oracle/svm/hosted/image/NativeImageHeap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.oracle.svm.hosted.image.NativeImageCodeCache.<init>:(Ljava/util/Map;Lcom/oracle/svm/hosted/image/NativeImageHeap;)V
1: aload 0
invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
putfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.target:Ljdk/vm/ci/code/TargetDescription;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 3 1 compilations Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Lorg/graalvm/compiler/code/CompilationResult;>;
0 3 2 imageHeap Lcom/oracle/svm/hosted/image/NativeImageHeap;
Signature: (Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Lorg/graalvm/compiler/code/CompilationResult;>;Lcom/oracle/svm/hosted/image/NativeImageHeap;)V
MethodParameters:
Name Flags
compilations
imageHeap
public int getCodeCacheSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.image.LIRNativeImageCodeCache.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
public void layoutMethods(org.graalvm.compiler.debug.DebugContext, java.lang.String, com.oracle.graal.pointsto.BigBang, java.util.concurrent.ForkJoinPool);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Lcom/oracle/graal/pointsto/BigBang;Ljava/util/concurrent/ForkJoinPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
aconst_null
astore 6
1: aload 1
ldc "layout methods"
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 7
start local 7 2: getstatic com.oracle.svm.hosted.image.LIRNativeImageCodeCache.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack:
aconst_null
astore 8
start local 8 4: aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.compilations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 13
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext java.lang.String com.oracle.graal.pointsto.BigBang java.util.concurrent.ForkJoinPool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent com.oracle.svm.hosted.meta.HostedMethod top java.util.Iterator
StackMap stack:
5: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 6: aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedMethod
astore 11
start local 11 7: aload 8
ifnonnull 9
8: aload 11
astore 8
9: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext java.lang.String com.oracle.graal.pointsto.BigBang java.util.concurrent.ForkJoinPool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent com.oracle.svm.hosted.meta.HostedMethod java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod
StackMap stack:
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult
astore 12
start local 12 10: aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.compilationsByStart:Ljava/util/NavigableMap;
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 12
invokeinterface java.util.NavigableMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 11
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.setCodeAddressOffset:(I)V
12: aload 0
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
aload 12
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCodeSize:()I
iadd
invokestatic com.oracle.svm.core.SubstrateOptions.codeAlignment:()I
invokestatic org.graalvm.compiler.core.common.NumUtil.roundUp:(II)I
putfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
end local 12 end local 11 end local 9 13: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext java.lang.String com.oracle.graal.pointsto.BigBang java.util.concurrent.ForkJoinPool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent com.oracle.svm.hosted.meta.HostedMethod top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
14: aload 0
aload 8
invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.codeCacheSize:I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.hosted.image.LIRNativeImageCodeCache.buildRuntimeMetadata:(Lorg/graalvm/nativeimage/c/function/CFunctionPointer;Lorg/graalvm/word/UnsignedWord;)V
end local 8 15: aload 7
ifnull 21
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 21
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext java.lang.String com.oracle.graal.pointsto.BigBang java.util.concurrent.ForkJoinPool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
16: astore 5
aload 7
ifnull 17
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 7 StackMap locals:
StackMap stack:
17: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 6
aload 5
ifnonnull 19
aload 6
astore 5
goto 20
StackMap locals:
StackMap stack:
19: aload 5
aload 6
if_acmpeq 20
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 22 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 22 2 imageName Ljava/lang/String;
0 22 3 bb Lcom/oracle/graal/pointsto/BigBang;
0 22 4 threadPool Ljava/util/concurrent/ForkJoinPool;
2 17 7 indent Lorg/graalvm/compiler/debug/Indent;
4 15 8 firstMethod Lcom/oracle/svm/hosted/meta/HostedMethod;
6 13 9 entry Ljava/util/Map$Entry<Lcom/oracle/svm/hosted/meta/HostedMethod;Lorg/graalvm/compiler/code/CompilationResult;>;
7 13 11 method Lcom/oracle/svm/hosted/meta/HostedMethod;
10 13 12 compilation Lorg/graalvm/compiler/code/CompilationResult;
Exception table:
from to target type
2 15 16 any
1 18 18 any
MethodParameters:
Name Flags
debug
imageName
bb
threadPool
public void patchMethods(org.graalvm.compiler.debug.DebugContext, com.oracle.svm.hosted.image.RelocatableBuffer, com.oracle.objectfile.ObjectFile);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.compilations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 47
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 2: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedMethod
astore 6
start local 6 3: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult
astore 7
start local 7 4: aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getCodeAddressOffset:()I
istore 8
start local 8 5: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
start local 9 6: aconst_null
astore 10
start local 10 7: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getCodeAnnotations:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 22
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int java.util.Map java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
8: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult$CodeAnnotation
astore 11
start local 11 9: aload 11
instanceof com.oracle.svm.hosted.code.HostedPatcher
ifeq 12
10: aload 9
aload 11
invokevirtual org.graalvm.compiler.code.CompilationResult$CodeAnnotation.getPosition:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 11
checkcast com.oracle.svm.hosted.code.HostedPatcher
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: goto 22
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int java.util.Map java.nio.ByteBuffer org.graalvm.compiler.code.CompilationResult$CodeAnnotation java.util.Iterator
StackMap stack:
12: aload 11
instanceof com.oracle.svm.hosted.code.HostedImageHeapConstantPatch
ifeq 22
13: aload 11
checkcast com.oracle.svm.hosted.code.HostedImageHeapConstantPatch
astore 13
start local 13 14: aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.imageHeap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 13
getfield com.oracle.svm.hosted.code.HostedImageHeapConstantPatch.constant:Lcom/oracle/svm/core/meta/SubstrateObjectConstant;
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjectInfo:(Ljava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
astore 14
start local 14 15: aload 14
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getAddress:()J
lstore 15
start local 15 16: aload 10
ifnonnull 18
17: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCode:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getByteOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
astore 10
18: StackMap locals: com.oracle.svm.hosted.code.HostedImageHeapConstantPatch com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo long
StackMap stack:
aload 10
aload 13
invokevirtual com.oracle.svm.hosted.code.HostedImageHeapConstantPatch.getPosition:()I
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 17
start local 17 19: iload 17
i2l
lload 15
ladd
lstore 18
start local 18 20: lload 18
invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
ldc "Image heap size is limited to 2 GByte"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
21: aload 10
aload 13
invokevirtual com.oracle.svm.hosted.code.HostedImageHeapConstantPatch.getPosition:()I
lload 18
l2i
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
end local 18 end local 17 end local 15 end local 14 end local 13 end local 11 22: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int java.util.Map java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
23: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getInfopoints:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 30
StackMap locals:
StackMap stack:
24: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.site.Infopoint
astore 11
start local 11 25: aload 11
instanceof jdk.vm.ci.code.site.Call
ifeq 30
aload 11
checkcast jdk.vm.ci.code.site.Call
getfield jdk.vm.ci.code.site.Call.direct:Z
ifeq 30
26: aload 11
checkcast jdk.vm.ci.code.site.Call
astore 13
start local 13 27: aload 13
getfield jdk.vm.ci.code.site.Call.target:Ljdk/vm/ci/meta/InvokeTarget;
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getCodeAddressOffset:()I
istore 14
start local 14 28: iload 14
iload 8
aload 13
getfield jdk.vm.ci.code.site.Call.pcOffset:I
iadd
isub
istore 15
start local 15 29: aload 9
aload 13
getfield jdk.vm.ci.code.site.Call.pcOffset:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.code.HostedPatcher
aload 13
getfield jdk.vm.ci.code.site.Call.pcOffset:I
iload 15
aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCode:()[B
invokeinterface com.oracle.svm.hosted.code.HostedPatcher.patch:(II[B)V
end local 15 end local 14 end local 13 end local 11 30: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
31: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getDataPatches:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 35
StackMap locals:
StackMap stack:
32: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.site.DataPatch
astore 11
start local 11 33: aload 11
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
astore 13
start local 13 34: aload 9
aload 11
getfield jdk.vm.ci.code.site.DataPatch.pcOffset:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.code.HostedPatcher
aload 13
aload 2
iload 8
invokeinterface com.oracle.svm.hosted.code.HostedPatcher.relocate:(Ljdk/vm/ci/code/site/Reference;Lcom/oracle/svm/hosted/image/RelocatableBuffer;I)V
end local 13 end local 11 35: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
36: aconst_null
astore 11
aconst_null
astore 12
37: aload 1
ldc "After Patching"
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.asJavaMethod:()Ljdk/vm/ci/meta/JavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 13
start local 13 38: aload 1
iconst_1
aload 7
ldc "After patching"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
39: aload 13
ifnull 47
aload 13
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 47
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int java.util.Map java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
40: astore 11
aload 13
ifnull 41
aload 13
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 13 StackMap locals:
StackMap stack:
41: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 12
aload 11
ifnonnull 43
aload 12
astore 11
goto 44
StackMap locals:
StackMap stack:
43: aload 11
aload 12
if_acmpeq 44
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 11
athrow
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int java.util.Map java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
45: astore 11
start local 11 46: aload 11
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 47: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache org.graalvm.compiler.debug.DebugContext com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
48: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 49 1 debug Lorg/graalvm/compiler/debug/DebugContext;
0 49 2 relocs Lcom/oracle/svm/hosted/image/RelocatableBuffer;
0 49 3 objectFile Lcom/oracle/objectfile/ObjectFile;
2 47 4 entry Ljava/util/Map$Entry<Lcom/oracle/svm/hosted/meta/HostedMethod;Lorg/graalvm/compiler/code/CompilationResult;>;
3 47 6 method Lcom/oracle/svm/hosted/meta/HostedMethod;
4 47 7 compilation Lorg/graalvm/compiler/code/CompilationResult;
5 47 8 compStart I
6 47 9 patches Ljava/util/Map<Ljava/lang/Integer;Lcom/oracle/svm/hosted/code/HostedPatcher;>;
7 47 10 targetCode Ljava/nio/ByteBuffer;
9 22 11 codeAnnotation Lorg/graalvm/compiler/code/CompilationResult$CodeAnnotation;
14 22 13 patch Lcom/oracle/svm/hosted/code/HostedImageHeapConstantPatch;
15 22 14 objectInfo Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
16 22 15 objectAddress J
19 22 17 originalValue I
20 22 18 newValue J
25 30 11 infopoint Ljdk/vm/ci/code/site/Infopoint;
27 30 13 call Ljdk/vm/ci/code/site/Call;
28 30 14 callTargetStart I
29 30 15 pcDisplacement I
33 35 11 dataPatch Ljdk/vm/ci/code/site/DataPatch;
34 35 13 ref Ljdk/vm/ci/code/site/Reference;
38 41 13 ds Lorg/graalvm/compiler/debug/DebugContext$Scope;
46 47 11 e Ljava/lang/Throwable;
Exception table:
from to target type
38 39 40 any
37 42 42 any
36 45 45 Class java.lang.Throwable
MethodParameters:
Name Flags
debug
relocs
objectFile
public void writeCode(com.oracle.svm.hosted.image.RelocatableBuffer);
descriptor: (Lcom/oracle/svm/hosted/image/RelocatableBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getByteBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 1: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 2: aload 0
getfield com.oracle.svm.hosted.image.LIRNativeImageCodeCache.compilations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache com.oracle.svm.hosted.image.RelocatableBuffer java.nio.ByteBuffer int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.HostedMethod
astore 6
start local 6 5: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult
astore 7
start local 7 6: aload 2
invokestatic org.graalvm.compiler.serviceprovider.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iload 3
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getCodeAddressOffset:()I
iadd
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
7: aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCodeSize:()I
istore 8
start local 8 8: aload 2
aload 7
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCode:()[B
iconst_0
iload 8
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
9: iload 8
istore 9
start local 9 10: goto 13
11: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache com.oracle.svm.hosted.image.RelocatableBuffer java.nio.ByteBuffer int java.util.Map$Entry java.util.Iterator com.oracle.svm.hosted.meta.HostedMethod org.graalvm.compiler.code.CompilationResult int int
StackMap stack:
aload 2
bipush -52
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
12: iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
iload 8
invokestatic com.oracle.svm.core.SubstrateOptions.codeAlignment:()I
invokestatic org.graalvm.compiler.core.common.NumUtil.roundUp:(II)I
if_icmplt 11
end local 9 end local 8 end local 7 end local 6 end local 4 14: StackMap locals: com.oracle.svm.hosted.image.LIRNativeImageCodeCache com.oracle.svm.hosted.image.RelocatableBuffer java.nio.ByteBuffer int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
15: aload 2
invokestatic org.graalvm.compiler.serviceprovider.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iload 3
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 17 1 buffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
1 17 2 bufferBytes Ljava/nio/ByteBuffer;
2 17 3 startPos I
4 14 4 entry Ljava/util/Map$Entry<Lcom/oracle/svm/hosted/meta/HostedMethod;Lorg/graalvm/compiler/code/CompilationResult;>;
5 14 6 method Lcom/oracle/svm/hosted/meta/HostedMethod;
6 14 7 compilation Lorg/graalvm/compiler/code/CompilationResult;
8 14 8 codeSize I
10 14 9 i I
MethodParameters:
Name Flags
buffer
public com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl getTextSectionImpl(com.oracle.svm.hosted.image.RelocatableBuffer, com.oracle.objectfile.ObjectFile, com.oracle.svm.hosted.image.NativeImageCodeCache);
descriptor: (Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;)Lcom/oracle/svm/hosted/image/NativeBootImage$NativeTextSectionImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.svm.hosted.image.LIRNativeImageCodeCache$1
dup
aload 0
aload 1
aload 2
aload 3
invokespecial com.oracle.svm.hosted.image.LIRNativeImageCodeCache$1.<init>:(Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 1 1 buffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
0 1 2 objectFile Lcom/oracle/objectfile/ObjectFile;
0 1 3 codeCache Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
MethodParameters:
Name Flags
buffer
objectFile
codeCache
public java.util.List<com.oracle.objectfile.ObjectFile$Symbol> getSymbols(com.oracle.objectfile.ObjectFile, boolean);
descriptor: (Lcom/oracle/objectfile/ObjectFile;Z)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
invokeinterface com.oracle.objectfile.SymbolTable.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
astore 3
start local 3 1: iload 2
ifeq 3
2: aload 3
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/objectfile/ObjectFile$Symbol.isGlobal()Z (9 itf)
(Lcom/oracle/objectfile/ObjectFile$Symbol;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
astore 3
3: StackMap locals: java.util.stream.Stream
StackMap stack:
aload 3
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/oracle/objectfile/ObjectFile$Symbol.isDefined()Z (9 itf)
(Lcom/oracle/objectfile/ObjectFile$Symbol;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/image/LIRNativeImageCodeCache;
0 4 1 objectFile Lcom/oracle/objectfile/ObjectFile;
0 4 2 onlyGlobal Z
1 4 3 stream Ljava/util/stream/Stream<Lcom/oracle/objectfile/ObjectFile$Symbol;>;
Signature: (Lcom/oracle/objectfile/ObjectFile;Z)Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Symbol;>;
MethodParameters:
Name Flags
objectFile
onlyGlobal
}
SourceFile: "LIRNativeImageCodeCache.java"
NestMembers:
com.oracle.svm.hosted.image.LIRNativeImageCodeCache$1
InnerClasses:
public abstract Symbol = com.oracle.objectfile.ObjectFile$Symbol of com.oracle.objectfile.ObjectFile
com.oracle.svm.hosted.image.LIRNativeImageCodeCache$1
public abstract NativeTextSectionImpl = com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl of com.oracle.svm.hosted.image.NativeBootImage
public final ObjectInfo = com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo of com.oracle.svm.hosted.image.NativeImageHeap
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 CodeAnnotation = org.graalvm.compiler.code.CompilationResult$CodeAnnotation of org.graalvm.compiler.code.CompilationResult
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext