[rfc][icedtea-web][patch] Patch to build icedtea-web 1.5.1 with java9
jvanek at redhat.com
Fri Oct 10 11:22:07 UTC 2014
Thank you very much for explanation
With your patch, itw still builds with jdk7 and run under both jdk7 and 8, and also builds under 8
and run under 7 and 8.
I dont have 9 handy, but it does not metter.
According to discussion on #openjdk and on my compile x run testing, this patch is ok for head.
Only I would like to add to NEWS that that the RH1095311 - icedtea-web: References class
sun.misc.Ref removed in OpenJDK 9 is fixed.
You dont have commit acces, do you?
Can I push for you with the sentence in NEWS?
Is it enough for you this to be pushed to head or you need 1.5? 1.5 should remain jdk6 compatible,
which I have not yet tested with your patch.
Will you write changelog entry on your own or you wont me to do?
On 10/10/2014 09:50 AM, Fridrich Strba wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> On 09/10/14 14:27, Jiri Vanek wrote:
>> Thank you very much, foir contribution! This is known issue -
>> https://bugzilla.redhat.com/show_bug.cgi?id=1095311 and The patch
>> itself is ok, however -does it still builds on 8? I doubt...:( So
>> the improvement, how to be buildable on both, have to be done.
> Actually, I read the old implementation of class AppletImageRef. It
> extends sun.misc.Ref in the old implementation and when one calls the
> get(), one will thus get the sun.misc.Ref's get that returns Object
> which we the downcast to Image. Since AppletImageRef is actually
> sun.misc.Ref, it is safe to use it as return type and operate on it as
> if it was just a sun.misc.Ref. The AppletImageRef does not overload
> the get, so we will get the same version of get() for java < 1.9.0 as
> with the original code that returns sun.misc.Ref.
> For java 9, the get() is actually the AppletImageRef's get() that
> returns Image instead of object. We are casting the return value of
> the get into Image anyway, so there will not be any problem, just one
> superfluous cast for the sake of backward compatibility.
> Now, I don't have enough knowledge how this virtual function calls are
> represented in the java bytecode, since for java < 1.9.0, it will be
> the get() of super that will be called and for java >= 1.9.0 the get()
> of the class itself. But from the point of view of source code, the
> patch should be safe to apply and use.
> I personally built icedtea-web-1.5.1 with it applied for java 8 and
> the applets work like a charm.
> P.S.: The Vector<?> -> Vector modifications did not cause building
> against java8 or java7 to emit any error.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (GNU/Linux)
> -----END PGP SIGNATURE-----
More information about the distro-pkg-dev