use member functions to access Instruction fields

git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1068 379699f6-c40d-0410-875b-85095c16579e
branch_1_1
jochen 25 years ago
parent f301603e87
commit 0f38b5d122
  1. 54
      jode/jode/jvm/Interpreter.j

@ -197,9 +197,9 @@ skip_debugging:
dup
astore 6
dup
getfield jode/bytecode/Instruction/nextByAddr Ljode/bytecode/Instruction;
invokevirtual jode/bytecode/Instruction/getNextByAddr()Ljode/bytecode/Instruction;
astore 4
getfield jode/bytecode/Instruction/opcode I
invokevirtual jode/bytecode/Instruction/getOpcode()I
; stack:
; instr.opcode
dup
@ -220,7 +220,7 @@ skip_debugging:
aaload
iinc 5 1
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
invokevirtual jode/bytecode/Instruction/getConstant()Ljava/lang/Object;
; Stack:
; instr.objData
; stack_value
@ -256,7 +256,7 @@ load_store_instr:
aload_2 ; locals
aload 6
getfield jode/bytecode/Instruction/localSlot I
invokevirtual jode/bytecode/Instruction/getLocalSlot()I
aaload
invokevirtual jode/jvm/Value/setValue(Ljode/jvm/Value;)V
@ -332,7 +332,7 @@ store_instr:
aload_2 ; locals
aload 6
getfield jode/bytecode/Instruction/localSlot I
invokevirtual jode/bytecode/Instruction/getLocalSlot()I
aaload
iinc 5 -1
aload_3 ; stack
@ -670,12 +670,12 @@ iinc_instr:
pop2
aload_2
aload 6
getfield jode/bytecode/Instruction/localSlot I
invokevirtual jode/bytecode/Instruction/getLocalSlot()I
aaload
dup
invokevirtual jode/jvm/Value/intValue()I
aload 6
getfield jode/bytecode/Instruction/intData I
invokevirtual jode/bytecode/Instruction/getIntData()I
iadd
invokevirtual jode/jvm/Value/setInt(I)V
goto big_loop
@ -1318,7 +1318,7 @@ ificmp_final:
ifge big_loop
jump_succ:
aload 6
getfield jode/bytecode/Instruction/succs [Ljode/bytecode/Instruction;
invokevirtual jode/bytecode/Instruction/getSuccs()[Ljode/bytecode/Instruction;
iconst_0
aaload
astore 4
@ -1355,11 +1355,11 @@ tableswitch_instr:
aaload
invokevirtual jode/jvm/Value/intValue()I
aload 6
getfield jode/bytecode/Instruction/intData I
invokevirtual jode/bytecode/Instruction/getIntData()I
isub
dup
aload 6
getfield jode/bytecode/Instruction/succs [Ljode/bytecode/Instruction;
invokevirtual jode/bytecode/Instruction/getSuccs()[Ljode/bytecode/Instruction;
dup_x2
; Stack:
; succs
@ -1392,8 +1392,7 @@ lookupswitch_instr:
aaload
invokevirtual jode/jvm/Value/intValue()I
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast [I
invokevirtual jode/bytecode/Instruction/getValues()[I
iconst_0
; Stack:
; i
@ -1420,7 +1419,7 @@ lookup_found:
istore 7
pop2
aload 6
getfield jode/bytecode/Instruction/succs [Ljode/bytecode/Instruction;
invokevirtual jode/bytecode/Instruction/getSuccs()[Ljode/bytecode/Instruction;
iload 7
aaload
astore 4
@ -1450,8 +1449,7 @@ putfield_instr:
istore 7
aload_0
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast jode/bytecode/Reference
invokevirtual jode/bytecode/Instruction/getReference()Ljode/bytecode/Reference;
dup
invokevirtual jode/bytecode/Reference/getType()Ljava/lang/String;
dup
@ -1524,8 +1522,7 @@ getfield_instr:
getfield_do:
aload_0
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast jode/bytecode/Reference
invokevirtual jode/bytecode/Instruction/getReference()Ljode/bytecode/Reference;
dup_x2
aload 7
getfield_start:
@ -1556,8 +1553,7 @@ invoke_instr:
istore 7
aload_0
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast jode/bytecode/Reference
invokevirtual jode/bytecode/Instruction/getReference()Ljode/bytecode/Reference;
dup
invokevirtual jode/bytecode/Reference/getType()Ljava/lang/String;
invokestatic jode/type/Type/tType(Ljava/lang/String;)Ljode/type/Type;
@ -1714,8 +1710,7 @@ new_instr:
new jode/jvm/NewObject
dup
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast java/lang/String
invokevirtual jode/bytecode/Instruction/getClazzType()Ljava/lang/String;
invokenonvirtual jode/jvm/NewObject/<init>(Ljava/lang/String;)V
invokevirtual jode/jvm/Value/setNewObject(Ljode/jvm/NewObject;)V
iinc 5 1
@ -1775,8 +1770,7 @@ checkcast_instr:
dup
ifnull popLL_big_loop
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast java/lang/String
invokevirtual jode/bytecode/Instruction/getClazzType()Ljava/lang/String;
invokeinterface jode/jvm/RuntimeEnvironment/instanceOf(Ljava/lang/Object;Ljava/lang/String;)Z 3
ifne big_loop
new java/lang/ClassCastException
@ -1798,8 +1792,7 @@ instanceof_instr:
dup_x1
invokevirtual jode/jvm/Value/objectValue()Ljava/lang/Object;
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast java/lang/String
invokevirtual jode/bytecode/Instruction/getClazzType()Ljava/lang/String;
invokeinterface jode/jvm/RuntimeEnvironment/instanceOf(Ljava/lang/Object;Ljava/lang/String;)Z 3
invokevirtual jode/jvm/Value/setInt(I)V
goto big_loop
@ -1828,7 +1821,7 @@ monitorexit_instr:
multianewarray_instr:
pop
aload 6
getfield jode/bytecode/Instruction/intData I
invokevirtual jode/bytecode/Instruction/getIntData()I
dup
istore 7
newarray int
@ -1853,8 +1846,7 @@ newarray_test:
iinc 5 1
aload_0
aload 6
getfield jode/bytecode/Instruction/objData Ljava/lang/Object;
checkcast java/lang/String
invokevirtual jode/bytecode/Instruction/getClazzType()Ljava/lang/String;
aload 7
newarray_start:
invokeinterface jode/jvm/RuntimeEnvironment/newArray(Ljava/lang/String;[I)Ljava/lang/Object; 3
@ -1883,7 +1875,7 @@ handle_exception:
ifeq nohandlers
istore 7
aload 4
getfield jode/bytecode/Instruction/addr I
invokevirtual jode/bytecode/Instruction/getAddr()I
istore 4
iconst_0
; Stack:
@ -1894,12 +1886,12 @@ handler_loop:
aaload
dup
getfield jode/bytecode/Handler/start Ljode/bytecode/Instruction;
getfield jode/bytecode/Instruction/addr I
invokevirtual jode/bytecode/Instruction/getAddr()I
iload 4
if_icmplt wrong_handler_pop
dup
getfield jode/bytecode/Handler/end Ljode/bytecode/Instruction;
getfield jode/bytecode/Instruction/addr I
invokevirtual jode/bytecode/Instruction/getAddr()I
iload 4
if_icmplt wrong_handler_pop
dup

Loading…
Cancel
Save