RFR(xs): 8221375: Windows 32bit build (VS2017) broken

Thomas Stüfe thomas.stuefe at gmail.com
Sun Mar 24 20:58:44 UTC 2019

Hi all,

After a long time I tried to build a Windows 32bit VM (VS2017) and failed;
multiple errors and warnings. Lets reverse the bitrot:


Issue: https://bugs.openjdk.java.net/browse/JDK-8221375

Most of the fixes are trivial: Calling convention mismatches (awt DTRACE
callbacks), printf specifiers etc.

Had to supress a warning in os_windows_x86.cpp - I was surprised by this
since this did not look 32bit specifc, do we disable warnings on Windows
64bit builds?

The error I had in vmStructs.cpp was a bit weird: compiler complained about
an assignment of an enum value defined like this:

hash_mask_in_place       = (address_word)hash_mask << hash_shift

to an uint64_t variable, complaining about narrowing. I did not find out
what his problem was. In the end, I decided to add an explicit cast to
GENERATE_VM_LONG_CONSTANT_ENTRY(name) (see vmStructs.hpp).

With this patch we can build with warnings enabled on 32bit and 64bit

Since patch fixes both hotspot and JDK parts, I'm sending it to hs-dev and

Thanks, Thomas

More information about the core-libs-dev mailing list