I've created a patch  to fix usage of uintx where size_t type is
expected in hotspot/src/share/vm/runtime/arguments.cpp
The Arguments::max_heap_for_compressed_oops() method is declared in
but later defined in arguments.cpp as
For most platforms the uintx and size_t types are effectively the
same, so the interchange is uncaught, but on s390 (32-bit) the size_t is
"unsigned long" which makes it incompatible with "unsigned int".