< prev index next >

src/hotspot/cpu/sparc/macroAssembler_sparc.hpp

Print this page
rev 47415 : Add Thread Local handshakes and thread local polling


 969 
 970   RegisterOrConstant ensure_simm13_or_reg(RegisterOrConstant src, Register temp) {
 971     if (is_simm13(src.constant_or_zero()))
 972       return src;               // register or short constant
 973     guarantee(temp != noreg, "constant offset overflow");
 974     set(src.as_constant(), temp);
 975     return temp;
 976   }
 977 
 978   // --------------------------------------------------
 979 
 980  public:
 981   // traps as per trap.h (SPARC ABI?)
 982 
 983   void breakpoint_trap();
 984   void breakpoint_trap(Condition c, CC cc);
 985 
 986   // Support for serializing memory accesses between threads
 987   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 988 


 989   // Stack frame creation/removal
 990   void enter();
 991   void leave();
 992 
 993   // Manipulation of C++ bools
 994   // These are idioms to flag the need for care with accessing bools but on
 995   // this platform we assume byte size
 996 
 997   inline void stbool(Register d, const Address& a);
 998   inline void ldbool(const Address& a, Register d);
 999   inline void movbool( bool boolconst, Register d);
1000 
1001   void resolve_oop_handle(Register result);
1002   void load_mirror(Register mirror, Register method);
1003 
1004   // klass oop manipulations if compressed
1005   void load_klass(Register src_oop, Register klass);
1006   void store_klass(Register klass, Register dst_oop);
1007   void store_klass_gap(Register s, Register dst_oop);
1008 




 969 
 970   RegisterOrConstant ensure_simm13_or_reg(RegisterOrConstant src, Register temp) {
 971     if (is_simm13(src.constant_or_zero()))
 972       return src;               // register or short constant
 973     guarantee(temp != noreg, "constant offset overflow");
 974     set(src.as_constant(), temp);
 975     return temp;
 976   }
 977 
 978   // --------------------------------------------------
 979 
 980  public:
 981   // traps as per trap.h (SPARC ABI?)
 982 
 983   void breakpoint_trap();
 984   void breakpoint_trap(Condition c, CC cc);
 985 
 986   // Support for serializing memory accesses between threads
 987   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 988 
 989   void safepoint_poll(Label& slow_path, bool a, Register thread_reg, Register temp_reg);
 990 
 991   // Stack frame creation/removal
 992   void enter();
 993   void leave();
 994 
 995   // Manipulation of C++ bools
 996   // These are idioms to flag the need for care with accessing bools but on
 997   // this platform we assume byte size
 998 
 999   inline void stbool(Register d, const Address& a);
1000   inline void ldbool(const Address& a, Register d);
1001   inline void movbool( bool boolconst, Register d);
1002 
1003   void resolve_oop_handle(Register result);
1004   void load_mirror(Register mirror, Register method);
1005 
1006   // klass oop manipulations if compressed
1007   void load_klass(Register src_oop, Register klass);
1008   void store_klass(Register klass, Register dst_oop);
1009   void store_klass_gap(Register s, Register dst_oop);
1010 


< prev index next >