comparison src/cpu/x86/vm/c1_MacroAssembler_x86.hpp @ 304:dc7f315e41f7

5108146: Merge i486 and amd64 cpu directories 6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up Reviewed-by: kvn
author never
date Wed, 27 Aug 2008 00:21:55 -0700
parents a61af66fc99e
children 9ee9cf798b59
comparison
equal deleted inserted replaced
303:fa4d1d240383 304:dc7f315e41f7
92 void set_rsp_offset(int n) { _rsp_offset = n; } 92 void set_rsp_offset(int n) { _rsp_offset = n; }
93 93
94 // Note: NEVER push values directly, but only through following push_xxx functions; 94 // Note: NEVER push values directly, but only through following push_xxx functions;
95 // This helps us to track the rsp changes compared to the entry rsp (->_rsp_offset) 95 // This helps us to track the rsp changes compared to the entry rsp (->_rsp_offset)
96 96
97 void push_jint (jint i) { _rsp_offset++; pushl(i); } 97 void push_jint (jint i) { _rsp_offset++; push(i); }
98 void push_oop (jobject o) { _rsp_offset++; pushoop(o); } 98 void push_oop (jobject o) { _rsp_offset++; pushoop(o); }
99 void push_addr (Address a) { _rsp_offset++; pushl(a); } 99 // Seems to always be in wordSize
100 void push_reg (Register r) { _rsp_offset++; pushl(r); } 100 void push_addr (Address a) { _rsp_offset++; pushptr(a); }
101 void pop (Register r) { _rsp_offset--; popl (r); assert(_rsp_offset >= 0, "stack offset underflow"); } 101 void push_reg (Register r) { _rsp_offset++; push(r); }
102 void pop_reg (Register r) { _rsp_offset--; pop(r); assert(_rsp_offset >= 0, "stack offset underflow"); }
102 103
103 void dec_stack (int nof_words) { 104 void dec_stack (int nof_words) {
104 _rsp_offset -= nof_words; 105 _rsp_offset -= nof_words;
105 assert(_rsp_offset >= 0, "stack offset underflow"); 106 assert(_rsp_offset >= 0, "stack offset underflow");
106 addl(rsp, wordSize * nof_words); 107 addptr(rsp, wordSize * nof_words);
107 } 108 }
108 109
109 void dec_stack_after_call (int nof_words) { 110 void dec_stack_after_call (int nof_words) {
110 _rsp_offset -= nof_words; 111 _rsp_offset -= nof_words;
111 assert(_rsp_offset >= 0, "stack offset underflow"); 112 assert(_rsp_offset >= 0, "stack offset underflow");