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