jdk8u backport is brokent in 1.8.0.232.b09
Roman Kennke
rkennke at redhat.com
Fri Nov 15 09:37:05 UTC 2019
Hi Roland,
>> 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.
In other words, this appears to be an issue that should be reported
upstream to one-nio. Right?
Thanks,
Roman
More information about the shenandoah-dev
mailing list