|
Message
From: cvs at opencores.org<cvs@o...>
Date: Mon May 28 20:10:48 CEST 2007
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/07/05 28:20:10 Modified: jop/asm/src jvm.asm Log: putstatic and putfield in JVM.java for reference fields Revision Changes Path 1.44 jop/asm/src/jvm.asm http://www.opencores.org/cvsweb.shtml/jop/asm/src/jvm.asm.diff?r1=1.43&r2=1.44 (In the diff below, changes in quantity of whitespace are not shown.) Index: jvm.asm =================================================================== RCS file: /cvsroot/martin/jop/asm/src/jvm.asm,v retrieving revision 1.43 retrieving revision 1.44 diff -u -b -r1.43 -r1.44 --- jvm.asm 14 Apr 2007 18:38:10 -0000 1.43 +++ jvm.asm 28 May 2007 18:10:47 -0000 1.44 @@ -87,6 +87,7 @@ // 2006-12-30 add instanceof to invoke JVM.java with constant on TOS // 2007-03-17 new VHDL structure: jopcpu and more records (SimpCon) // 2007-04-14 iaload and iastore in hardware (mem_sc.vhd) +// 2007-05-28 putfield_ref and putstatic_ref in JVM.java // // idiv, irem WRONG when one operand is 0x80000000 // but is now in JVM.java @@ -96,7 +97,7 @@ // gets written in RAM at position 64 // update it when changing .asm, .inc or .vhdl files // -version = 20070414 +version = 20070528 // // io address are negativ memory addresses @@ -895,7 +896,6 @@ -putstatic_ref: putstatic: //******************************* // test for oohw change @@ -982,7 +982,6 @@ -putfield_ref: putfield: //******************************* // test for oohw change @@ -1384,6 +1383,7 @@ anewarray: checkcast: instanceof: +putstatic_ref: // // find address for JVM function @@ -1428,6 +1428,51 @@ nop nop +// +// call com.jopdesign.sys.JMV.fxxx(int index) for not implemented byte codes. +// ... JVM in Java! +// with index into constant pool on stack +// + +putfield_ref: + +// +// find address for JVM function +// + ldjpc + ldi 1 + sub + stjpc // get last byte code + nop // ??? + nop // one more now (2004-04-06) ? + ldm jjp + nop opd + ld_opd_8u + ldi 255 + and + dup + add // *2 + add // jjp+2*bc + stm a // save + +// +// get index +// + nop opd + nop opd + ld_opd_16u + + ldm a // restore mp +
+//
+// invoke JVM.fxxx(int index)
+//
+ ldi 1
+ nop
+ bnz invoke
+ nop
+ nop
+
//****************
// special byte codes for native functions
|
 |