src/cpu/x86/vm/frame_x86.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/cpu/x86/vm

src/cpu/x86/vm/frame_x86.inline.hpp

Print this page




 132 inline bool frame::is_younger(intptr_t* id) const { assert(this->id() != NULL && id != NULL, "NULL frame id");
 133                                                     return this->id() < id ; }
 134 
 135 // Return true if the frame is older (less recent activation) than the frame represented by id
 136 inline bool frame::is_older(intptr_t* id) const   { assert(this->id() != NULL && id != NULL, "NULL frame id");
 137                                                     return this->id() > id ; }
 138 
 139 
 140 
 141 inline intptr_t* frame::link() const              { return (intptr_t*) *(intptr_t **)addr_at(link_offset); }
 142 inline void      frame::set_link(intptr_t* addr)  { *(intptr_t **)addr_at(link_offset) = addr; }
 143 
 144 
 145 inline intptr_t* frame::unextended_sp() const     { return _unextended_sp; }
 146 
 147 // Return address:
 148 
 149 inline address* frame::sender_pc_addr()      const { return (address*) addr_at( return_addr_offset); }
 150 inline address  frame::sender_pc()           const { return *sender_pc_addr(); }
 151 
 152 // return address of param, zero origin index.
 153 inline address* frame::native_param_addr(int idx) const { return (address*) addr_at( native_frame_initial_param_offset+idx); }
 154 
 155 #ifdef CC_INTERP
 156 
 157 inline interpreterState frame::get_interpreterState() const {
 158   return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize ));
 159 }
 160 
 161 inline intptr_t*    frame::sender_sp()        const {
 162   // Hmm this seems awfully expensive QQQ, is this really called with interpreted frames?
 163   if (is_interpreted_frame()) {
 164     assert(false, "should never happen");
 165     return get_interpreterState()->sender_sp();
 166   } else {
 167     return            addr_at(sender_sp_offset);
 168   }
 169 }
 170 
 171 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 172   assert(is_interpreted_frame(), "must be interpreted");
 173   return &(get_interpreterState()->_locals);
 174 }




 132 inline bool frame::is_younger(intptr_t* id) const { assert(this->id() != NULL && id != NULL, "NULL frame id");
 133                                                     return this->id() < id ; }
 134 
 135 // Return true if the frame is older (less recent activation) than the frame represented by id
 136 inline bool frame::is_older(intptr_t* id) const   { assert(this->id() != NULL && id != NULL, "NULL frame id");
 137                                                     return this->id() > id ; }
 138 
 139 
 140 
 141 inline intptr_t* frame::link() const              { return (intptr_t*) *(intptr_t **)addr_at(link_offset); }
 142 inline void      frame::set_link(intptr_t* addr)  { *(intptr_t **)addr_at(link_offset) = addr; }
 143 
 144 
 145 inline intptr_t* frame::unextended_sp() const     { return _unextended_sp; }
 146 
 147 // Return address:
 148 
 149 inline address* frame::sender_pc_addr()      const { return (address*) addr_at( return_addr_offset); }
 150 inline address  frame::sender_pc()           const { return *sender_pc_addr(); }
 151 



 152 #ifdef CC_INTERP
 153 
 154 inline interpreterState frame::get_interpreterState() const {
 155   return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize ));
 156 }
 157 
 158 inline intptr_t*    frame::sender_sp()        const {
 159   // Hmm this seems awfully expensive QQQ, is this really called with interpreted frames?
 160   if (is_interpreted_frame()) {
 161     assert(false, "should never happen");
 162     return get_interpreterState()->sender_sp();
 163   } else {
 164     return            addr_at(sender_sp_offset);
 165   }
 166 }
 167 
 168 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 169   assert(is_interpreted_frame(), "must be interpreted");
 170   return &(get_interpreterState()->_locals);
 171 }


src/cpu/x86/vm/frame_x86.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File