final class jdk.tools.jaotc.MetadataBuilder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jaotc.MetadataBuilder
super_class: java.lang.Object
{
private final jdk.tools.jaotc.DataBuilder dataBuilder;
descriptor: Ljdk/tools/jaotc/DataBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.BinaryContainer binaryContainer;
descriptor: Ljdk/tools/jaotc/binformat/BinaryContainer;
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 Ljdk/tools/jaotc/MetadataBuilder;
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 jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.tools.jaotc.DataBuilder);
descriptor: (Ljdk/tools/jaotc/DataBuilder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
2: aload 0
aload 1
invokevirtual jdk.tools.jaotc.DataBuilder.getBinaryContainer:()Ljdk/tools/jaotc/binformat/BinaryContainer;
putfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 4 1 dataBuilder Ljdk/tools/jaotc/DataBuilder;
MethodParameters:
Name Flags
dataBuilder
void processMetadata(java.util.List<jdk.tools.jaotc.AOTCompiledClass>, jdk.tools.jaotc.AOTCompiledClass);
descriptor: (Ljava/util/List;Ljdk/tools/jaotc/AOTCompiledClass;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: jdk.tools.jaotc.MetadataBuilder java.util.List jdk.tools.jaotc.AOTCompiledClass top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.AOTCompiledClass
astore 3
start local 3 2: aload 0
aload 3
invokevirtual jdk.tools.jaotc.MetadataBuilder.processMetadataClass:(Ljdk/tools/jaotc/AOTCompiledClass;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
aload 2
invokevirtual jdk.tools.jaotc.MetadataBuilder.processMetadataClass:(Ljdk/tools/jaotc/AOTCompiledClass;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 6 1 classes Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
0 6 2 stubCompiledCode Ljdk/tools/jaotc/AOTCompiledClass;
2 3 3 c Ljdk/tools/jaotc/AOTCompiledClass;
Signature: (Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;Ljdk/tools/jaotc/AOTCompiledClass;)V
MethodParameters:
Name Flags
classes
stubCompiledCode
private void processMetadataClass(jdk.tools.jaotc.AOTCompiledClass);
descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jaotc.MetadataBuilder.processInfopointsAndMarks:(Ljdk/tools/jaotc/AOTCompiledClass;)V
1: aload 0
aload 1
invokevirtual jdk.tools.jaotc.MetadataBuilder.createMethodMetadata:(Ljdk/tools/jaotc/AOTCompiledClass;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 3 1 c Ljdk/tools/jaotc/AOTCompiledClass;
MethodParameters:
Name Flags
c
private void createMethodMetadata(jdk.tools.jaotc.AOTCompiledClass);
descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=36, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
invokevirtual jdk.tools.jaotc.DataBuilder.getBackend:()Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
astore 2
start local 2 1: aload 0
getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
astore 3
start local 3 2: aload 1
invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 73
StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.CompiledMethodInfo
astore 4
start local 4 4: aload 3
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
istore 6
start local 6 5: getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
ifne 6
iload 6
bipush 8
irem
ifeq 6
new java.lang.AssertionError
dup
ldc "Must be aligned on 8"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int
StackMap stack:
aload 4
iload 6
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataOffset:(I)V
7: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.compiledCode:()Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
astore 7
start local 7 8: new jdk.vm.ci.hotspot.HotSpotMetaData
dup
aload 2
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
aload 7
invokespecial jdk.vm.ci.hotspot.HotSpotMetaData.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/hotspot/HotSpotCompiledCode;)V
astore 8
start local 8 9: aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.pcDescBytes:()[B
astore 9
start local 9 10: aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.scopesDescBytes:()[B
astore 10
start local 10 11: aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.relocBytes:()[B
astore 11
start local 11 12: aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.oopMaps:()[B
astore 12
start local 12 13: aload 8
invokestatic org.graalvm.compiler.hotspot.HotSpotGraalServices.getImplicitExceptionBytes:(Ljdk/vm/ci/hotspot/HotSpotMetaData;)[B
astore 13
start local 13 14: aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.exceptionBytes:()[B
astore 14
start local 14 15: new jdk.tools.jaotc.utils.NativeOrderOutputStream
dup
invokespecial jdk.tools.jaotc.utils.NativeOrderOutputStream.<init>:()V
astore 15
start local 15 16: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeSize:()I
istore 16
start local 16 17: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getMarks:()Ljava/util/List;
invokestatic jdk.tools.jaotc.CodeOffsets.buildFrom:(Ljava/util/List;)Ljdk/tools/jaotc/CodeOffsets;
astore 17
start local 17 18: aload 17
invokevirtual jdk.tools.jaotc.CodeOffsets.entry:()I
istore 18
start local 18 19: aload 17
invokevirtual jdk.tools.jaotc.CodeOffsets.verifiedEntry:()I
istore 19
start local 19 20: aload 17
invokevirtual jdk.tools.jaotc.CodeOffsets.exceptionHandler:()I
istore 20
start local 20 21: aload 17
invokevirtual jdk.tools.jaotc.CodeOffsets.deoptHandler:()I
istore 21
start local 21 22: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
istore 22
start local 22 23: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getCustomStackArea:()Ljdk/vm/ci/code/StackSlot;
astore 23
start local 23 24: aload 23
ifnull 25
aload 23
iload 22
invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
goto 26
StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot
StackMap stack:
25: iconst_m1
StackMap locals:
StackMap stack: int
26: istore 24
start local 24 27: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
istore 25
start local 25 28: aload 0
getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 8
aload 4
invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntries:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotMetaData;Ljdk/tools/jaotc/CompiledMethodInfo;)I
istore 26
start local 26 29: aload 4
iload 26
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
30: aload 4
aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
arraylength
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotSize:(I)V
31: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
ifeq 32
iconst_1
goto 33
StackMap locals: int int int
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: istore 27
start local 27 34: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 28
start local 28 35: aload 15
iload 16
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
36: iload 18
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
37: iload 19
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
38: iload 20
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
39: iload 21
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
40: iload 25
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
41: iload 22
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
42: iload 24
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
43: iload 27
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
44: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 29
start local 29 45: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 30
start local 30 46: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 31
start local 31 47: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 32
start local 32 48: aconst_null
astore 33
start local 33 49: aload 13
ifnull 51
50: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 33
51: StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot int int int int jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
StackMap stack:
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 34
start local 34 52: aload 15
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
53: aload 29
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
54: aload 15
aload 9
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
55: aload 30
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
56: aload 15
aload 10
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
57: aload 31
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
58: aload 15
aload 11
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
59: aload 32
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
60: aload 15
aload 14
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
61: aload 13
ifnull 64
62: aload 33
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
63: aload 15
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
64: StackMap locals: jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
StackMap stack:
aload 34
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
65: aload 15
aload 12
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
66: aload 28
aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
67: aload 15
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
astore 35
start local 35 68: aload 3
aload 35
iconst_0
aload 35
arraylength
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 69: goto 72
StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot int int int int
StackMap stack: java.lang.Exception
70: astore 28
start local 28 71: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Exception occurred during compilation of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getMethodInfo:()Ljdk/tools/jaotc/JavaMethodInfo;
invokeinterface jdk.tools.jaotc.JavaMethodInfo.getSymbolName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 28
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 28 72: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 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 4 73: StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
74: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 75 1 compiledClass Ljdk/tools/jaotc/AOTCompiledClass;
1 75 2 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
2 75 3 methodMetadataContainer Ljdk/tools/jaotc/binformat/ByteContainer;
4 73 4 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
5 73 6 startOffset I
8 73 7 compiledMethod Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
9 73 8 metaData Ljdk/vm/ci/hotspot/HotSpotMetaData;
10 73 9 pcDesc [B
11 73 10 scopeDesc [B
12 73 11 relocationInfo [B
13 73 12 oopMapInfo [B
14 73 13 implicitExceptionBytes [B
15 73 14 exceptionBytes [B
16 73 15 metadataStream Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
17 73 16 codeSize I
18 73 17 co Ljdk/tools/jaotc/CodeOffsets;
19 73 18 unverifiedEntry I
20 73 19 verifiedEntry I
21 73 20 exceptionHandler I
22 73 21 deoptHandler I
23 73 22 frameSize I
24 73 23 deoptRescueSlot Ljdk/vm/ci/code/StackSlot;
27 73 24 origPcOffset I
28 73 25 stubsOffset I
29 73 26 offset I
34 73 27 unsafeAccess I
35 69 28 totalSize Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
45 69 29 pcDescOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
46 69 30 scopeOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
47 69 31 relocationOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
48 69 32 exceptionOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
49 69 33 implictTableOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
52 69 34 oopMapOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
68 69 35 data [B
71 72 28 e Ljava/lang/Exception;
Exception table:
from to target type
34 69 70 Class java.lang.Exception
MethodParameters:
Name Flags
compiledClass
private static int addMetadataEntries(jdk.tools.jaotc.binformat.BinaryContainer, jdk.vm.ci.hotspot.HotSpotMetaData, jdk.tools.jaotc.CompiledMethodInfo);
descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotMetaData;Ljdk/tools/jaotc/CompiledMethodInfo;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
astore 3
start local 3 1: aload 3
arraylength
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 12
6: StackMap locals: int int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 7: aload 6
invokestatic jdk.tools.jaotc.AOTCompiledClass.metadataName:(Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 8: aload 0
aload 7
invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntry:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
9: getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
ifne 10
aload 6
invokestatic jdk.tools.jaotc.AOTCompiledClass.getType:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
invokestatic jdk.tools.jaotc.AOTCompiledClass.getAOTKlassData:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
ifnonnull 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: java.lang.Object java.lang.String
StackMap stack:
getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
ifne 11
aload 2
aload 6
invokestatic jdk.tools.jaotc.AOTCompiledClass.getType:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getDependentKlassData:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
ifnonnull 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 end local 6 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
aload 3
arraylength
if_icmplt 6
end local 5 13: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 binaryContainer Ljdk/tools/jaotc/binformat/BinaryContainer;
0 14 1 metaData Ljdk/vm/ci/hotspot/HotSpotMetaData;
0 14 2 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
1 14 3 metaDataEntries [Ljava/lang/Object;
4 14 4 metadataGotSlotsStart I
5 13 5 index I
7 11 6 ref Ljava/lang/Object;
8 11 7 name Ljava/lang/String;
MethodParameters:
Name Flags
binaryContainer
metaData
methodInfo
private static void addMetadataEntry(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetaspaceName:(Ljava/lang/String;)I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetadataGotEntry:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 binaryContainer Ljdk/tools/jaotc/binformat/BinaryContainer;
0 3 1 name Ljava/lang/String;
1 3 2 stringOffset I
MethodParameters:
Name Flags
binaryContainer
name
private void processInfopointsAndMarks(jdk.tools.jaotc.AOTCompiledClass);
descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=14, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
astore 2
start local 2 1: new jdk.tools.jaotc.MarkProcessor
dup
aload 0
getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
invokespecial jdk.tools.jaotc.MarkProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
astore 3
start local 3 2: new jdk.tools.jaotc.DataPatchProcessor
dup
aload 0
getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
invokespecial jdk.tools.jaotc.DataPatchProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
astore 4
start local 4 3: new jdk.tools.jaotc.InfopointProcessor
dup
aload 0
getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
invokespecial jdk.tools.jaotc.InfopointProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
astore 5
start local 5 4: aload 2
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.CompiledMethodInfo
astore 6
start local 6 6: aload 6
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
astore 8
start local 8 7: new java.lang.StringBuilder
dup
ldc "state.M"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 8: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 9: aload 0
getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
aload 10
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
astore 11
start local 11 10: getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
ifne 11
aload 11
invokevirtual jdk.tools.jaotc.binformat.GotSymbol.getIndex:()I
aload 6
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeId:()I
if_icmpeq 11
new java.lang.AssertionError
dup
ldc "wrong offset"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator org.graalvm.compiler.code.CompilationResult java.lang.String java.lang.String jdk.tools.jaotc.binformat.GotSymbol
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getInfopoints:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 14
StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator org.graalvm.compiler.code.CompilationResult java.lang.String java.lang.String jdk.tools.jaotc.binformat.GotSymbol top java.util.Iterator
StackMap stack:
12: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.site.Infopoint
astore 12
start local 12 13: aload 5
aload 6
aload 12
invokevirtual jdk.tools.jaotc.InfopointProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/Infopoint;)V
end local 12 14: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getMarks:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 18
StackMap locals:
StackMap stack:
16: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.code.CompilationResult$CodeMark
astore 12
start local 12 17: aload 3
aload 6
aload 12
invokevirtual jdk.tools.jaotc.MarkProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Lorg/graalvm/compiler/code/CompilationResult$CodeMark;)V
end local 12 18: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: aload 8
invokevirtual org.graalvm.compiler.code.CompilationResult.getDataPatches:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 22
StackMap locals:
StackMap stack:
20: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.site.DataPatch
astore 12
start local 12 21: aload 4
aload 6
aload 12
invokevirtual jdk.tools.jaotc.DataPatchProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/DataPatch;)V
end local 12 22: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 11 end local 10 end local 9 end local 8 end local 6 23: StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
24: return
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 25 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 25 1 compiledClass Ljdk/tools/jaotc/AOTCompiledClass;
1 25 2 compiledMethods Ljava/util/ArrayList<Ljdk/tools/jaotc/CompiledMethodInfo;>;
2 25 3 markProcessor Ljdk/tools/jaotc/MarkProcessor;
3 25 4 dataPatchProcessor Ljdk/tools/jaotc/DataPatchProcessor;
4 25 5 infopointProcessor Ljdk/tools/jaotc/InfopointProcessor;
6 23 6 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
7 23 8 compilationResult Lorg/graalvm/compiler/code/CompilationResult;
8 23 9 targetSymbol Ljava/lang/String;
9 23 10 gotName Ljava/lang/String;
10 23 11 symbol Ljdk/tools/jaotc/binformat/GotSymbol;
13 14 12 infoPoint Ljdk/vm/ci/code/site/Infopoint;
17 18 12 mark Lorg/graalvm/compiler/code/CompilationResult$CodeMark;
21 22 12 dataPatch Ljdk/vm/ci/code/site/DataPatch;
MethodParameters:
Name Flags
compiledClass
}
SourceFile: "MetadataBuilder.java"
InnerClasses:
AOTKlassData = jdk.tools.jaotc.AOTCompiledClass$AOTKlassData of jdk.tools.jaotc.AOTCompiledClass
public PatchableInt = jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt of jdk.tools.jaotc.utils.NativeOrderOutputStream
public CodeMark = org.graalvm.compiler.code.CompilationResult$CodeMark of org.graalvm.compiler.code.CompilationResult