< prev index next >

src/hotspot/share/runtime/frame.hpp

Print this page

439   void print_value_on(outputStream* st) const;
440   void print_on(outputStream* st) const;
441   void interpreter_frame_print_on(outputStream* st) const;
442   void print_on_error(outputStream* st, char* buf, int buflen, bool verbose = false) const;
443   static void print_C_frame(outputStream* st, char* buf, int buflen, address pc);
444   static frame next_frame(frame fr, Thread* t); // For native stack walking
445 
446 #ifndef PRODUCT
447   // Add annotated descriptions of memory locations belonging to this frame to values
448   void describe(FrameValues& values, int frame_no, const RegisterMap* reg_map=nullptr, bool top = false);
449 #endif
450 
451   // Conversion from a VMReg to physical stack location
452   template <typename RegisterMapT>
453   address oopmapreg_to_location(VMReg reg, const RegisterMapT* reg_map) const;
454   template <typename RegisterMapT>
455   oop* oopmapreg_to_oop_location(VMReg reg, const RegisterMapT* reg_map) const;
456 
457   // Oops-do's
458   void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, bool has_appendix, const RegisterMap* reg_map, OopClosure* f) const;
459   void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true) const;

460 
461  private:
462   void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) const;
463 
464   // Iteration of oops
465   void oops_do_internal(OopClosure* f, NMethodClosure* cf,
466                         DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
467                         const RegisterMap* map, bool use_interpreter_oop_map_cache) const;
468 
469   void oops_entry_do(OopClosure* f, const RegisterMap* map) const;
470   void oops_upcall_do(OopClosure* f, const RegisterMap* map) const;
471   void oops_nmethod_do(OopClosure* f, NMethodClosure* cf,
472                        DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
473                        const RegisterMap* map) const;
474  public:
475   // Memory management
476   void oops_do(OopClosure* f, NMethodClosure* cf, const RegisterMap* map) {
477 #if COMPILER2_OR_JVMCI
478     DerivedPointerIterationMode dpim = DerivedPointerTable::is_active() ?
479                                        DerivedPointerIterationMode::_with_table :

439   void print_value_on(outputStream* st) const;
440   void print_on(outputStream* st) const;
441   void interpreter_frame_print_on(outputStream* st) const;
442   void print_on_error(outputStream* st, char* buf, int buflen, bool verbose = false) const;
443   static void print_C_frame(outputStream* st, char* buf, int buflen, address pc);
444   static frame next_frame(frame fr, Thread* t); // For native stack walking
445 
446 #ifndef PRODUCT
447   // Add annotated descriptions of memory locations belonging to this frame to values
448   void describe(FrameValues& values, int frame_no, const RegisterMap* reg_map=nullptr, bool top = false);
449 #endif
450 
451   // Conversion from a VMReg to physical stack location
452   template <typename RegisterMapT>
453   address oopmapreg_to_location(VMReg reg, const RegisterMapT* reg_map) const;
454   template <typename RegisterMapT>
455   oop* oopmapreg_to_oop_location(VMReg reg, const RegisterMapT* reg_map) const;
456 
457   // Oops-do's
458   void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, bool has_appendix, const RegisterMap* reg_map, OopClosure* f) const;
459   template <typename RegisterMapT>
460   void oops_interpreted_do(OopClosure* f, const RegisterMapT* map, bool query_oop_map_cache = true) const;
461 
462  private:
463   void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) const;
464 
465   // Iteration of oops
466   void oops_do_internal(OopClosure* f, NMethodClosure* cf,
467                         DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
468                         const RegisterMap* map, bool use_interpreter_oop_map_cache) const;
469 
470   void oops_entry_do(OopClosure* f, const RegisterMap* map) const;
471   void oops_upcall_do(OopClosure* f, const RegisterMap* map) const;
472   void oops_nmethod_do(OopClosure* f, NMethodClosure* cf,
473                        DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
474                        const RegisterMap* map) const;
475  public:
476   // Memory management
477   void oops_do(OopClosure* f, NMethodClosure* cf, const RegisterMap* map) {
478 #if COMPILER2_OR_JVMCI
479     DerivedPointerIterationMode dpim = DerivedPointerTable::is_active() ?
480                                        DerivedPointerIterationMode::_with_table :
< prev index next >