[rfc][icedtea-web][patch] Patch to build icedtea-web 1.5.1 with java9

Jiri Vanek 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?


J.
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.
>
> Cheers
>
> Fridrich
>
> 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)
>
> iEYEARECAAYFAlQ3j8kACgkQu9a1imXPdA8UewCfWg1fK0FHjGEU7XzJnGnR5bk/
> 7GQAni3Bv5B+yAA7PccExDt01sLfy48n
> =tm6r
> -----END PGP SIGNATURE-----
>



More information about the distro-pkg-dev mailing list