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=33, 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 65
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: new jdk.tools.jaotc.utils.NativeOrderOutputStream
dup
invokespecial jdk.tools.jaotc.utils.NativeOrderOutputStream.<init>:()V
astore 13
start local 13 14: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeSize:()I
istore 14
start local 14 15: 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 15
start local 15 16: aload 15
invokevirtual jdk.tools.jaotc.CodeOffsets.entry:()I
istore 16
start local 16 17: aload 15
invokevirtual jdk.tools.jaotc.CodeOffsets.verifiedEntry:()I
istore 17
start local 17 18: aload 15
invokevirtual jdk.tools.jaotc.CodeOffsets.exceptionHandler:()I
istore 18
start local 18 19: aload 15
invokevirtual jdk.tools.jaotc.CodeOffsets.deoptHandler:()I
istore 19
start local 19 20: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
istore 20
start local 20 21: 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 21
start local 21 22: aload 21
ifnull 23
aload 21
iload 20
invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
goto 24
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[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot
StackMap stack:
23: iconst_m1
StackMap locals:
StackMap stack: int
24: istore 22
start local 22 25: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
istore 23
start local 23 26: 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 24
start local 24 27: aload 4
iload 24
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
28: aload 4
aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
arraylength
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotSize:(I)V
29: aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
ifeq 30
iconst_1
goto 31
StackMap locals: int int int
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: istore 25
start local 25 32: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 26
start local 26 33: aload 13
iload 14
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
34: iload 16
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
35: iload 17
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 23
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
39: iload 20
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
40: iload 22
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
41: iload 25
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
42: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 27
start local 27 43: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 28
start local 28 44: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 29
start local 29 45: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 30
start local 30 46: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
astore 31
start local 31 47: aload 13
bipush 8
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
pop
48: aload 27
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
49: aload 13
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
50: aload 28
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
51: aload 13
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
52: aload 29
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
53: aload 13
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
54: aload 30
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
55: aload 13
aload 8
invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.exceptionBytes:()[B
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
56: aload 31
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
57: aload 13
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
58: aload 26
aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
59: aload 13
invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
astore 32
start local 32 60: aload 3
aload 32
iconst_0
aload 32
arraylength
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 61: goto 64
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[] 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
62: astore 26
start local 26 63: 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 26
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 26 64: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
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 65: 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
66: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Ljdk/tools/jaotc/MetadataBuilder;
0 67 1 compiledClass Ljdk/tools/jaotc/AOTCompiledClass;
1 67 2 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
2 67 3 methodMetadataContainer Ljdk/tools/jaotc/binformat/ByteContainer;
4 65 4 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
5 65 6 startOffset I
8 65 7 compiledMethod Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
9 65 8 metaData Ljdk/vm/ci/hotspot/HotSpotMetaData;
10 65 9 pcDesc [B
11 65 10 scopeDesc [B
12 65 11 relocationInfo [B
13 65 12 oopMapInfo [B
14 65 13 metadataStream Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
15 65 14 codeSize I
16 65 15 co Ljdk/tools/jaotc/CodeOffsets;
17 65 16 unverifiedEntry I
18 65 17 verifiedEntry I
19 65 18 exceptionHandler I
20 65 19 deoptHandler I
21 65 20 frameSize I
22 65 21 deoptRescueSlot Ljdk/vm/ci/code/StackSlot;
25 65 22 origPcOffset I
26 65 23 stubsOffset I
27 65 24 offset I
32 65 25 unsafeAccess I
33 61 26 totalSize Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
43 61 27 pcDescOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
44 61 28 scopeOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
45 61 29 relocationOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
46 61 30 exceptionOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
47 61 31 oopMapOffset Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
60 61 32 data [B
63 64 26 e Ljava/lang/Exception;
Exception table:
from to target type
32 61 62 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 jdk.vm.ci.code.site.Mark
astore 12
start local 12 17: aload 3
aload 6
aload 12
invokevirtual jdk.tools.jaotc.MarkProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/Mark;)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 Ljdk/vm/ci/code/site/Mark;
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