RFR: JDK-8242629 Remove references to deprecated java.util.Observer and Observable
Erik Joelsson
erik.joelsson at oracle.com
Tue Apr 14 13:08:58 UTC 2020
Hello Magnus,
I'll let someone else judge the validity of the approach, though I think
it seems ok.
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/GenericGrowableArray.java:
Double imports.
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java:
Triple imports.
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/MethodHandlesAdapterBlob.java:
Double imports.
/Erik
On 2020-04-14 04:04, Magnus Ihse Bursie wrote:
> As a first step towards fixing deprecation warnings in SA, all the
> references (200+) to the deprecated java.util.Observer and Observable
> needs to be fixed, otherwise all other changes will drown in this one.
>
> This solution is the result of the preceding discussions in
> serviceability-dev. That means that most of the change consists of
> adding an explicit import like this:
>
> import sun.jvm.hotspot.utilities.Observable;
> import sun.jvm.hotspot.utilities.Observer;
>
> to override the general java.util.* import that was already present in
> all (or almost all) files, and make
> sun.jvm.hotspot.utilities.Observable and Observer extend the java.util
> versions but with deprecation warnings disabled.
>
> It turned out however, that this simplest approach did not work fully.
> Since the interface java.util.Observer had the single method "void
> update(java.util.Observable o, Object arg)" it did not help to create
> a new interface sun.jvm.hotspot.utilities.Observer that extended
> java.util.Observer. I did not observe this issue in my PoC webrev that
> I posted during the discussion. :-(
>
> Instead, for Observer, I had just created a new interface with the
> same method, but that uses sun.jvm.hotspot.utilities.Observable
> instead of java.util.Observable.
>
> The end effect is the same -- the only change needed to most files is
> an added import, we get rid of the deprecation warnings, and we did
> not have to copy any significant amount of code from java.util.
>
> I now hope this is acceptable by all.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8242629
> WebRev:
> http://cr.openjdk.java.net/~ihse/JDK-8242629-fix-SA-Observer/webrev.01
>
> (When reading the patch, I recommend looking at the patch file
> http://cr.openjdk.java.net/~ihse/JDK-8242629-fix-SA-Observer/webrev.01/open.patch
> instead of individually checking the files in the webrev.)
>
> /Magnus
More information about the build-dev
mailing list