< prev index next >

src/hotspot/share/runtime/frame.hpp

Print this page

435  public:
436   void print_value() const { print_value_on(tty,NULL); }
437   void print_value_on(outputStream* st, JavaThread *thread) 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   // Add annotated descriptions of memory locations belonging to this frame to values
444   void describe(FrameValues& values, int frame_no, const RegisterMap* reg_map=NULL);
445 
446   // Conversion from a VMReg to physical stack location
447   template <typename RegisterMapT>
448   address oopmapreg_to_location(VMReg reg, const RegisterMapT* reg_map) const;
449   template <typename RegisterMapT>
450   oop* oopmapreg_to_oop_location(VMReg reg, const RegisterMapT* reg_map) const;
451 
452   // Oops-do's
453   void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, bool has_appendix, const RegisterMap* reg_map, OopClosure* f) const;
454   void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true) const;

455 
456  private:
457   void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) const;
458 
459   // Iteration of oops
460   void oops_do_internal(OopClosure* f, CodeBlobClosure* cf,
461                         DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
462                         const RegisterMap* map, bool use_interpreter_oop_map_cache) const;
463 
464   void oops_entry_do(OopClosure* f, const RegisterMap* map) const;
465   void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf,
466                          DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
467                          const RegisterMap* map) const;
468   int adjust_offset(Method* method, int index); // helper for above fn
469  public:
470   // Memory management
471   void oops_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map) {
472 #if COMPILER2_OR_JVMCI
473     DerivedPointerIterationMode dpim = DerivedPointerTable::is_active() ?
474                                        DerivedPointerIterationMode::_with_table :

435  public:
436   void print_value() const { print_value_on(tty,NULL); }
437   void print_value_on(outputStream* st, JavaThread *thread) 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   // Add annotated descriptions of memory locations belonging to this frame to values
444   void describe(FrameValues& values, int frame_no, const RegisterMap* reg_map=NULL);
445 
446   // Conversion from a VMReg to physical stack location
447   template <typename RegisterMapT>
448   address oopmapreg_to_location(VMReg reg, const RegisterMapT* reg_map) const;
449   template <typename RegisterMapT>
450   oop* oopmapreg_to_oop_location(VMReg reg, const RegisterMapT* reg_map) const;
451 
452   // Oops-do's
453   void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, bool has_appendix, const RegisterMap* reg_map, OopClosure* f) const;
454   void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true) const;
455   void buffered_values_interpreted_do(BufferedValueClosure* f);
456 
457  private:
458   void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) const;
459 
460   // Iteration of oops
461   void oops_do_internal(OopClosure* f, CodeBlobClosure* cf,
462                         DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
463                         const RegisterMap* map, bool use_interpreter_oop_map_cache) const;
464 
465   void oops_entry_do(OopClosure* f, const RegisterMap* map) const;
466   void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf,
467                          DerivedOopClosure* df, DerivedPointerIterationMode derived_mode,
468                          const RegisterMap* map) const;
469   int adjust_offset(Method* method, int index); // helper for above fn
470  public:
471   // Memory management
472   void oops_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map) {
473 #if COMPILER2_OR_JVMCI
474     DerivedPointerIterationMode dpim = DerivedPointerTable::is_active() ?
475                                        DerivedPointerIterationMode::_with_table :
< prev index next >