commit-classpath
[Top][All Lists]
Advanced

[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/ 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]