< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp

Print this page

        

@@ -183,11 +183,12 @@
 inline void MacroAssembler::br( Condition c, bool a, Predict p, address d, relocInfo::relocType rt ) {
   Assembler::bp(c, a, icc, p, d, rt);
 }
 
 inline void MacroAssembler::br( Condition c, bool a, Predict p, Label& L ) {
-  insert_nop_after_cbcond();
+  // See note[+] on 'avoid_pipeline_stalls()', in "assembler_sparc.inline.hpp".
+  avoid_pipeline_stall();
   br(c, a, p, target(L));
 }
 
 
 // Branch that tests either xcc or icc depending on the

@@ -195,11 +196,11 @@
 inline void MacroAssembler::brx( Condition c, bool a, Predict p, address d, relocInfo::relocType rt ) {
     Assembler::bp(c, a, xcc, p, d, rt);
 }
 
 inline void MacroAssembler::brx( Condition c, bool a, Predict p, Label& L ) {
-  insert_nop_after_cbcond();
+  avoid_pipeline_stall();
   brx(c, a, p, target(L));
 }
 
 inline void MacroAssembler::ba( Label& L ) {
   br(always, false, pt, L);

@@ -217,11 +218,11 @@
 inline void MacroAssembler::fb( Condition c, bool a, Predict p, address d, relocInfo::relocType rt ) {
   fbp(c, a, fcc0, p, d, rt);
 }
 
 inline void MacroAssembler::fb( Condition c, bool a, Predict p, Label& L ) {
-  insert_nop_after_cbcond();
+  avoid_pipeline_stall();
   fb(c, a, p, target(L));
 }
 
 inline void MacroAssembler::fbp( Condition c, bool a, CC cc, Predict p, address d, relocInfo::relocType rt ) {
   Assembler::fbp(c, a, cc, p, d, rt);

@@ -267,16 +268,15 @@
     Assembler::call(d, rspec);
   }
 }
 
 inline void MacroAssembler::call( Label& L,   relocInfo::relocType rt ) {
-  insert_nop_after_cbcond();
-  MacroAssembler::call( target(L), rt);
+  avoid_pipeline_stall();
+  MacroAssembler::call(target(L), rt);
 }
 
 
-
 inline void MacroAssembler::callr( Register s1, Register s2 ) { jmpl( s1, s2, O7 ); }
 inline void MacroAssembler::callr( Register s1, int simm13a, RelocationHolder const& rspec ) { jmpl( s1, simm13a, O7, rspec); }
 
 // prefetch instruction
 inline void MacroAssembler::iprefetch( address d, relocInfo::relocType rt ) {

@@ -302,17 +302,10 @@
   } else {
     jmpl( O7, 2 * BytesPerInstWord, G0 );
   }
 }
 
-// clobbers o7 on V8!!
-// returns delta from gotten pc to addr after
-inline int MacroAssembler::get_pc( Register d ) {
-  int x = offset();
-  rdpc(d);
-  return offset() - x;
-}
 
 inline void MacroAssembler::cmp(  Register s1, Register s2 ) { subcc( s1, s2, G0 ); }
 inline void MacroAssembler::cmp(  Register s1, int simm13a ) { subcc( s1, simm13a, G0 ); }
 
 // Note:  All MacroAssembler::set_foo functions are defined out-of-line.
< prev index next >