abstract class com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode
super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
{
private com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.llvm.runtime.LLVMContext> ctxRef;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.nodes.DirectCallNode initContext;
descriptor: Lcom/oracle/truffle/api/nodes/DirectCallNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
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: .line 387
ldc Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
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 com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.llvm.runtime.LLVMFunctionCode);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 // com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode this
start local 1 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode initContextFunctionCode
0: .line 393
aload 0 /* this */
invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode.<init>:()V
1: .line 394
aload 1 /* initContextFunctionCode */
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode.getLLVMIRFunctionSlowPath:()Lcom/oracle/truffle/api/RootCallTarget;
astore 2 /* initContextFunction */
start local 2 // com.oracle.truffle.api.RootCallTarget initContextFunction
2: .line 395
aload 0 /* this */
aload 2 /* initContextFunction */
invokestatic com.oracle.truffle.api.nodes.DirectCallNode.create:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/nodes/DirectCallNode;
putfield com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.initContext:Lcom/oracle/truffle/api/nodes/DirectCallNode;
3: .line 396
return
end local 2 // com.oracle.truffle.api.RootCallTarget initContextFunction
end local 1 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode initContextFunctionCode
end local 0 // com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/LLVMLanguage$InitializeContextNode;
0 4 1 initContextFunctionCode Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
2 4 2 initContextFunction Lcom/oracle/truffle/api/RootCallTarget;
MethodParameters:
Name Flags
initContextFunctionCode
public void doInit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode this
0: .line 400
aload 0 /* this */
getfield com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.ctxRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
ifnonnull 3
1: .line 401
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: .line 402
aload 0 /* this */
aload 0 /* this */
ldc Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.lookupContextReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
putfield com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.ctxRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
3: .line 404
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.ctxRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMContext
astore 1 /* ctx */
start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext ctx
4: .line 405
aload 1 /* ctx */
getfield com.oracle.truffle.llvm.runtime.LLVMContext.initialized:Z
ifne 10
5: .line 406
getstatic com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.$assertionsDisabled:Z
ifne 6
aload 1 /* ctx */
getfield com.oracle.truffle.llvm.runtime.LLVMContext.cleanupNecessary:Z
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: .line 407
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext
StackMap stack:
aload 1 /* ctx */
iconst_1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.initialized:Z
7: .line 408
aload 1 /* ctx */
iconst_1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.cleanupNecessary:Z
8: .line 409
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1 /* ctx */
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getThreadingStack:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack.getStack:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack;
aastore
dup
iconst_1
aload 1 /* ctx */
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getApplicationArguments:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
aastore
dup
iconst_2
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.getEnvironmentVariables:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
aastore
dup
iconst_3
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.getRandomValues:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
aastore
astore 2 /* args */
start local 2 // java.lang.Object[] args
9: .line 410
aload 0 /* this */
getfield com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode.initContext:Lcom/oracle/truffle/api/nodes/DirectCallNode;
aload 2 /* args */
invokevirtual com.oracle.truffle.api.nodes.DirectCallNode.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 // java.lang.Object[] args
10: .line 412
StackMap locals:
StackMap stack:
return
end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext ctx
end local 0 // com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/runtime/LLVMLanguage$InitializeContextNode;
4 11 1 ctx Lcom/oracle/truffle/llvm/runtime/LLVMContext;
9 10 2 args [Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
}
SourceFile: "LLVMLanguage.java"
NestHost: com.oracle.truffle.llvm.runtime.LLVMLanguage
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
abstract InitializeContextNode = com.oracle.truffle.llvm.runtime.LLVMLanguage$InitializeContextNode of com.oracle.truffle.llvm.runtime.LLVMLanguage