< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.hpp

Print this page




 978   // traps as per trap.h (SPARC ABI?)
 979 
 980   void breakpoint_trap();
 981   void breakpoint_trap(Condition c, CC cc);
 982 
 983   // Support for serializing memory accesses between threads
 984   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 985 
 986   // Stack frame creation/removal
 987   void enter();
 988   void leave();
 989 
 990   // Manipulation of C++ bools
 991   // These are idioms to flag the need for care with accessing bools but on
 992   // this platform we assume byte size
 993 
 994   inline void stbool(Register d, const Address& a);
 995   inline void ldbool(const Address& a, Register d);
 996   inline void movbool( bool boolconst, Register d);
 997 

 998   void load_mirror(Register mirror, Register method);
 999 
1000   // klass oop manipulations if compressed
1001   void load_klass(Register src_oop, Register klass);
1002   void store_klass(Register klass, Register dst_oop);
1003   void store_klass_gap(Register s, Register dst_oop);
1004 
1005    // oop manipulations
1006   void load_heap_oop(const Address& s, Register d);
1007   void load_heap_oop(Register s1, Register s2, Register d);
1008   void load_heap_oop(Register s1, int simm13a, Register d);
1009   void load_heap_oop(Register s1, RegisterOrConstant s2, Register d);
1010   void store_heap_oop(Register d, Register s1, Register s2);
1011   void store_heap_oop(Register d, Register s1, int simm13a);
1012   void store_heap_oop(Register d, const Address& a, int offset = 0);
1013 
1014   void encode_heap_oop(Register src, Register dst);
1015   void encode_heap_oop(Register r) {
1016     encode_heap_oop(r, r);
1017   }




 978   // traps as per trap.h (SPARC ABI?)
 979 
 980   void breakpoint_trap();
 981   void breakpoint_trap(Condition c, CC cc);
 982 
 983   // Support for serializing memory accesses between threads
 984   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 985 
 986   // Stack frame creation/removal
 987   void enter();
 988   void leave();
 989 
 990   // Manipulation of C++ bools
 991   // These are idioms to flag the need for care with accessing bools but on
 992   // this platform we assume byte size
 993 
 994   inline void stbool(Register d, const Address& a);
 995   inline void ldbool(const Address& a, Register d);
 996   inline void movbool( bool boolconst, Register d);
 997 
 998   void resolve_oop_handle(Register result);
 999   void load_mirror(Register mirror, Register method);
1000 
1001   // klass oop manipulations if compressed
1002   void load_klass(Register src_oop, Register klass);
1003   void store_klass(Register klass, Register dst_oop);
1004   void store_klass_gap(Register s, Register dst_oop);
1005 
1006    // oop manipulations
1007   void load_heap_oop(const Address& s, Register d);
1008   void load_heap_oop(Register s1, Register s2, Register d);
1009   void load_heap_oop(Register s1, int simm13a, Register d);
1010   void load_heap_oop(Register s1, RegisterOrConstant s2, Register d);
1011   void store_heap_oop(Register d, Register s1, Register s2);
1012   void store_heap_oop(Register d, Register s1, int simm13a);
1013   void store_heap_oop(Register d, const Address& a, int offset = 0);
1014 
1015   void encode_heap_oop(Register src, Register dst);
1016   void encode_heap_oop(Register r) {
1017     encode_heap_oop(r, r);
1018   }


< prev index next >