[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mauve patch
From: |
Sascha Brawer |
Subject: |
Re: Mauve patch |
Date: |
Tue, 6 Apr 2004 13:52:05 +0200 |
Archie Cobbs <address@hidden> wrote on Mon, 5 Apr 2004 22:30:34 -0500:
>Is this the right place to send Mauve patches? If not please point me
>(or the patch) in the right direction.
There's a list address@hidden (presumably with mostly
the same subscribers as address@hidden, although there seem to
be also a few non-Classpath people there).
>In JC, phantom references are enqueued on the next finalizer run
>after the one that finalizes the object, and finalizer runs only
>happen after a GC cycle, therefore the patch below is required to
>make JC pass the test; ie, the test is being too strict.
>Index: gnu/testlet/java/lang/ref/PhantomReference/phantom.java
>===================================================================
>RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/ref/PhantomReference/
>phantom.java,v
>retrieving revision 1.1
>diff -u -r1.1 phantom.java
>--- gnu/testlet/java/lang/ref/PhantomReference/phantom.java 27 Sep
>2001 15:44:09 -0000 1.1
>+++ gnu/testlet/java/lang/ref/PhantomReference/phantom.java 6 Apr
>2004 03:28:19 -0000
>@@ -70,6 +70,8 @@
>
> PhantomReference wr = try1 (q, harness);
> System.gc ();
>+ Thread.yield();
>+ System.gc ();
>
> Reference r = null;
> try
Does this really guarantee that the finalizer has run? Couldn't this also
lead to any other thread, such as some VM-internal thread, without
running the finalizer? If so, you might want to call Object.notify in the
finalizer and Object.wait at the above code location.
-- Sascha
Sascha Brawer, address@hidden, http://www.dandelis.ch/people/brawer/