public final class org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin implements org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin
super_class: java.lang.Object
{
private static final sun.misc.Unsafe UNSAFE;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.JavaKind wordKind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final org.graalvm.word.LocationIdentity JAVA_THREAD_SHOULD_POST_ON_EXCEPTIONS_FLAG_LOCATION;
descriptor: Lorg/graalvm/word/LocationIdentity;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, 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 Lorg/graalvm/compiler/hotspot/meta/HotSpotExceptionDispatchPlugin;
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 org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.$assertionsDisabled:Z
3: invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
putstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.UNSAFE:Lsun/misc/Unsafe;
4: ldc "JavaThread::_should_post_on_exceptions_flag"
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.mutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
putstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.JAVA_THREAD_SHOULD_POST_ON_EXCEPTIONS_FLAG_LOCATION:Lorg/graalvm/word/LocationIdentity;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/JavaKind;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/meta/HotSpotExceptionDispatchPlugin;
0 4 1 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 4 2 wordKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
config
wordKind
public org.graalvm.compiler.nodes.FixedWithNextNode instrumentExceptionDispatch(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.FixedWithNextNode, java.util.function.Supplier<org.graalvm.compiler.nodes.FrameState>);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Ljava/util/function/Supplier;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
astore 4
start local 4 1: aload 4
instanceof org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier
ifeq 28
2: aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.jvmciCompileStateCanPostOnExceptionsOffset:I
ldc -2147483648
if_icmpeq 28
3: aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.javaThreadShouldPostOnExceptionsFlagOffset:I
ldc -2147483648
if_icmpeq 28
4: getstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin$Options.HotSpotPostOnExceptions:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 5
start local 5 5: aload 4
checkcast org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier
invokevirtual org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier.getRequest:()Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
astore 6
start local 6 6: aload 6
ifnull 13
7: aload 6
invokevirtual jdk.vm.ci.hotspot.HotSpotCompilationRequest.getJvmciEnv:()J
lstore 7
start local 7 8: lload 7
lconst_0
lcmp
ifeq 13
9: lload 7
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.jvmciCompileStateCanPostOnExceptionsOffset:I
i2l
ladd
lstore 9
start local 9 10: getstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.UNSAFE:Lsun/misc/Unsafe;
lload 9
invokevirtual sun.misc.Unsafe.getByte:(J)B
ifeq 11
iconst_1
goto 12
StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedWithNextNode java.util.function.Supplier org.graalvm.compiler.core.common.CompilationIdentifier int jdk.vm.ci.hotspot.HotSpotCompilationRequest long long
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 5
end local 9 end local 7 13: StackMap locals:
StackMap stack:
iload 5
ifeq 28
14: aload 1
new org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode
dup
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
invokespecial org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode.<init>:(Ljdk/vm/ci/meta/JavaKind;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode
astore 7
start local 7 15: aload 1
aload 0
getfield org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.javaThreadShouldPostOnExceptionsFlagOffset:I
i2l
invokestatic org.graalvm.compiler.nodes.ConstantNode.forLong:(J)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 16: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 7
aload 8
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 9
start local 9 17: aload 1
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 9
getstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.JAVA_THREAD_SHOULD_POST_ON_EXCEPTIONS_FLAG_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.intValue:()Lorg/graalvm/compiler/core/common/type/Stamp;
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 10
start local 10 18: aload 2
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
19: aload 1
iconst_0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 11
start local 11 20: aload 1
new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
dup
aload 10
aload 11
invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 12
start local 12 21: aload 1
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 12
getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_0
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedGuardNode
astore 13
start local 13 22: aload 3
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 14
start local 14 23: getstatic org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin.$assertionsDisabled:Z
ifne 25
aload 14
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
iconst_1
if_icmpne 24
aload 14
invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
ifne 25
StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedWithNextNode java.util.function.Supplier org.graalvm.compiler.core.common.CompilationIdentifier int jdk.vm.ci.hotspot.HotSpotCompilationRequest org.graalvm.compiler.hotspot.nodes.CurrentJavaThreadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.FrameState
StackMap stack:
24: new java.lang.AssertionError
dup
ldc "expected rethrow exception FrameState"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals:
StackMap stack:
aload 13
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
26: aload 10
aload 13
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
27: aload 13
areturn
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 28: StackMap locals: org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedWithNextNode java.util.function.Supplier org.graalvm.compiler.core.common.CompilationIdentifier
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/hotspot/meta/HotSpotExceptionDispatchPlugin;
0 29 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 29 2 afterExceptionLoaded Lorg/graalvm/compiler/nodes/FixedWithNextNode;
0 29 3 frameStateFunction Ljava/util/function/Supplier<Lorg/graalvm/compiler/nodes/FrameState;>;
1 29 4 id Lorg/graalvm/compiler/core/common/CompilationIdentifier;
5 28 5 canPostOnExceptions Z
6 28 6 request Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
8 13 7 compileState J
10 13 9 canPostOnExceptionsOffset J
15 28 7 thread Lorg/graalvm/compiler/hotspot/nodes/CurrentJavaThreadNode;
16 28 8 offset Lorg/graalvm/compiler/nodes/ValueNode;
17 28 9 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
18 28 10 shouldPostException Lorg/graalvm/compiler/nodes/memory/ReadNode;
20 28 11 zero Lorg/graalvm/compiler/nodes/ValueNode;
21 28 12 cond Lorg/graalvm/compiler/nodes/LogicNode;
22 28 13 check Lorg/graalvm/compiler/nodes/FixedGuardNode;
23 28 14 fs Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Ljava/util/function/Supplier<Lorg/graalvm/compiler/nodes/FrameState;>;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
afterExceptionLoaded
frameStateFunction
}
SourceFile: "HotSpotExceptionDispatchPlugin.java"
NestMembers:
org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin$Options
InnerClasses:
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public Options = org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin$Options of org.graalvm.compiler.hotspot.meta.HotSpotExceptionDispatchPlugin
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess