src/os_cpu/linux_zero/vm/thread_linux_zero.hpp

changeset 1860
0c5b3cf3c1f5
parent 1814
f9271ff9d324
child 1867
6cfbdb113e52
     1.1 --- a/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	Thu Apr 29 17:53:58 2010 -0700
     1.2 +++ b/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp	Fri Apr 30 04:27:25 2010 -0700
     1.3 @@ -68,19 +68,24 @@
     1.4  
     1.5   public:
     1.6    void set_last_Java_frame() {
     1.7 -    set_last_Java_frame(top_zero_frame());
     1.8 +    set_last_Java_frame(top_zero_frame(), zero_stack()->sp());
     1.9    }
    1.10    void reset_last_Java_frame() {
    1.11 -    set_last_Java_frame(NULL);
    1.12 +    frame_anchor()->zap();
    1.13    }
    1.14 -  void set_last_Java_frame(ZeroFrame* frame) {
    1.15 -    frame_anchor()->set_last_Java_sp((intptr_t *) frame);
    1.16 +  void set_last_Java_frame(ZeroFrame* fp, intptr_t* sp) {
    1.17 +    frame_anchor()->set(sp, NULL, fp);
    1.18 +  }
    1.19 +
    1.20 + public:
    1.21 +  ZeroFrame* last_Java_fp() {
    1.22 +    return frame_anchor()->last_Java_fp();
    1.23    }
    1.24  
    1.25   private:
    1.26    frame pd_last_frame() {
    1.27      assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
    1.28 -    return frame(last_Java_sp(), zero_stack()->sp());
    1.29 +    return frame(last_Java_fp(), last_Java_sp());
    1.30    }
    1.31  
    1.32   public:

mercurial