src/cpu/x86/vm/c1_MacroAssembler_x86.hpp

changeset 739
dc7f315e41f7
parent 435
a61af66fc99e
child 772
9ee9cf798b59
     1.1 --- a/src/cpu/x86/vm/c1_MacroAssembler_x86.hpp	Tue Aug 26 15:49:40 2008 -0700
     1.2 +++ b/src/cpu/x86/vm/c1_MacroAssembler_x86.hpp	Wed Aug 27 00:21:55 2008 -0700
     1.3 @@ -94,16 +94,17 @@
     1.4    // Note: NEVER push values directly, but only through following push_xxx functions;
     1.5    //       This helps us to track the rsp changes compared to the entry rsp (->_rsp_offset)
     1.6  
     1.7 -  void push_jint (jint i)     { _rsp_offset++; pushl(i); }
     1.8 +  void push_jint (jint i)     { _rsp_offset++; push(i); }
     1.9    void push_oop  (jobject o)  { _rsp_offset++; pushoop(o); }
    1.10 -  void push_addr (Address a)  { _rsp_offset++; pushl(a); }
    1.11 -  void push_reg  (Register r) { _rsp_offset++; pushl(r); }
    1.12 -  void pop       (Register r) { _rsp_offset--; popl (r); assert(_rsp_offset >= 0, "stack offset underflow"); }
    1.13 +  // Seems to always be in wordSize
    1.14 +  void push_addr (Address a)  { _rsp_offset++; pushptr(a); }
    1.15 +  void push_reg  (Register r) { _rsp_offset++; push(r); }
    1.16 +  void pop_reg   (Register r) { _rsp_offset--; pop(r); assert(_rsp_offset >= 0, "stack offset underflow"); }
    1.17  
    1.18    void dec_stack (int nof_words) {
    1.19      _rsp_offset -= nof_words;
    1.20      assert(_rsp_offset >= 0, "stack offset underflow");
    1.21 -    addl(rsp, wordSize * nof_words);
    1.22 +    addptr(rsp, wordSize * nof_words);
    1.23    }
    1.24  
    1.25    void dec_stack_after_call (int nof_words) {

mercurial