|
Message
From: cvs at opencores.org<cvs@o...>
Date: Mon May 28 18:10:57 CEST 2007
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/07/05 28:18:10 Modified: jop/java/target/src/common/com/jopdesign/sys JVM.java Log: checkcast correction use GC mutex for new Revision Changes Path 1.23 jop/java/target/src/common/com/jopdesign/sys/JVM.java http://www.opencores.org/cvsweb.shtml/jop/java/target/src/common/com/jopdesign/sys/JVM.java.diff?r1=1.22&r2=1.23 (In the diff below, changes in quantity of whitespace are not shown.) Index: JVM.java =================================================================== RCS file: /cvsroot/martin/jop/java/target/src/common/com/jopdesign/sys/JVM.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -b -r1.22 -r1.23 --- JVM.java 14 Apr 2007 18:38:10 -0000 1.22 +++ JVM.java 28 May 2007 16:10:56 -0000 1.23 @@ -571,14 +571,11 @@ private static void f_invokeinterface() { JVMHelp.noim();} private static void f_unused_ba() { JVMHelp.noim();} -// TODO: synchronized on functions that change JVM state (e.g. heap pointer) -static Object o; - private static int f_new(int cons) { int ret; - synchronized (o) { + synchronized (GC.mutex) { ret = GC.newObject(cons); } @@ -590,7 +587,7 @@ int ret; - synchronized (o) { + synchronized (GC.mutex) { ret = GC.newArray(count, type); } @@ -604,7 +601,7 @@ // should be different for the GC!!! int ret; - synchronized (o) { + synchronized (GC.mutex) { ret = GC.newArray(count, 1); //1..type not available=reference } @@ -623,6 +620,7 @@ } JVMHelp.wr(" thrown\n"); JVMHelp.wr("catch not implemented!"); + Startup.exit(); return t; } @@ -637,7 +635,7 @@ for (;;) { if (p==cons) { - return 1; + return objref; } else { p = Native.rdMem(p+2); if (p==0) break; // we are at Object
|
 |