Undefined behaviour in hotspot

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Apr 23 21:56:55 UTC 2014

Hi Andrew,

The fix looks fine to me.

Please, send your webrev in a separate mail to get attention and 
sponsor. Use subject:

"RFR [XS] 8041658: Use of -fdevirtualize on macroAssembler_x86.o (via 
-O2) with gcc 4.9.0 creates broken VM"

RFR is request for review. [XS] - extra small change.


On 4/23/14 2:13 PM, Andrew Hughes wrote:
> ----- Original Message -----
>> Hi Volker,
>> * Volker Simonis <volker.simonis at gmail.com> [2014-04-23 13:47]:
>>> So to cut a long story short, I've identified '-fdevirtualize' as the
>>> culprit.
>>> '-fdevirtualize' is automatically set if we compile with -O2 but if I
>>> compile
>>> macroAssembler_x86.o only with '-O2 -fno-devirtualize' I get a VM which at
>>> least starts up and passes some smoke tests.
>> Aha, Andrew Haley just walked me through similar logic and the same
>> flag! Though I don't really understand how (either of) you jumped from
>> miscompiled-code to -fno-devirtualize.
>>> @Omair: could you please verify this. I haven't tried x86_64 until now
>>> so I can not say if this fix also helps there.
>> Confirmed. On i686, Hotspot built with this is good enough to run javac to
>> compile small programs. I will test x86_64 now.
>> Thanks,
>> Omair
>> --
>> PGP Key: 66484681 (http://pgp.mit.edu/)
>> Fingerprint = F072 555B 0A17 3957 4E95  0056 F286 F14F 6648 4681
> This should turn it off in the right place:
> http://cr.openjdk.java.net/~andrew/8041658/webrev.01/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8041658

More information about the hotspot-dev mailing list