[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?

On 10/10/2014 09:50 AM, Fridrich Strba wrote:
> 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.
> Version: GnuPG v2.0.22 (GNU/Linux)
> iEYEARECAAYFAlQ3j8kACgkQu9a1imXPdA8UewCfWg1fK0FHjGEU7XzJnGnR5bk/
> 7GQAni3Bv5B+yAA7PccExDt01sLfy48n
> =tm6r

More information about the distro-pkg-dev mailing list