From 1ee2befce5fc475d8dc85164674ab0940bb97380 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 14 Apr 1999 20:27:35 +0000 Subject: [PATCH] Types moved to jode.type some bug fixes git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@610 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/jvm/Interpreter.j | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/jode/jode/jvm/Interpreter.j b/jode/jode/jvm/Interpreter.j index 77772d1..cfe096f 100644 --- a/jode/jode/jvm/Interpreter.j +++ b/jode/jode/jvm/Interpreter.j @@ -85,7 +85,7 @@ big_loop: ; ========= DEBUGGING OUTPUT =============================== getstatic jode/Decompiler/isDebugging Z ifeq skip_debugging - getstatic java/lang/System/err Ljava/io/PrintStream; + getstatic jode/Decompiler/err Ljava/io/PrintStream; dup aload 4 invokevirtual jode/bytecode/Instruction/getDescription()Ljava/lang/String; @@ -247,7 +247,6 @@ load_store_instr: ; ====== LOAD INSTRUCTIONS - pop ; opcode aload_3 ; stack iload 5 ; stacktop aaload @@ -258,6 +257,11 @@ load_store_instr: getfield jode/bytecode/Instruction/localSlot I aaload invokevirtual jode/jvm/Value/setValue(Ljode/jvm/Value;)V + + iconst_1 + iand ; opcode & 1 + ifne big_loop + iinc 5 1 goto big_loop array_load_instr: @@ -336,6 +340,7 @@ store_instr: goto big_loop array_store_instr: + istore 7 iinc 5 -2 aload_3 @@ -375,7 +380,6 @@ array_store_instr: ; index ; array - instanceof [Z ifne bool_array_store iload 6 @@ -717,8 +721,9 @@ second_op_done: first_op_single: ; opcode mask ; opcode - bipush 0x05A5 + sipush 0x05A5 iand + aload_3 iload 5 aaload @@ -1551,8 +1556,8 @@ invoke_instr: checkcast jode/bytecode/Reference dup invokevirtual jode/bytecode/Reference/getType()Ljava/lang/String; - invokestatic jode/Type/tType(Ljava/lang/String;)Ljode/Type; - checkcast jode/MethodType + invokestatic jode/type/Type/tType(Ljava/lang/String;)Ljode/type/Type; + checkcast jode/type/MethodType ; Stack: ; methodType ; ref @@ -1563,7 +1568,7 @@ invoke_instr: ; ref ; env ; methodType - invokevirtual jode/MethodType/getParameterTypes()[Ljode/Type; + invokevirtual jode/type/MethodType/getParameterTypes()[Ljode/type/Type; dup arraylength dup @@ -1594,7 +1599,7 @@ invoke_loop: ; ref ; env ; methodType - invokevirtual jode/Type/stackSize()I + invokevirtual jode/type/Type/stackSize()I ineg iload 5 iadd @@ -1683,8 +1688,8 @@ invoke_end: ; Stack: ; methodType - invokevirtual jode/MethodType/getReturnType()Ljode/Type; - invokevirtual jode/Type/stackSize()I + invokevirtual jode/type/MethodType/getReturnType()Ljode/type/Type; + invokevirtual jode/type/Type/stackSize()I dup ifeq popI_big_loop aload_3