src/share/vm/runtime/frame.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/runtime

src/share/vm/runtime/frame.hpp

Print this page




 204   jint*    int_at_addr(int offset) const         { return (jint*)    addr_at(offset); }
 205 
 206  public:
 207   // Link (i.e., the pointer to the previous frame)
 208   intptr_t* link() const;
 209   void set_link(intptr_t* addr);
 210 
 211   // Return address
 212   address  sender_pc() const;
 213 
 214   // Support for deoptimization
 215   void deoptimize(JavaThread* thread);
 216 
 217   // The frame's original SP, before any extension by an interpreted callee;
 218   // used for packing debug info into vframeArray objects and vframeArray lookup.
 219   intptr_t* unextended_sp() const;
 220 
 221   // returns the stack pointer of the calling frame
 222   intptr_t* sender_sp() const;
 223 




 224 
 225   // Interpreter frames:
 226 
 227  private:
 228   intptr_t** interpreter_frame_locals_addr() const;
 229   intptr_t*  interpreter_frame_bcx_addr() const;
 230   intptr_t*  interpreter_frame_mdx_addr() const;
 231 
 232  public:
 233   // Locals
 234 
 235   // The _at version returns a pointer because the address is used for GC.
 236   intptr_t* interpreter_frame_local_at(int index) const;
 237 
 238   void interpreter_frame_set_locals(intptr_t* locs);
 239 
 240   // byte code index/pointer (use these functions for unchecked frame access only!)
 241   intptr_t interpreter_frame_bcx() const                  { return *interpreter_frame_bcx_addr(); }
 242   void interpreter_frame_set_bcx(intptr_t bcx);
 243 




 204   jint*    int_at_addr(int offset) const         { return (jint*)    addr_at(offset); }
 205 
 206  public:
 207   // Link (i.e., the pointer to the previous frame)
 208   intptr_t* link() const;
 209   void set_link(intptr_t* addr);
 210 
 211   // Return address
 212   address  sender_pc() const;
 213 
 214   // Support for deoptimization
 215   void deoptimize(JavaThread* thread);
 216 
 217   // The frame's original SP, before any extension by an interpreted callee;
 218   // used for packing debug info into vframeArray objects and vframeArray lookup.
 219   intptr_t* unextended_sp() const;
 220 
 221   // returns the stack pointer of the calling frame
 222   intptr_t* sender_sp() const;
 223 
 224   // Deoptimization info, if needed (platform dependent). 
 225   // Stored in the initial_fp field of the unroll info, to be used by
 226   // the platform dependent deoptimization blobs.
 227   intptr_t *initial_deoptimization_info();
 228 
 229   // Interpreter frames:
 230 
 231  private:
 232   intptr_t** interpreter_frame_locals_addr() const;
 233   intptr_t*  interpreter_frame_bcx_addr() const;
 234   intptr_t*  interpreter_frame_mdx_addr() const;
 235 
 236  public:
 237   // Locals
 238 
 239   // The _at version returns a pointer because the address is used for GC.
 240   intptr_t* interpreter_frame_local_at(int index) const;
 241 
 242   void interpreter_frame_set_locals(intptr_t* locs);
 243 
 244   // byte code index/pointer (use these functions for unchecked frame access only!)
 245   intptr_t interpreter_frame_bcx() const                  { return *interpreter_frame_bcx_addr(); }
 246   void interpreter_frame_set_bcx(intptr_t bcx);
 247 


src/share/vm/runtime/frame.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File