< prev index next >

src/share/vm/runtime/frame.hpp

Print this page




 401   void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache);
 402   void oops_entry_do(OopClosure* f, const RegisterMap* map);
 403   void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);
 404   int adjust_offset(Method* method, int index); // helper for above fn
 405  public:
 406   // Memory management
 407   void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); }
 408   void nmethods_do(CodeBlobClosure* cf);
 409 
 410   // RedefineClasses support for finding live interpreted methods on the stack
 411   void metadata_do(void f(Metadata*));
 412 
 413   // Verification
 414   void verify(const RegisterMap* map);
 415   static bool verify_return_pc(address x);
 416   // Usage:
 417   // assert(frame::verify_return_pc(return_address), "must be a return pc");
 418 
 419   int pd_oop_map_offset_adjustment() const;
 420 


 421 #include CPU_HEADER(frame)
 422 
 423 };
 424 
 425 #ifndef PRODUCT
 426 // A simple class to describe a location on the stack
 427 class FrameValue VALUE_OBJ_CLASS_SPEC {
 428  public:
 429   intptr_t* location;
 430   char* description;
 431   int owner;
 432   int priority;
 433 
 434   FrameValue() {
 435     location = NULL;
 436     description = NULL;
 437     owner = -1;
 438     priority = 0;
 439   }
 440 




 401   void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache);
 402   void oops_entry_do(OopClosure* f, const RegisterMap* map);
 403   void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);
 404   int adjust_offset(Method* method, int index); // helper for above fn
 405  public:
 406   // Memory management
 407   void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); }
 408   void nmethods_do(CodeBlobClosure* cf);
 409 
 410   // RedefineClasses support for finding live interpreted methods on the stack
 411   void metadata_do(void f(Metadata*));
 412 
 413   // Verification
 414   void verify(const RegisterMap* map);
 415   static bool verify_return_pc(address x);
 416   // Usage:
 417   // assert(frame::verify_return_pc(return_address), "must be a return pc");
 418 
 419   int pd_oop_map_offset_adjustment() const;
 420 
 421   DEBUG_ONLY(void pd_ps();)  // platform dependent frame printing
 422 
 423 #include CPU_HEADER(frame)
 424 
 425 };
 426 
 427 #ifndef PRODUCT
 428 // A simple class to describe a location on the stack
 429 class FrameValue VALUE_OBJ_CLASS_SPEC {
 430  public:
 431   intptr_t* location;
 432   char* description;
 433   int owner;
 434   int priority;
 435 
 436   FrameValue() {
 437     location = NULL;
 438     description = NULL;
 439     owner = -1;
 440     priority = 0;
 441   }
 442 


< prev index next >