Hi Alan,
Updated webrev at
http://cr.openjdk.java.net/~darcy/8032397.1/
@see in sun.misc.Ref removed.
Regression tests updated to not refer to sun.misc.Ref.
I looked at the use of Ref in jhat and it is only used if
java.lang.ref.Reference is not found reflectively, so I think the
existing code can stay in place.
Thanks,
-Joe
On 01/21/2014 01:47 PM, Joe Darcy wrote:
Hi Alan,
On 01/21/2014 01:02 PM, Alan Bateman wrote:
On 21/01/2014 18:28, Joe Darcy wrote:
Hello,
Following up from an earlier discussion on core-libs [1], I've gone
through the exercise of purging sun.misc.Ref from the JDK repo.
Patch below (having difficulties uploading the webrev to cr.openjdk
at the time of writing.)
For the change associated with removing sun.misc.Ref, I was aiming
to minimize the alteration of surrounding code.
For sun.misc.Cache, the CacheEntry class that subclasses Ref before
now instead has an internal SoftReference and a few short methods
that Ref used to define.
In the Applet area, since the functionality of sun.misc.Ref over and
above SoftReference was being used, I copied and partially
generified the sun.misc.Ref code into AppletImageRef. Semantically,
AppletImageRef is now a sun.misc.Ref<Image>.
The purge of Ref required removing a method from
AppletResourceLoader, a class which looks like it should have long
ago been deprecated.
A clean build of the jdk repo works after sun.misc.Ref has been
deleted. Before pushing the change, I'll do a jprt job to make sure
there aren't any other stray uses of Ref.
Thanks,
-Joe
I think this is okay, just took me a few seconds to see what had
moved from Ref (along with the javadoc comments). A minor comment is
that Cache has an @see sun.misc.Ref in its class description that
should be removed.
I'll remove that in the next iteration of the webrev.
I searched the forest and I see there are two RMI tests that
reference it, one directly, the other seems to be just a comment.
I'll try those down and make the necessary updates.
I also see that jhat looks for sun.misc.Ref in the heap. I guess
someone could use a JDK 9 build and run jhat to look at a heap dump
from a older JDK where sun.misc.Ref is used so maybe there is an
argument to leaving this in. If you do then maybe it needs a comment.
I'd prefer to remove sun.misc.Ref now and if it is a severe problem,
restore it later in JDK 9.
Thanks for the review,
-Joe