public class sun.jvm.hotspot.interpreter.BytecodeInvoke extends sun.jvm.hotspot.interpreter.BytecodeWithCPIndex
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.interpreter.BytecodeInvoke
super_class: sun.jvm.hotspot.interpreter.BytecodeWithCPIndex
{
void <init>(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial sun.jvm.hotspot.interpreter.BytecodeWithCPIndex.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
0 2 1 method Lsun/jvm/hotspot/oops/Method;
0 2 2 bci I
MethodParameters:
Name Flags
method
bci
public static sun.jvm.hotspot.interpreter.BytecodeInvoke at(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.interpreter.BytecodeInvoke
dup
aload 0
iload 1
invokespecial sun.jvm.hotspot.interpreter.BytecodeInvoke.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
astore 2
start local 2 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 3
2: aload 2
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.verify:()V
3: StackMap locals: sun.jvm.hotspot.interpreter.BytecodeInvoke
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Lsun/jvm/hotspot/oops/Method;
0 4 1 bci I
1 4 2 b Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
MethodParameters:
Name Flags
method
bci
public static sun.jvm.hotspot.interpreter.BytecodeInvoke atCheck(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.interpreter.BytecodeInvoke
dup
aload 0
iload 1
invokespecial sun.jvm.hotspot.interpreter.BytecodeInvoke.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
astore 2
start local 2 1: aload 2
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isValid:()Z
ifeq 2
aload 2
goto 3
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeInvoke
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: sun.jvm.hotspot.interpreter.BytecodeInvoke
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Lsun/jvm/hotspot/oops/Method;
0 4 1 bci I
1 4 2 b Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
MethodParameters:
Name Flags
method
bci
public static sun.jvm.hotspot.interpreter.BytecodeInvoke at(sun.jvm.hotspot.interpreter.BytecodeStream);
descriptor: (Lsun/jvm/hotspot/interpreter/BytecodeStream;)Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.interpreter.BytecodeInvoke
dup
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.method:()Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
invokespecial sun.jvm.hotspot.interpreter.BytecodeInvoke.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bcs Lsun/jvm/hotspot/interpreter/BytecodeStream;
MethodParameters:
Name Flags
bcs
public sun.jvm.hotspot.oops.Symbol name();
descriptor: ()Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokedynamic:()Z
ifeq 3
2: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.indexForFieldOrMethod:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.uncachedGetNameRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
areturn
3: StackMap locals: sun.jvm.hotspot.oops.ConstantPool
StackMap stack:
aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.index:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
1 4 1 cp Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.oops.Symbol signature();
descriptor: ()Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokedynamic:()Z
ifeq 3
2: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.indexForFieldOrMethod:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.uncachedGetSignatureRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
areturn
3: StackMap locals: sun.jvm.hotspot.oops.ConstantPool
StackMap stack:
aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.index:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSignatureRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
1 4 1 cp Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.oops.Method getInvokedMethod();
descriptor: ()Lsun/jvm/hotspot/oops/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.index:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodRefAt:(I)Lsun/jvm/hotspot/oops/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public int resultType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new sun.jvm.hotspot.runtime.ResultTypeFinder
dup
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.signature:()Lsun/jvm/hotspot/oops/Symbol;
invokespecial sun.jvm.hotspot.runtime.ResultTypeFinder.<init>:(Lsun/jvm/hotspot/oops/Symbol;)V
astore 1
start local 1 1: aload 1
invokevirtual sun.jvm.hotspot.runtime.ResultTypeFinder.iterate:()V
2: aload 1
invokevirtual sun.jvm.hotspot.runtime.ResultTypeFinder.type:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
1 3 1 rts Lsun/jvm/hotspot/runtime/ResultTypeFinder;
public int adjustedInvokeCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.javaCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isInvokeinterface();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.adjustedInvokeCode:()I
sipush 185
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isInvokevirtual();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.adjustedInvokeCode:()I
sipush 182
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isInvokestatic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.adjustedInvokeCode:()I
sipush 184
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isInvokespecial();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.adjustedInvokeCode:()I
sipush 183
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isInvokedynamic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.adjustedInvokeCode:()I
sipush 186
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokeinterface:()Z
ifne 5
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokevirtual:()Z
ifne 5
2: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokestatic:()Z
ifne 5
3: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokespecial:()Z
ifne 5
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public void verify();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isValid:()Z
ldc "check invoke"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.getJavaBytecodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
bipush 35
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.indexForFieldOrMethod:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.isInvokedynamic:()Z
ifeq 16
6: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeInvoke.method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 2
start local 2 7: aload 1
bipush 40
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: aload 2
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.indexForFieldOrMethod:()I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.invokeDynamicNameAndTypeRefIndexAt:(I)I
istore 3
start local 3 9: aload 1
iload 3
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: aload 1
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
11: aload 1
ldc " [Name and Type "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
12: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.name:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
13: aload 1
ldc ":"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
14: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.signature:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 3 end local 2 15: goto 27
16: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 1
ldc " [Method "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
17: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 18: new sun.jvm.hotspot.runtime.SignatureConverter
dup
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.signature:()Lsun/jvm/hotspot/oops/Symbol;
aload 2
invokespecial sun.jvm.hotspot.runtime.SignatureConverter.<init>:(Lsun/jvm/hotspot/oops/Symbol;Ljava/lang/StringBuffer;)V
invokevirtual sun.jvm.hotspot.runtime.SignatureConverter.iterateReturntype:()V
19: aload 1
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
20: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
21: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.name:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
22: aload 1
bipush 40
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
23: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
24: new sun.jvm.hotspot.runtime.SignatureConverter
dup
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.signature:()Lsun/jvm/hotspot/oops/Symbol;
aload 2
invokespecial sun.jvm.hotspot.runtime.SignatureConverter.<init>:(Lsun/jvm/hotspot/oops/Symbol;Ljava/lang/StringBuffer;)V
invokevirtual sun.jvm.hotspot.runtime.SignatureConverter.iterateParameters:()V
25: aload 1
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
26: aload 1
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 2 27: StackMap locals:
StackMap stack:
aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
28: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.code:()I
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.javaCode:()I
if_icmpeq 33
29: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
30: aload 1
bipush 91
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeInvoke.getBytecodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
32: aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
33: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/jvm/hotspot/interpreter/BytecodeInvoke;
1 34 1 buf Ljava/lang/StringBuffer;
7 15 2 cp Lsun/jvm/hotspot/oops/ConstantPool;
9 15 3 poolIndex I
18 27 2 sigBuf Ljava/lang/StringBuffer;
}
SourceFile: "BytecodeInvoke.java"