--- old/src/cpu/x86/vm/assembler_x86.cpp 2017-05-23 17:18:01.175156352 +0900 +++ new/src/cpu/x86/vm/assembler_x86.cpp 2017-05-23 17:18:00.977152899 +0900 @@ -188,10 +188,9 @@ // Address. An index of 4 (rsp) corresponds to having no index, so convert // that to noreg for the Address constructor. Address Address::make_raw(int base, int index, int scale, int disp, relocInfo::relocType disp_reloc) { - RelocationHolder rspec; - if (disp_reloc != relocInfo::none) { - rspec = Relocation::spec_simple(disp_reloc); - } + RelocationHolder rspec = (disp_reloc == relocInfo::none) + ? RelocationHolder::none + : Relocation::spec_simple(disp_reloc); bool valid_index = index != rsp->encoding(); if (valid_index) { Address madr(as_Register(base), as_Register(index), (Address::ScaleFactor)scale, in_ByteSize(disp)); --- old/src/share/vm/code/relocInfo.hpp 2017-05-23 17:18:01.662164845 +0900 +++ new/src/share/vm/code/relocInfo.hpp 2017-05-23 17:18:01.523162421 +0900 @@ -826,7 +826,7 @@ // certain inlines must be deferred until class Relocation is defined: -inline RelocationHolder::RelocationHolder() { +inline RelocationHolder::RelocationHolder() : _relocbuf() { // initialize the vtbl, just to keep things type-safe new(*this) Relocation(); }