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 }
|