< prev index next >

src/hotspot/share/runtime/frame.hpp

Print this page

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

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

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