public final class com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic
super_class: java.lang.Object
{
private final java.lang.String intrinsicName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<com.oracle.truffle.llvm.runtime.types.FunctionType, com.oracle.truffle.api.RootCallTarget> overloadingMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/llvm/runtime/types/FunctionType;Lcom/oracle/truffle/api/RootCallTarget;>;
private final com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider provider;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory;
descriptor: Lcom/oracle/truffle/llvm/runtime/NodeFactory;
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 Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
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.LLVMFunctionCode$Intrinsic.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider, java.lang.String, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.intrinsicName:Ljava/lang/String;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.overloadingMap:Ljava/util/Map;
3: aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.provider:Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
4: aload 0
aload 3
putfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Intrinsic;
0 6 1 provider Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
0 6 2 name Ljava/lang/String;
0 6 3 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
MethodParameters:
Name Flags
provider
name
nodeFactory
public com.oracle.truffle.api.RootCallTarget cachedCallTarget(com.oracle.truffle.llvm.runtime.types.FunctionType);
descriptor: (Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.exists:(Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.get:(Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/api/RootCallTarget;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.generateTarget:(Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/api/RootCallTarget;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Intrinsic;
0 3 1 type Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
MethodParameters:
Name Flags
type
private boolean exists(com.oracle.truffle.llvm.runtime.types.FunctionType);
descriptor: (Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.overloadingMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Intrinsic;
0 1 1 type Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
type
private com.oracle.truffle.api.RootCallTarget get(com.oracle.truffle.llvm.runtime.types.FunctionType);
descriptor: (Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.overloadingMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.RootCallTarget
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Intrinsic;
0 1 1 type Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
type
private com.oracle.truffle.api.RootCallTarget generateTarget(com.oracle.truffle.llvm.runtime.types.FunctionType);
descriptor: (Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.provider:Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.intrinsicName:Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.types.FunctionType.getArgumentTypes:()Ljava/util/List;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider.generateIntrinsicTarget:(Ljava/lang/String;Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)Lcom/oracle/truffle/api/RootCallTarget;
astore 2
start local 2 2: getstatic com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.$assertionsDisabled:Z
ifne 3
aload 2
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.truffle.api.RootCallTarget
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic.overloadingMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Intrinsic;
0 5 1 type Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
2 5 2 newTarget Lcom/oracle/truffle/api/RootCallTarget;
MethodParameters:
Name Flags
type
}
SourceFile: "LLVMFunctionCode.java"
NestHost: com.oracle.truffle.llvm.runtime.LLVMFunctionCode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Intrinsic = com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Intrinsic of com.oracle.truffle.llvm.runtime.LLVMFunctionCode