JDK 9 RFR of 8032397: Remove sun.misc.Ref

Joe Darcy joe.darcy at oracle.com
Tue Jan 21 21:47:00 UTC 2014

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,


More information about the core-libs-dev mailing list