Mercurial > hg > truffle
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"); |