public class sun.jvm.hotspot.interpreter.BytecodeStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.interpreter.BytecodeStream
super_class: java.lang.Object
{
private sun.jvm.hotspot.oops.Method _method;
descriptor: Lsun/jvm/hotspot/oops/Method;
flags: (0x0002) ACC_PRIVATE
private int _bci;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _next_bci;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _end_bci;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _code;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean _is_wide;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.jvm.hotspot.oops.Method);
descriptor: (Lsun/jvm/hotspot/oops/Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
2: aload 0
iconst_0
aload 1
invokevirtual sun.jvm.hotspot.oops.Method.getCodeSize:()J
l2i
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.setInterval:(II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
0 4 1 method Lsun/jvm/hotspot/oops/Method;
MethodParameters:
Name Flags
method
public void setInterval(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 7
1: iload 1
iflt 2
iload 1
i2l
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getCodeSize:()J
lcmp
ifgt 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "illegal beg_bci"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: iload 2
iflt 5
iload 2
i2l
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getCodeSize:()J
lcmp
ifgt 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ldc "illegal end_bci"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
8: aload 0
iload 1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
9: aload 0
iload 2
putfield sun.jvm.hotspot.interpreter.BytecodeStream._end_bci:I
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
0 11 1 beg_bci I
0 11 2 end_bci I
MethodParameters:
Name Flags
beg_bci
end_bci
public void setStart(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getCodeSize:()J
l2i
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.setInterval:(II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
0 2 1 beg_bci I
MethodParameters:
Name Flags
beg_bci
public int next();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
putfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.isLastBytecode:()Z
ifeq 4
2: iconst_m1
istore 1
start local 1 3: goto 24
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.codeAt:(Lsun/jvm/hotspot/oops/Method;I)I
istore 2
start local 2 5: iconst_0
istore 1
start local 1 6: iload 2
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.javaCode:(I)I
istore 1
7: goto 11
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeStream int int
StackMap stack: sun.jvm.hotspot.utilities.AssertionFailure
8: astore 3
start local 3 9: aload 3
invokevirtual sun.jvm.hotspot.utilities.AssertionFailure.printStackTrace:()V
10: iconst_0
new java.lang.StringBuilder
dup
ldc "Failure occurred at bci "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in method "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.externalNameAndSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
end local 3 11: StackMap locals:
StackMap stack:
iload 1
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.lengthFor:(I)I
istore 3
start local 3 12: iload 3
ifne 13
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.lengthAt:(Lsun/jvm/hotspot/oops/Method;I)I
istore 3
13: StackMap locals: int
StackMap stack:
aload 0
dup
getfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
iload 3
iadd
putfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
14: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 18
15: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
if_icmpge 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: ldc "length must be > 0"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.jvm.hotspot.interpreter.BytecodeStream._is_wide:Z
19: iload 1
sipush 196
if_icmpne 22
20: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeOrBPAt:(I)I
istore 1
21: aload 0
iconst_1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._is_wide:Z
22: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 24
23: iload 1
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.isJavaCode:(I)Z
ldc "sanity check"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
end local 3 end local 2 24: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._code:I
25: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._code:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
3 4 1 code I
6 26 1 code I
5 24 2 rawCode I
9 11 3 e Lsun/jvm/hotspot/utilities/AssertionFailure;
12 24 3 l I
Exception table:
from to target type
6 7 8 Class sun.jvm.hotspot.utilities.AssertionFailure
public sun.jvm.hotspot.oops.Method method();
descriptor: ()Lsun/jvm/hotspot/oops/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int bci();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int nextBCI();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int endBCI();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._end_bci:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int code();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._code:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public boolean isWide();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._is_wide:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public boolean isActiveBreakpoint();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._bci:I
invokestatic sun.jvm.hotspot.interpreter.Bytecodes.isActiveBreakpointAt:(Lsun/jvm/hotspot/oops/Method;I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public boolean isLastBytecode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._end_bci:I
if_icmplt 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/BytecodeStream;
public void setNextBCI(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 4
1: iload 1
iflt 2
iload 1
i2l
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getCodeSize:()J
lcmp
ifgt 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "illegal bci"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.jvm.hotspot.interpreter.BytecodeStream._next_bci:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
0 6 1 bci I
MethodParameters:
Name Flags
bci
public int dest();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeShortArg:(I)S
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int dest_w();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeIntArg:(I)I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int getIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.isWide:()Z
ifeq 2
1: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_2
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeShortArg:(I)S
ldc 65535
iand
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeOrBPAt:(I)I
sipush 255
iand
3: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int getIndexU1();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeOrBPAt:(I)I
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int getIndexU2();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeShortArg:(I)S
ldc 65535
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int getIndexU4();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getNativeIntArg:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public boolean hasIndexU4();
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.BytecodeStream.code:()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/BytecodeStream;
public int getIndexU1Cpcache();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeOrBPAt:(I)I
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int getIndexU2Cpcache();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
iconst_1
iadd
invokevirtual sun.jvm.hotspot.oops.Method.getNativeShortArg:(I)S
ldc 65535
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
public int codeAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.jvm.hotspot.interpreter.BytecodeStream._method:Lsun/jvm/hotspot/oops/Method;
iload 1
invokevirtual sun.jvm.hotspot.oops.Method.getBytecodeOrBPAt:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/interpreter/BytecodeStream;
0 1 1 bci I
MethodParameters:
Name Flags
bci
}
SourceFile: "BytecodeStream.java"