Date: Sat, 24 Nov 2001 22:10:21 -0800 (PST) From: huang wen hui <huanghwh@yahoo.com> To: freebsd-java@freebsd.org Subject: GC is not work in jdk1.3.1p5+OpenJIT1.1.16 Message-ID: <20011125061021.71089.qmail@web20410.mail.yahoo.com>
next in thread | raw e-mail | index | archive | help
hi,
Here is the sample code:
-----------------------------------------
import java.util.LinkedList;
import java.util.List;
import javax.swing.event.EventListenerList;
public class FixQueue extends Object{
protected EventListenerList listenerList = new
EventListenerList();
private FixQueueException fixQueueExcep
= new FixQueueException("Queue's
MaxQueueLength is Exceed");
private LinkedList list;
private int maxQueueSize;
protected String queueID ="";
public FixQueue(int newMaxQueueSize, String queueID)
{
maxQueueSize = newMaxQueueSize;
this.queueID = queueID;
list = new LinkedList ();
}
public synchronized int getListenerCount() {
return listenerList.getListenerCount();
}
public void addBack(Object obj) {
list.addLast (obj);
if ( list.size () > maxQueueSize ){
list.removeFirst ();
}
}
protected void addBackNoNotify(Object obj){
list.addLast (obj);
if ( list.size () > maxQueueSize ){
list.removeFirst ();
}
}
public Object getFront() {
return list.getFirst ();
}
public Object getBack() {
return list.getLast ();
}
public boolean isEmpty() {
return list.isEmpty ();
}
public void popFront() {
list.removeFirst ();
}
public Object at(int index) {
return list.get (index);
}
public int getSize(){
return list.size();
}
public int getMaxQueueSize(){
return maxQueueSize;
}
public String getQueueID(){
return queueID;
}
public static void main( String[] argv ){
FixQueue fixQueue = new FixQueue(4096,"ID");
while(true) {
fixQueue.addBack(new byte[4096]);
}
}
}
class FixQueueException extends Exception {
public FixQueueException() {
super();
}
public FixQueueException(String s) {
super(s);
}
}
-----------------------------------------
when run under jdk1.3.1p5 that enable OpenJIT1.1.16,
the program will eat a lot of memory as posible as it
can. and error msg is :
Exception in thread "main"
java.lang.StackOverflowError
at
java.util.LinkedList.addBefore(LinkedList.java,
Compiled Code)
at
java.util.LinkedList.addLast(LinkedList.java, Compiled
Code)
at FixQueue.addBack(FixQueue.java, Compiled
Code)
at FixQueue.main(FixQueue.java, Compiled Code)
If disable OpenJIT, it worked as expected.
--hwh
__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011125061021.71089.qmail>
