This is the mail archive of the mailing list for the Mauve project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mauve patch

Archie Cobbs <> 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  (presumably with mostly
the same subscribers as, 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/
>RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/ref/PhantomReference/
>retrieving revision 1.1
>diff -u -r1.1
>--- gnu/testlet/java/lang/ref/PhantomReference/	27 Sep
>2001 15:44:09 -0000	1.1
>+++ gnu/testlet/java/lang/ref/PhantomReference/	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,, 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]