class org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer
super_class: java.lang.Object
{
private org.graalvm.compiler.bytecode.Bytecode expected;
descriptor: Lorg/graalvm/compiler/bytecode/Bytecode;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.bytecode.Bytecode actual;
descriptor: Lorg/graalvm/compiler/bytecode/Bytecode;
flags: (0x0002) ACC_PRIVATE
private jdk.vm.ci.meta.ConstantPool eCp;
descriptor: Ljdk/vm/ci/meta/ConstantPool;
flags: (0x0002) ACC_PRIVATE
private jdk.vm.ci.meta.ConstantPool aCp;
descriptor: Ljdk/vm/ci/meta/ConstantPool;
flags: (0x0002) ACC_PRIVATE
org.graalvm.compiler.bytecode.BytecodeStream eStream;
descriptor: Lorg/graalvm/compiler/bytecode/BytecodeStream;
flags: (0x0000)
org.graalvm.compiler.bytecode.BytecodeStream aStream;
descriptor: Lorg/graalvm/compiler/bytecode/BytecodeStream;
flags: (0x0000)
int bci;
descriptor: I
flags: (0x0000)
void <init>(org.graalvm.compiler.bytecode.Bytecode, org.graalvm.compiler.bytecode.Bytecode);
descriptor: (Lorg/graalvm/compiler/bytecode/Bytecode;Lorg/graalvm/compiler/bytecode/Bytecode;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import org.junit cannot be resolved\n\tThe import org.junit cannot be resolved\n\tThe import org.junit cannot be resolved\n\tThe import org.junit cannot be resolved\n\tBefore cannot be resolved to a type\n\tAssume cannot be resolved\n\tTest cannot be resolved to a type\n\tAssume cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert 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/replacements/test/classfile/ClassfileBytecodeProviderTest$BytecodeComparer;
MethodParameters:
Name Flags
expected
actual
public void compare();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.compare0:()V
1: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
start local 1 3: new org.graalvm.compiler.bytecode.BytecodeDisassembler
dup
iconst_1
iconst_0
invokespecial org.graalvm.compiler.bytecode.BytecodeDisassembler.<init>:(ZZ)V
astore 2
start local 2 4: new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
astore 3
start local 3 5: aload 3
ldc "Error comparing bytecode for %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.expected:Lorg/graalvm/compiler/bytecode/Bytecode;
invokeinterface org.graalvm.compiler.bytecode.Bytecode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
6: aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.bci:I
iflt 9
7: aload 3
ldc "%nexpected: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.expected:Lorg/graalvm/compiler/bytecode/Bytecode;
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.bci:I
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.eStream:Lorg/graalvm/compiler/bytecode/BytecodeStream;
invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
iconst_1
isub
invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Lorg/graalvm/compiler/bytecode/Bytecode;II)Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
8: aload 3
ldc "%nactual: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.actual:Lorg/graalvm/compiler/bytecode/Bytecode;
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.bci:I
aload 0
getfield org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.aStream:Lorg/graalvm/compiler/bytecode/BytecodeStream;
invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
iconst_1
isub
invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Lorg/graalvm/compiler/bytecode/Bytecode;II)Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
9: StackMap locals: java.lang.Throwable org.graalvm.compiler.bytecode.BytecodeDisassembler java.util.Formatter
StackMap stack:
new java.lang.AssertionError
dup
aload 3
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/replacements/test/classfile/ClassfileBytecodeProviderTest$BytecodeComparer;
3 10 1 e Ljava/lang/Throwable;
4 10 2 dis Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
5 10 3 msg Ljava/util/Formatter;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
public void compare0();
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\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert 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/replacements/test/classfile/ClassfileBytecodeProviderTest$BytecodeComparer;
static java.lang.Object lookupConstant(jdk.vm.ci.meta.ConstantPool, int, int);
descriptor: (Ljdk/vm/ci/meta/ConstantPool;II)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokeinterface jdk.vm.ci.meta.ConstantPool.loadReferencedType:(II)V
1: aload 0
iload 1
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupConstant:(I)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cp Ljdk/vm/ci/meta/ConstantPool;
0 2 1 cpi I
0 2 2 opcode I
MethodParameters:
Name Flags
cp
cpi
opcode
static jdk.vm.ci.meta.ResolvedJavaField lookupField(jdk.vm.ci.meta.ConstantPool, int, jdk.vm.ci.meta.ResolvedJavaMethod, int);
descriptor: (Ljdk/vm/ci/meta/ConstantPool;ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 3
invokeinterface jdk.vm.ci.meta.ConstantPool.loadReferencedType:(II)V
1: aload 0
iload 1
aload 2
iload 3
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupField:(ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaField;
checkcast jdk.vm.ci.meta.ResolvedJavaField
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cp Ljdk/vm/ci/meta/ConstantPool;
0 2 1 cpi I
0 2 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 3 opcode I
MethodParameters:
Name Flags
cp
cpi
method
opcode
static jdk.vm.ci.meta.ResolvedJavaMethod lookupMethod(jdk.vm.ci.meta.ConstantPool, int, int);
descriptor: (Ljdk/vm/ci/meta/ConstantPool;II)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokeinterface jdk.vm.ci.meta.ConstantPool.loadReferencedType:(II)V
1: aload 0
iload 1
iload 2
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cp Ljdk/vm/ci/meta/ConstantPool;
0 2 1 cpi I
0 2 2 opcode I
MethodParameters:
Name Flags
cp
cpi
opcode
static jdk.vm.ci.meta.ResolvedJavaMethod lookupMethodOrNull(jdk.vm.ci.meta.ConstantPool, int, int);
descriptor: (Ljdk/vm/ci/meta/ConstantPool;II)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer.lookupMethod:(Ljdk/vm/ci/meta/ConstantPool;II)Ljdk/vm/ci/meta/ResolvedJavaMethod;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodError
pop
3: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cp Ljdk/vm/ci/meta/ConstantPool;
0 4 1 cpi I
0 4 2 opcode I
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodError
MethodParameters:
Name Flags
cp
cpi
opcode
static jdk.vm.ci.meta.ResolvedJavaType lookupType(jdk.vm.ci.meta.ConstantPool, int, int);
descriptor: (Ljdk/vm/ci/meta/ConstantPool;II)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokeinterface jdk.vm.ci.meta.ConstantPool.loadReferencedType:(II)V
1: aload 0
iload 1
iload 2
invokeinterface jdk.vm.ci.meta.ConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cp Ljdk/vm/ci/meta/ConstantPool;
0 2 1 cpi I
0 2 2 opcode I
MethodParameters:
Name Flags
cp
cpi
opcode
static void assertEqualsConstants(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
e
a
static void assertEqualFields(jdk.vm.ci.meta.JavaField, jdk.vm.ci.meta.JavaField);
descriptor: (Ljdk/vm/ci/meta/JavaField;Ljdk/vm/ci/meta/JavaField;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
e
a
static void assertEqualTypes(jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.JavaType);
descriptor: (Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/meta/JavaType;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
e
a
static void assertEqualMethods(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
e
a
protected static boolean typesAreRelated(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 1 a Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
e
a
}
SourceFile: "ClassfileBytecodeProviderTest.java"
NestHost: org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest
InnerClasses:
BytecodeComparer = org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest$BytecodeComparer of org.graalvm.compiler.replacements.test.classfile.ClassfileBytecodeProviderTest