From 0f38b5d122ac4e4eec780b1b1ac2ea2585faf320 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 14 Jul 1999 16:33:08 +0000 Subject: [PATCH] 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 --- jode/jode/jvm/Interpreter.j | 54 ++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/jode/jode/jvm/Interpreter.j b/jode/jode/jvm/Interpreter.j index 81a4c81..b54b3f7 100644 --- a/jode/jode/jvm/Interpreter.j +++ b/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/(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