public class org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$SerialWriteBarrierLowerer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$SerialWriteBarrierLowerer
super_class: java.lang.Object
{
private final org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$Counters counters;
descriptor: Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$Counters;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.graalvm.compiler.replacements.SnippetCounter$Group$Factory);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$Counters
dup
aload 1
invokespecial org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$Counters.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;)V
putfield org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$SerialWriteBarrierLowerer.counters:Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$Counters;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$SerialWriteBarrierLowerer;
0 3 1 factory Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
MethodParameters:
Name Flags
factory
public void lower(org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates, org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo, org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo, org.graalvm.compiler.nodes.gc.SerialWriteBarrier, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.usePrecise:()Z
ifeq 4
1: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 5
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 6
start local 6 2: aload 6
ldc "address"
aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: goto 7
end local 6 4: StackMap locals:
StackMap stack:
new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 5
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 6
start local 6 5: aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
astore 7
start local 7 6: aload 6
ldc "object"
aload 7
invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
end local 7 7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack:
aload 6
ldc "counters"
aload 0
getfield org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$SerialWriteBarrierLowerer.counters:Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$Counters;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
8: aload 6
ldc "verifyOnly"
aload 4
invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getVerifyOnly:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
9: aload 1
aload 4
aload 6
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
aload 1
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 6
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
pop
10: return
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 11 0 this Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$SerialWriteBarrierLowerer;
0 11 1 templates Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 11 2 preciseSnippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
0 11 3 impreciseSnippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
0 11 4 barrier Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;
0 11 5 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 4 6 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
5 11 6 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
6 7 7 address Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
MethodParameters:
Name Flags
templates
preciseSnippet
impreciseSnippet
barrier
tool
public void lower(org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates, org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo, org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 5
start local 5 1: aload 5
ldc "address"
aload 3
invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
2: aload 5
ldc "length"
aload 3
invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: aload 5
ldc "elementStride"
aload 3
invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getElementStride:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
4: aload 1
aload 3
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
aload 1
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
pop
5: 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 6 0 this Lorg/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets$SerialWriteBarrierLowerer;
0 6 1 templates Lorg/graalvm/compiler/replacements/SnippetTemplate$AbstractTemplates;
0 6 2 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
0 6 3 barrier Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;
0 6 4 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 6 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
MethodParameters:
Name Flags
templates
snippet
barrier
tool
}
SourceFile: "SerialWriteBarrierSnippets.java"
NestHost: org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets
InnerClasses:
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter
public abstract Factory = org.graalvm.compiler.replacements.SnippetCounter$Group$Factory of org.graalvm.compiler.replacements.SnippetCounter$Group
public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate
Counters = org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$Counters of org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets
public SerialWriteBarrierLowerer = org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets$SerialWriteBarrierLowerer of org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets