> On Sep 19, 2017, at 9:37 AM, Erik Helin <[email protected]> wrote:
> 
> Hi all,
> 
> with gcc 7.1.1 from Fedora 26 on x86-64 there are warnings about the 
> potential usage of maybe uninitialized memory in 
> src/hotspot/cpu/x86/assembler_x86.cpp and in 
> src/hotspot/cpu/x86/interp_masm_x86.cpp.
> 
> The problems arises from the class RelocationHolder in 
> src/hotspot/share/code/relocInfo.hpp which has the private fields:
>  enum { _relocbuf_size = 5 };
>  void* _relocbuf[ _relocbuf_size ];
> 
> and the default constructor for RelocationHolder does not initialize the 
> elements of _relocbuf. I _think_ this is an optimization, RelocationHolder is 
> used *a lot* and setting the elements of RelocationHolder::_relocbuf to NULL 
> (or some other value) in the default constructor might result in a 
> performance penalty. Have a look in 
> build/linux-x86_64-normal-server-fastdebug/hotspot/variant-server/gensrc/adfiles
>  and you will see that RelocationHolder is used all over the place :)
> 
> AFAICS all users of RelocationHolder::_relocbuf take care to not use 
> uninitialized memory, which means that this warning is wrong, so I suggest we 
> disable the warning -Wmaybe-uninitialized for 
> src/hotspot/cpu/x86/assembler_x86.cpp.

Rahul Raghavan is working on a fix for JDK-8160404 that is likely relevant.
I have a patch from him for preliminary review.

Reply via email to