public class org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest extends org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest
super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
static jdk.vm.ci.code.stack.StackIntrospection stackIntrospection;
descriptor: Ljdk/vm/ci/code/stack/StackIntrospection;
flags: (0x0008) ACC_STATIC
static volatile int v;
descriptor: I
flags: (0x0048) ACC_STATIC, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getStackIntrospection:()Ljdk/vm/ci/code/stack/StackIntrospection;
putstatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.stackIntrospection:Ljdk/vm/ci/code/stack/StackIntrospection;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest;
public static void testSynchronizedSnippet(java.util.function.Function<java.lang.Void, java.lang.Void>);
descriptor: (Ljava/util/function/Function;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 1
start local 1 1: aload 1
dup
astore 2
monitorenter
2: aload 1
aload 1
aload 0
invokestatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.forceFrameState:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
aload 1
invokestatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.testOnStack:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 1
invokevirtual java.lang.Object.notify:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: java.util.function.Function java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 f Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;
1 9 1 a Ljava/lang/Object;
Exception table:
from to target type
2 5 6 any
6 7 6 any
Signature: (Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
f
public static void testSnippet(java.util.function.Function<java.lang.Void, java.lang.Void>);
descriptor: (Ljava/util/function/Function;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 1
start local 1 1: aload 1
aload 1
aload 0
invokestatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.forceFrameState:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
aload 1
invokestatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.testOnStack:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 f Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;
1 3 1 a Ljava/lang/Object;
Signature: (Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
f
private static void testOnStack(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
if_acmpne 1
aload 0
aload 2
if_acmpeq 2
1: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Ljava/lang/Object;
0 3 1 a2 Ljava/lang/Object;
0 3 2 a3 Ljava/lang/Object;
MethodParameters:
Name Flags
a
a2
a3
private static forceFrameState(, java.util.function.Function<java.lang.Void, java.lang.Void>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.v:I
iconst_1
iadd
putstatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.v:I
1: aload 1
aconst_null
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Ljava/lang/Object;
0 3 1 f Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;
Signature: (Ljava/lang/Object;Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
a
f
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssume cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest;
Exceptions:
throws jdk.vm.ci.code.InvalidInstalledCodeException
RuntimeInvisibleAnnotations:
Test()
public void runSynchronized();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssume cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest;
Exceptions:
throws jdk.vm.ci.code.InvalidInstalledCodeException
RuntimeInvisibleAnnotations:
Test()
private void test(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.getMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
start local 2 1: aload 2
invokedynamic apply(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest.lambda$0(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Void;)Ljava/lang/Void; (6)
(Ljava/lang/Void;)Ljava/lang/Void;
astore 3
start local 3 2: aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
astore 4
start local 4 3: aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual jdk.vm.ci.code.InstalledCode.executeVarargs:([Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest;
0 5 1 name Ljava/lang/String;
1 5 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 5 3 f Ljava/util/function/Function<Ljava/lang/Void;Ljava/lang/Void;>;
3 5 4 code Ljdk/vm/ci/code/InstalledCode;
Exceptions:
throws jdk.vm.ci.code.InvalidInstalledCodeException
MethodParameters:
Name Flags
name
private static java.lang.Void lambda$0(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Void);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Void;)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 1 0: getstatic org.graalvm.compiler.hotspot.test.HotSpotStackIntrospectionTest.stackIntrospection:Ljdk/vm/ci/code/stack/StackIntrospection;
aconst_null
aconst_null
iconst_0
aload 0
invokedynamic visitFrame(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/stack/InspectedFrameVisitor;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/code/stack/InspectedFrame;)Ljava/lang/Object;
org/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest.lambda$1(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/stack/InspectedFrame;)Ljava/lang/Object; (6)
(Ljdk/vm/ci/code/stack/InspectedFrame;)Ljava/lang/Object;
invokeinterface jdk.vm.ci.code.stack.StackIntrospection.iterateFrames:([Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjdk/vm/ci/code/stack/InspectedFrameVisitor;)Ljava/lang/Object;
pop
1: aconst_null
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 o Ljava/lang/Void;
private static java.lang.Object lambda$1(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.stack.InspectedFrame);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/stack/InspectedFrame;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface jdk.vm.ci.code.stack.InspectedFrame.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
iconst_1
invokeinterface jdk.vm.ci.code.stack.InspectedFrame.materializeVirtualObjects:(Z)V
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 frame Ljdk/vm/ci/code/stack/InspectedFrame;
}
SourceFile: "HotSpotStackIntrospectionTest.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles