src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp	Fri Oct 30 00:18:14 2015
--- new/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp	Fri Oct 30 00:18:14 2015

*** 296,305 **** --- 296,309 ---- // Call with a check to see if we need to deal with the added // 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. // Must change NULL to a reachable address in order to // pass asserts here and in wdisp.
*** 307,324 **** --- 311,328 ---- d = pc(); // 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 } inline void MacroAssembler::call( Label& L, relocInfo::relocType rt ) { insert_nop_after_cbcond();

src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File