--- old/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp 2015-10-30 00:18:14.000000000 +0300 +++ new/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp 2015-10-30 00:18:14.000000000 +0300 @@ -298,6 +298,10 @@ // expense of relocation and if we overflow the displacement // of the quick call instruction. inline void MacroAssembler::call( address d, relocInfo::relocType rt ) { + MacroAssembler::call(d, Relocation::spec_simple(rt)); +} + +inline void MacroAssembler::call( address d, RelocationHolder const& rspec ) { #ifdef _LP64 intptr_t disp; // NULL is ok because it will be relocated later. @@ -309,14 +313,14 @@ // Is this address within range of the call instruction? // If not, use the expensive instruction sequence if (is_far_target(d)) { - relocate(rt); + relocate(rspec); AddressLiteral dest(d); jumpl_to(dest, O7, O7); } else { - Assembler::call(d, rt); + Assembler::call(d, rspec); } #else - Assembler::call( d, rt ); + Assembler::call( d, rspec ); #endif }