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
stable
jochen 26 years ago
parent c0cd537eaf
commit 1ee2befce5
  1. 25
      jode/jode/jvm/Interpreter.j

@ -85,7 +85,7 @@ big_loop:
; ========= DEBUGGING OUTPUT =============================== ; ========= DEBUGGING OUTPUT ===============================
getstatic jode/Decompiler/isDebugging Z getstatic jode/Decompiler/isDebugging Z
ifeq skip_debugging ifeq skip_debugging
getstatic java/lang/System/err Ljava/io/PrintStream; getstatic jode/Decompiler/err Ljava/io/PrintStream;
dup dup
aload 4 aload 4
invokevirtual jode/bytecode/Instruction/getDescription()Ljava/lang/String; invokevirtual jode/bytecode/Instruction/getDescription()Ljava/lang/String;
@ -247,7 +247,6 @@ load_store_instr:
; ====== LOAD INSTRUCTIONS ; ====== LOAD INSTRUCTIONS
pop ; opcode
aload_3 ; stack aload_3 ; stack
iload 5 ; stacktop iload 5 ; stacktop
aaload aaload
@ -258,6 +257,11 @@ load_store_instr:
getfield jode/bytecode/Instruction/localSlot I getfield jode/bytecode/Instruction/localSlot I
aaload aaload
invokevirtual jode/jvm/Value/setValue(Ljode/jvm/Value;)V invokevirtual jode/jvm/Value/setValue(Ljode/jvm/Value;)V
iconst_1
iand ; opcode & 1
ifne big_loop
iinc 5 1
goto big_loop goto big_loop
array_load_instr: array_load_instr:
@ -336,6 +340,7 @@ store_instr:
goto big_loop goto big_loop
array_store_instr: array_store_instr:
istore 7 istore 7
iinc 5 -2 iinc 5 -2
aload_3 aload_3
@ -375,7 +380,6 @@ array_store_instr:
; index ; index
; array ; array
instanceof [Z instanceof [Z
ifne bool_array_store ifne bool_array_store
iload 6 iload 6
@ -717,8 +721,9 @@ second_op_done:
first_op_single: first_op_single:
; opcode mask ; opcode mask
; opcode ; opcode
bipush 0x05A5 sipush 0x05A5
iand iand
aload_3 aload_3
iload 5 iload 5
aaload aaload
@ -1551,8 +1556,8 @@ invoke_instr:
checkcast jode/bytecode/Reference checkcast jode/bytecode/Reference
dup dup
invokevirtual jode/bytecode/Reference/getType()Ljava/lang/String; invokevirtual jode/bytecode/Reference/getType()Ljava/lang/String;
invokestatic jode/Type/tType(Ljava/lang/String;)Ljode/Type; invokestatic jode/type/Type/tType(Ljava/lang/String;)Ljode/type/Type;
checkcast jode/MethodType checkcast jode/type/MethodType
; Stack: ; Stack:
; methodType ; methodType
; ref ; ref
@ -1563,7 +1568,7 @@ invoke_instr:
; ref ; ref
; env ; env
; methodType ; methodType
invokevirtual jode/MethodType/getParameterTypes()[Ljode/Type; invokevirtual jode/type/MethodType/getParameterTypes()[Ljode/type/Type;
dup dup
arraylength arraylength
dup dup
@ -1594,7 +1599,7 @@ invoke_loop:
; ref ; ref
; env ; env
; methodType ; methodType
invokevirtual jode/Type/stackSize()I invokevirtual jode/type/Type/stackSize()I
ineg ineg
iload 5 iload 5
iadd iadd
@ -1683,8 +1688,8 @@ invoke_end:
; Stack: ; Stack:
; methodType ; methodType
invokevirtual jode/MethodType/getReturnType()Ljode/Type; invokevirtual jode/type/MethodType/getReturnType()Ljode/type/Type;
invokevirtual jode/Type/stackSize()I invokevirtual jode/type/Type/stackSize()I
dup dup
ifeq popI_big_loop ifeq popI_big_loop
aload_3 aload_3

Loading…
Cancel
Save