jdk8u backport is brokent in 1.8.0.232.b09
Roland Westrelin
rwestrel at redhat.com
Fri Nov 15 09:10:14 UTC 2019
> I created an empty repo https://github.com/genuss/jdk8u232-minimal with
> mininal code and it breaks C2 on my machine even without Shenandoah
> enabled. I attached fat-jar to release on github so you won't need to build
> it https://github.com/genuss/jdk8u232-minimal/releases/tag/1.0. To run
> simply use java -jar minimal-example-1.0.0-jar-with-dependencies.jar
Thanks for putting that together.
The bytecode that C2 compiles doesn't seem correct:
one.nio.serial.GeneratedSerializer::write
0 fast_aaccess_0
1 fast_agetfield 11 <one/nio/serial/GeneratedSerializer.delegate/Lone/nio/serial/gen/Delegate;>
4 aload_1
5 aload_2
6 invokeinterface 38 <one/nio/serial/gen/Delegate.write(Ljava/lang/Object;Lone/nio/serial/DataStream;)V>
11 return
calls:
sun.reflect.Delegate1_BigInteger::write
0 aload_2
1 aload_1
2 fast_igetfield 35 <java/math/BigInteger.signum/I>
...
Argument 1 of GeneratedSerializer::write is of type java.lang.Object but
field being accessed at bci 2 in Delegate1_BigInteger::write is from a
BigInteger. A cast to BigInteger seems to be missing.
Roland.
More information about the shenandoah-dev
mailing list