final class jdk.tools.jaotc.DataPatchProcessor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jaotc.DataPatchProcessor
super_class: java.lang.Object
{
private final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
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/DataPatchProcessor;
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.DataPatchProcessor.$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
invokevirtual jdk.tools.jaotc.DataBuilder.getBackend:()Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
putfield jdk.tools.jaotc.DataPatchProcessor.target:Ljdk/vm/ci/code/TargetDescription;
2: aload 0
aload 1
invokevirtual jdk.tools.jaotc.DataBuilder.getBinaryContainer:()Ljdk/tools/jaotc/binformat/BinaryContainer;
putfield jdk.tools.jaotc.DataPatchProcessor.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/DataPatchProcessor;
0 4 1 dataBuilder Ljdk/tools/jaotc/DataBuilder;
MethodParameters:
Name Flags
dataBuilder
void process(jdk.tools.jaotc.CompiledMethodInfo, jdk.vm.ci.code.site.DataPatch);
descriptor: (Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/DataPatch;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
astore 3
start local 3 1: aload 3
instanceof jdk.vm.ci.code.site.ConstantReference
ifeq 4
2: aload 0
aload 2
aload 1
invokevirtual jdk.tools.jaotc.DataPatchProcessor.processConstantReference:(Ljdk/vm/ci/code/site/DataPatch;Ljdk/tools/jaotc/CompiledMethodInfo;)V
3: goto 8
StackMap locals: jdk.vm.ci.code.site.Reference
StackMap stack:
4: aload 3
instanceof jdk.vm.ci.code.site.DataSectionReference
ifeq 7
5: aload 0
aload 2
aload 1
invokevirtual jdk.tools.jaotc.DataPatchProcessor.processDataSectionReference:(Ljdk/vm/ci/code/site/DataPatch;Ljdk/tools/jaotc/CompiledMethodInfo;)V
6: goto 8
7: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unknown data patch reference: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jaotc/DataPatchProcessor;
0 9 1 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
0 9 2 dataPatch Ljdk/vm/ci/code/site/DataPatch;
1 9 3 reference Ljdk/vm/ci/code/site/Reference;
MethodParameters:
Name Flags
methodInfo
dataPatch
private void processConstantReference(jdk.vm.ci.code.site.DataPatch, jdk.tools.jaotc.CompiledMethodInfo);
descriptor: (Ljdk/vm/ci/code/site/DataPatch;Ljdk/tools/jaotc/CompiledMethodInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.vm.ci.code.site.DataPatch.note:Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction
astore 3
start local 3 1: aload 1
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
checkcast jdk.vm.ci.code.site.ConstantReference
astore 4
start local 4 2: getstatic jdk.tools.jaotc.DataPatchProcessor.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
ldc "action should be set"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction jdk.vm.ci.code.site.ConstantReference
StackMap stack:
aload 4
invokevirtual jdk.vm.ci.code.site.ConstantReference.getConstant:()Ljdk/vm/ci/meta/VMConstant;
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aload 5
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 21
7: aload 5
checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
astore 8
start local 8 8: aload 8
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
ifnull 16
9: aload 8
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
astore 9
start local 9 10: aload 2
aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 9
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.addDependentKlassData:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)V
11: aload 9
invokestatic jdk.tools.jaotc.AOTCompiledClass.metadataName:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljava/lang/String;
astore 6
12: new java.lang.StringBuilder
dup
aload 3
getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.INITIALIZE:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
if_acmpne 13
ldc "got.init."
goto 14
StackMap locals: jdk.tools.jaotc.DataPatchProcessor jdk.vm.ci.code.site.DataPatch jdk.tools.jaotc.CompiledMethodInfo org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction jdk.vm.ci.code.site.ConstantReference jdk.vm.ci.meta.VMConstant java.lang.String java.lang.String jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedObjectType
StackMap stack: new 12 new 12
13: ldc "got."
StackMap locals: jdk.tools.jaotc.DataPatchProcessor jdk.vm.ci.code.site.DataPatch jdk.tools.jaotc.CompiledMethodInfo org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction jdk.vm.ci.code.site.ConstantReference jdk.vm.ci.meta.VMConstant java.lang.String java.lang.String jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedObjectType
StackMap stack: new 12 new 12 java.lang.String
14: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 9 15: goto 38
StackMap locals:
StackMap stack:
16: aload 8
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaMethod:()Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
ifnull 38
aload 3
getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.LOAD_COUNTERS:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
if_acmpne 38
17: new java.lang.StringBuilder
dup
ldc "counters."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaMethod:()Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
invokestatic jdk.tools.jaotc.JavaMethodInfo.uniqueMethodName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
18: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
19: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 6
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addCountersSymbol:(Ljava/lang/String;)I
pop
end local 8 20: goto 38
StackMap locals:
StackMap stack:
21: aload 5
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 38
22: aload 5
checkcast jdk.vm.ci.meta.JavaConstant
astore 8
start local 8 23: aload 8
instanceof jdk.vm.ci.hotspot.HotSpotConstantPoolObject
ifeq 29
24: aload 8
checkcast jdk.vm.ci.hotspot.HotSpotConstantPoolObject
astore 9
start local 9 25: new java.lang.StringBuilder
dup
ldc "ldc."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPoolObject.toValueString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
26: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 6
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addOopSymbol:(Ljava/lang/String;)Ljava/lang/Integer;
astore 10
start local 10 27: new java.lang.StringBuilder
dup
ldc "got.ldc."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 10 end local 9 28: goto 38
StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
29: aload 8
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
ifeq 35
30: aload 8
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
astore 9
start local 9 31: new java.lang.StringBuilder
dup
ldc "ldc."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.toValueString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
32: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 6
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addOopSymbol:(Ljava/lang/String;)Ljava/lang/Integer;
astore 10
start local 10 33: new java.lang.StringBuilder
dup
ldc "got.ldc."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 10 end local 9 34: goto 38
StackMap locals:
StackMap stack:
35: aload 8
instanceof jdk.vm.ci.hotspot.HotSpotSentinelConstant
ifeq 38
36: new java.lang.StringBuilder
dup
ldc "state.M"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 6
37: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 8 38: StackMap locals:
StackMap stack:
getstatic jdk.tools.jaotc.DataPatchProcessor.$assertionsDisabled:Z
ifne 39
aload 7
ifnonnull 39
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
39: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic jdk.tools.jaotc.InstructionDecoder.getInstructionDecoder:(Ljdk/vm/ci/code/TargetDescription;)Ljdk/tools/jaotc/InstructionDecoder;
astore 8
start local 8 40: aload 8
aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCode:()[B
aload 1
getfield jdk.vm.ci.code.site.DataPatch.pcOffset:I
invokevirtual jdk.tools.jaotc.InstructionDecoder.decodePosition:([BI)V
41: aload 8
invokevirtual jdk.tools.jaotc.InstructionDecoder.currentEndOfInstruction:()I
istore 9
start local 9 42: aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getTextSectionOffset:()I
istore 10
start local 10 43: iload 10
iload 9
iadd
istore 11
start local 11 44: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 7
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
astore 12
start local 12 45: getstatic jdk.tools.jaotc.DataPatchProcessor.$assertionsDisabled:Z
ifne 46
aload 12
ifnonnull 46
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "symbol for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " missing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
46: StackMap locals: jdk.tools.jaotc.DataPatchProcessor jdk.vm.ci.code.site.DataPatch jdk.tools.jaotc.CompiledMethodInfo org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction jdk.vm.ci.code.site.ConstantReference jdk.vm.ci.meta.VMConstant java.lang.String java.lang.String jdk.tools.jaotc.InstructionDecoder int int int jdk.tools.jaotc.binformat.Symbol
StackMap stack:
new jdk.tools.jaotc.binformat.Relocation
dup
iload 11
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
iconst_0
aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
aload 12
invokespecial jdk.tools.jaotc.binformat.Relocation.<init>:(ILjdk/tools/jaotc/binformat/Relocation$RelocType;ILjdk/tools/jaotc/binformat/ByteContainer;Ljdk/tools/jaotc/binformat/Symbol;)V
astore 13
start local 13 47: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 13
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addRelocation:(Ljdk/tools/jaotc/binformat/Relocation;)V
48: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Ljdk/tools/jaotc/DataPatchProcessor;
0 49 1 dataPatch Ljdk/vm/ci/code/site/DataPatch;
0 49 2 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
1 49 3 action Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
2 49 4 constantReference Ljdk/vm/ci/code/site/ConstantReference;
4 49 5 constant Ljdk/vm/ci/meta/VMConstant;
5 49 6 targetSymbol Ljava/lang/String;
6 49 7 gotName Ljava/lang/String;
8 20 8 metaspaceConstant Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstant;
10 15 9 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
23 38 8 jConstant Ljdk/vm/ci/meta/JavaConstant;
25 28 9 cpo Ljdk/vm/ci/hotspot/HotSpotConstantPoolObject;
27 28 10 offset Ljava/lang/Integer;
31 34 9 oopConstant Ljdk/vm/ci/hotspot/HotSpotObjectConstant;
33 34 10 offset Ljava/lang/Integer;
40 49 8 decoder Ljdk/tools/jaotc/InstructionDecoder;
42 49 9 instructionEndOffset I
43 49 10 textBaseOffset I
44 49 11 relocOffset I
45 49 12 relocationSymbol Ljdk/tools/jaotc/binformat/Symbol;
47 49 13 reloc Ljdk/tools/jaotc/binformat/Relocation;
MethodParameters:
Name Flags
dataPatch
methodInfo
private void processDataSectionReference(jdk.vm.ci.code.site.DataPatch, jdk.tools.jaotc.CompiledMethodInfo);
descriptor: (Ljdk/vm/ci/code/site/DataPatch;Ljdk/tools/jaotc/CompiledMethodInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
checkcast jdk.vm.ci.code.site.DataSectionReference
astore 3
start local 3 1: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic jdk.tools.jaotc.InstructionDecoder.getInstructionDecoder:(Ljdk/vm/ci/code/TargetDescription;)Ljdk/tools/jaotc/InstructionDecoder;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCode:()[B
aload 1
getfield jdk.vm.ci.code.site.DataPatch.pcOffset:I
invokevirtual jdk.tools.jaotc.InstructionDecoder.decodePosition:([BI)V
3: aload 4
invokevirtual jdk.tools.jaotc.InstructionDecoder.currentEndOfInstruction:()I
istore 5
start local 5 4: aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getTextSectionOffset:()I
istore 6
start local 6 5: iload 6
iload 5
iadd
istore 7
start local 7 6: aload 3
invokevirtual jdk.vm.ci.code.site.DataSectionReference.getOffset:()I
istore 8
start local 8 7: aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getDataSection:()Lorg/graalvm/compiler/code/DataSection;
astore 9
start local 9 8: aload 9
aload 3
invokevirtual org.graalvm.compiler.code.DataSection.findData:(Ljdk/vm/ci/code/site/DataSectionReference;)Lorg/graalvm/compiler/code/DataSection$Data;
astore 10
start local 10 9: aload 10
invokevirtual org.graalvm.compiler.code.DataSection$Data.getSize:()I
istore 11
start local 11 10: aload 10
invokevirtual org.graalvm.compiler.code.DataSection$Data.getAlignment:()I
istore 12
start local 12 11: iload 11
newarray 8
astore 13
start local 13 12: aload 13
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
astore 14
start local 14 13: aload 14
aload 10
invokedynamic registerPatch()Lorg/graalvm/compiler/code/DataSection$Patches;
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:
(ILjdk/vm/ci/meta/VMConstant;)V
jdk/tools/jaotc/DataPatchProcessor.lambda$0(ILjdk/vm/ci/meta/VMConstant;)V (6)
(ILjdk/vm/ci/meta/VMConstant;)V
invokestatic org.graalvm.compiler.code.DataSection.emit:(Ljava/nio/ByteBuffer;Lorg/graalvm/compiler/code/DataSection$Data;Lorg/graalvm/compiler/code/DataSection$Patches;)V
14: new java.lang.StringBuilder
dup
ldc "data.M"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 15: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 15
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
astore 16
start local 16 16: aload 16
ifnonnull 21
17: bipush 8
iload 11
invokestatic java.lang.Math.max:(II)I
istore 17
start local 17 18: bipush 8
iload 12
invokestatic java.lang.Math.max:(II)I
istore 18
start local 18 19: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 13
iload 18
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addConstantData:([BI)I
istore 19
start local 19 20: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
iload 19
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.OBJECT:Ljdk/tools/jaotc/binformat/Symbol$Kind;
getstatic jdk.tools.jaotc.binformat.Symbol$Binding.LOCAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
iload 17
aload 15
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.createSymbol:(ILjdk/tools/jaotc/binformat/Symbol$Kind;Ljdk/tools/jaotc/binformat/Symbol$Binding;ILjava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
astore 16
end local 19 end local 18 end local 17 21: StackMap locals: jdk.tools.jaotc.DataPatchProcessor jdk.vm.ci.code.site.DataPatch jdk.tools.jaotc.CompiledMethodInfo jdk.vm.ci.code.site.DataSectionReference jdk.tools.jaotc.InstructionDecoder int int int int org.graalvm.compiler.code.DataSection org.graalvm.compiler.code.DataSection$Data int int byte[] java.nio.ByteBuffer java.lang.String jdk.tools.jaotc.binformat.Symbol
StackMap stack:
new jdk.tools.jaotc.binformat.Relocation
dup
iload 7
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
iconst_0
aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
aload 16
invokespecial jdk.tools.jaotc.binformat.Relocation.<init>:(ILjdk/tools/jaotc/binformat/Relocation$RelocType;ILjdk/tools/jaotc/binformat/ByteContainer;Ljdk/tools/jaotc/binformat/Symbol;)V
astore 17
start local 17 22: aload 0
getfield jdk.tools.jaotc.DataPatchProcessor.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
aload 17
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addRelocation:(Ljdk/tools/jaotc/binformat/Relocation;)V
23: return
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/tools/jaotc/DataPatchProcessor;
0 24 1 dataPatch Ljdk/vm/ci/code/site/DataPatch;
0 24 2 methodInfo Ljdk/tools/jaotc/CompiledMethodInfo;
1 24 3 dataReference Ljdk/vm/ci/code/site/DataSectionReference;
2 24 4 decoder Ljdk/tools/jaotc/InstructionDecoder;
4 24 5 instructionEndOffset I
5 24 6 textBaseOffset I
6 24 7 relocOffset I
7 24 8 dataOffset I
8 24 9 dataSection Lorg/graalvm/compiler/code/DataSection;
9 24 10 data Lorg/graalvm/compiler/code/DataSection$Data;
10 24 11 size I
11 24 12 alignment I
12 24 13 value [B
13 24 14 buffer Ljava/nio/ByteBuffer;
15 24 15 targetSymbol Ljava/lang/String;
16 24 16 relocationSymbol Ljdk/tools/jaotc/binformat/Symbol;
18 21 17 symSize I
19 21 18 symAlig I
20 21 19 offsetInConstantDataSection I
22 24 17 reloc Ljdk/tools/jaotc/binformat/Relocation;
MethodParameters:
Name Flags
dataPatch
methodInfo
private static void lambda$0(int, jdk.vm.ci.meta.VMConstant);
descriptor: (ILjdk/vm/ci/meta/VMConstant;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p I
0 1 1 c Ljdk/vm/ci/meta/VMConstant;
}
SourceFile: "DataPatchProcessor.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final RelocType = jdk.tools.jaotc.binformat.Relocation$RelocType of jdk.tools.jaotc.binformat.Relocation
public final Binding = jdk.tools.jaotc.binformat.Symbol$Binding of jdk.tools.jaotc.binformat.Symbol
public final Kind = jdk.tools.jaotc.binformat.Symbol$Kind of jdk.tools.jaotc.binformat.Symbol
public abstract Data = org.graalvm.compiler.code.DataSection$Data of org.graalvm.compiler.code.DataSection
public abstract Patches = org.graalvm.compiler.code.DataSection$Patches of org.graalvm.compiler.code.DataSection