< prev index next >

src/hotspot/share/runtime/frame.hpp

Print this page

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

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

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