< prev index next >

src/cpu/x86/vm/c1_MacroAssembler_x86.hpp

Print this page
rev 9434 : 8138952: C1: Distinguish between PPC32 and PPC64
Reviewed-by: twisti


 100   void push_jint (jint i)     { _rsp_offset++; push(i); }
 101   void push_oop  (jobject o)  { _rsp_offset++; pushoop(o); }
 102   // Seems to always be in wordSize
 103   void push_addr (Address a)  { _rsp_offset++; pushptr(a); }
 104   void push_reg  (Register r) { _rsp_offset++; push(r); }
 105   void pop_reg   (Register r) { _rsp_offset--; pop(r); assert(_rsp_offset >= 0, "stack offset underflow"); }
 106 
 107   void dec_stack (int nof_words) {
 108     _rsp_offset -= nof_words;
 109     assert(_rsp_offset >= 0, "stack offset underflow");
 110     addptr(rsp, wordSize * nof_words);
 111   }
 112 
 113   void dec_stack_after_call (int nof_words) {
 114     _rsp_offset -= nof_words;
 115     assert(_rsp_offset >= 0, "stack offset underflow");
 116   }
 117 
 118   void invalidate_registers(bool inv_rax, bool inv_rbx, bool inv_rcx, bool inv_rdx, bool inv_rsi, bool inv_rdi) PRODUCT_RETURN;
 119 



 120 #endif // CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP


 100   void push_jint (jint i)     { _rsp_offset++; push(i); }
 101   void push_oop  (jobject o)  { _rsp_offset++; pushoop(o); }
 102   // Seems to always be in wordSize
 103   void push_addr (Address a)  { _rsp_offset++; pushptr(a); }
 104   void push_reg  (Register r) { _rsp_offset++; push(r); }
 105   void pop_reg   (Register r) { _rsp_offset--; pop(r); assert(_rsp_offset >= 0, "stack offset underflow"); }
 106 
 107   void dec_stack (int nof_words) {
 108     _rsp_offset -= nof_words;
 109     assert(_rsp_offset >= 0, "stack offset underflow");
 110     addptr(rsp, wordSize * nof_words);
 111   }
 112 
 113   void dec_stack_after_call (int nof_words) {
 114     _rsp_offset -= nof_words;
 115     assert(_rsp_offset >= 0, "stack offset underflow");
 116   }
 117 
 118   void invalidate_registers(bool inv_rax, bool inv_rbx, bool inv_rcx, bool inv_rdx, bool inv_rsi, bool inv_rdi) PRODUCT_RETURN;
 119 
 120   // This platform only uses signal-based null checks. The Label is not needed.
 121   void null_check(Register r, Label *Lnull = NULL) { MacroAssembler::null_check(r); }
 122 
 123 #endif // CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP
< prev index next >