class com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode
super_class: com.oracle.truffle.api.nodes.Node
{
final com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext context;
descriptor: Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;
flags: (0x0010) ACC_FINAL
final java.lang.String symbol;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
volatile com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult cachedLookup;
descriptor: Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
flags: (0x0040) ACC_VOLATILE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
final com.oracle.truffle.api.utilities.CyclicAssumptionSnippets this$0;
descriptor: Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.utilities.CyclicAssumptionSnippets, com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets;Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
start local 2 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext context
start local 3 // java.lang.String symbol
0: .line 130
aload 0 /* this */
aload 1
putfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.this$0:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets;
aload 0 /* this */
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: .line 131
aload 0 /* this */
aload 2 /* context */
putfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.context:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;
2: .line 132
aload 0 /* this */
aload 3 /* symbol */
putfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.symbol:Ljava/lang/String;
3: .line 133
return
end local 3 // java.lang.String symbol
end local 2 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext context
end local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$SymbolLookupNode;
0 4 2 context Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;
0 4 3 symbol Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
context
symbol
public java.lang.Object execute();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
0: .line 136
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.cachedLookup:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
astore 1 /* lookup */
start local 1 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult lookup
1: .line 137
aload 1 /* lookup */
ifnull 2
aload 1 /* lookup */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult.assumption:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 4
2: .line 138
StackMap locals: com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: .line 139
aload 0 /* this */
aload 0 /* this */
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.symbol:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.doLookup:(Ljava/lang/String;)Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
putfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.cachedLookup:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
4: .line 141
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.cachedLookup:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult.value:Ljava/lang/Object;
areturn
end local 1 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult lookup
end local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$SymbolLookupNode;
1 5 1 lookup Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
private com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult doLookup(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$LookupResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
start local 1 // java.lang.String name
0: .line 146
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.context:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext.symbolsRedefined:Lcom/oracle/truffle/api/utilities/CyclicAssumption;
astore 2 /* symbolsRedefined */
start local 2 // com.oracle.truffle.api.utilities.CyclicAssumption symbolsRedefined
1: .line 147
aload 2 /* symbolsRedefined */
invokevirtual com.oracle.truffle.api.utilities.CyclicAssumption.getAssumption:()Lcom/oracle/truffle/api/Assumption;
astore 3 /* assumption */
start local 3 // com.oracle.truffle.api.Assumption assumption
2: .line 149
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.context:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$MyContext;
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext.symbols:Ljava/util/Map;
aload 1 /* name */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4 /* value */
start local 4 // java.lang.Object value
3: .line 150
new com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult
dup
aload 0 /* this */
getfield com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode.this$0:Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets;
aload 3 /* assumption */
aload 4 /* value */
invokespecial com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult.<init>:(Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets;Lcom/oracle/truffle/api/Assumption;Ljava/lang/Object;)V
areturn
end local 4 // java.lang.Object value
end local 3 // com.oracle.truffle.api.Assumption assumption
end local 2 // com.oracle.truffle.api.utilities.CyclicAssumption symbolsRedefined
end local 1 // java.lang.String name
end local 0 // com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/utilities/CyclicAssumptionSnippets$SymbolLookupNode;
0 4 1 name Ljava/lang/String;
1 4 2 symbolsRedefined Lcom/oracle/truffle/api/utilities/CyclicAssumption;
2 4 3 assumption Lcom/oracle/truffle/api/Assumption;
3 4 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
name
}
SourceFile: "CyclicAssumption.java"
NestHost: com.oracle.truffle.api.utilities.CyclicAssumptionSnippets
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
LookupResult = com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$LookupResult of com.oracle.truffle.api.utilities.CyclicAssumptionSnippets
MyContext = com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$MyContext of com.oracle.truffle.api.utilities.CyclicAssumptionSnippets
SymbolLookupNode = com.oracle.truffle.api.utilities.CyclicAssumptionSnippets$SymbolLookupNode of com.oracle.truffle.api.utilities.CyclicAssumptionSnippets