clean up bootstrap type generation to eliminate redundancy (broken)

This commit is contained in:
Joel Dice
2007-11-04 14:15:28 -07:00
parent bea4a73f54
commit 94e9bd0fd2
20 changed files with 755 additions and 571 deletions

View File

@ -4,7 +4,8 @@ public abstract class Reference<T> {
private Object vmNext;
private T target;
private ReferenceQueue<? super T> queue;
Reference next;
Reference jNext;
protected Reference(T target, ReferenceQueue<? super T> queue) {
this.target = target;
@ -20,7 +21,7 @@ public abstract class Reference<T> {
}
public boolean isEnqueued() {
return next != null;
return jNext != null;
}
public boolean enqueue() {

View File

@ -7,21 +7,21 @@ public class ReferenceQueue<T> {
public Reference<? extends T> poll() {
Reference<? extends T> r = front;
if (front != null) {
if (front == front.next) {
if (front == front.jNext) {
front = rear = null;
} else {
front = front.next;
front = front.jNext;
}
}
return r;
}
void add(Reference<? extends T> r) {
r.next = r;
r.jNext = r;
if (front == null) {
front = r;
} else {
rear.next = r;
rear.jNext = r;
}
rear = r;
}