|
Message
From: cvs at opencores.org<cvs@o...>
Date: Mon May 28 20:10:47 CEST 2007
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/07/05 28:20:10 Modified: jop/java/tools/src/com/jopdesign/tools JopSim.java Log: putstatic and putfield in JVM.java for reference fields Revision Changes Path 1.28 jop/java/tools/src/com/jopdesign/tools/JopSim.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/com/jopdesign/tools/JopSim.java.diff?r1=1.27&r2=1.28 (In the diff below, changes in quantity of whitespace are not shown.) Index: JopSim.java =================================================================== RCS file: /cvsroot/martin/jop/java/tools/src/com/jopdesign/tools/JopSim.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -b -r1.27 -r1.28 --- JopSim.java 30 Dec 2006 19:50:47 -0000 1.27 +++ JopSim.java 28 May 2007 18:10:47 -0000 1.28 @@ -172,6 +172,16 @@ invoke(jjp+(instr<<1)); } + /** + * call function in JVM.java with index in constant pool on stack + */ + void jjvmIdx(int instr) { + + int idx = readOpd16u(); + stack[++sp] = idx; // push on stack + invoke(jjp+(instr<<1)); + } + void dump() { System.out.print("cp="+cp+" vp="+vp+" sp="+sp+" pc="+pc); System.out.println(" Stack=[..., "+stack[sp-2]+", "+stack[sp-1]+", "+stack[sp]+"]"); @@ -1546,13 +1556,15 @@ getstatic(); break; case 225 : // resE1 - putstatic_ref - putstatic(); + jjvmConst(225); // use JVM.java version + //putstatic(); break; case 226 : // resE2 - getfield_ref getfield(); break; case 227 : // resE3 - putfield_ref - putfield(); + jjvmIdx(227); // use JVM.java version + //putfield(); break; case 228 : // resE4 - getstatic_long getstatic_long();
|
 |