Mercurial > hg > truffle
comparison src/cpu/sparc/vm/frame_sparc.inline.hpp @ 793:eacd97c88873
6848466: frame::frame_size() assertion failure with -XX:+DebugDeoptimization
Summary: add a RegisterMap* argument to frame::frame_size() to correctly compute the sender frame
Reviewed-by: never
author | cfang |
---|---|
date | Fri, 05 Jun 2009 10:25:39 -0700 |
parents | a61af66fc99e |
children | bd02caa94611 |
comparison
equal
deleted
inserted
replaced
792:085dd9ee61aa | 793:eacd97c88873 |
---|---|
57 | 57 |
58 // Return true if the frame is older (less recent activation) than the frame represented by id | 58 // Return true if the frame is older (less recent activation) than the frame represented by id |
59 inline bool frame::is_older(intptr_t* id) const { assert(this->id() != NULL && id != NULL, "NULL frame id"); | 59 inline bool frame::is_older(intptr_t* id) const { assert(this->id() != NULL && id != NULL, "NULL frame id"); |
60 return this->id() > id ; } | 60 return this->id() > id ; } |
61 | 61 |
62 inline int frame::frame_size() const { return sender_sp() - sp(); } | 62 inline int frame::frame_size(RegisterMap* map) const { return sender_sp() - sp(); } |
63 | 63 |
64 inline intptr_t* frame::link() const { return (intptr_t *)(fp()[FP->sp_offset_in_saved_window()] + STACK_BIAS); } | 64 inline intptr_t* frame::link() const { return (intptr_t *)(fp()[FP->sp_offset_in_saved_window()] + STACK_BIAS); } |
65 | 65 |
66 inline void frame::set_link(intptr_t* addr) { assert(link()==addr, "frame nesting is controlled by hardware"); } | 66 inline void frame::set_link(intptr_t* addr) { assert(link()==addr, "frame nesting is controlled by hardware"); } |
67 | 67 |