< prev index next >

hotspot/src/share/vm/prims/stackwalk.hpp

Print this page




  65 
  66   jlong address_value() {
  67     return (jlong) castable_address(this);
  68   }
  69 
  70   static JavaFrameStream* from_current(JavaThread* thread, jlong magic, objArrayHandle frames_array);
  71 };
  72 
  73 class StackWalk : public AllStatic {
  74 private:
  75   static int fill_in_frames(jlong mode, JavaFrameStream& stream,
  76                             int max_nframes, int start_index,
  77                             objArrayHandle frames_array,
  78                             int& end_index, TRAPS);
  79 
  80   static void fill_stackframe(Handle stackFrame, const methodHandle& method, int bci);
  81 
  82   static void fill_live_stackframe(Handle stackFrame, const methodHandle& method, int bci,
  83                                    javaVFrame* jvf, TRAPS);
  84 



  85   static inline bool skip_hidden_frames(int mode) {
  86     return (mode & JVM_STACKWALK_SHOW_HIDDEN_FRAMES) == 0;
  87   }
  88   static inline bool need_method_info(int mode) {
  89     return (mode & JVM_STACKWALK_FILL_CLASS_REFS_ONLY) == 0;
  90   }
  91   static inline bool live_frame_info(int mode) {
  92     return (mode & JVM_STACKWALK_FILL_LIVE_STACK_FRAMES) != 0;
  93   }
  94 
  95 public:
  96   static inline bool use_frames_array(int mode) {
  97     return (mode & JVM_STACKWALK_FILL_CLASS_REFS_ONLY) == 0;
  98   }
  99   static oop walk(Handle stackStream, jlong mode,
 100                   int skip_frames, int frame_count, int start_index,
 101                   objArrayHandle frames_array,
 102                   TRAPS);
 103 
 104   static jint moreFrames(Handle stackStream, jlong mode, jlong magic,


  65 
  66   jlong address_value() {
  67     return (jlong) castable_address(this);
  68   }
  69 
  70   static JavaFrameStream* from_current(JavaThread* thread, jlong magic, objArrayHandle frames_array);
  71 };
  72 
  73 class StackWalk : public AllStatic {
  74 private:
  75   static int fill_in_frames(jlong mode, JavaFrameStream& stream,
  76                             int max_nframes, int start_index,
  77                             objArrayHandle frames_array,
  78                             int& end_index, TRAPS);
  79 
  80   static void fill_stackframe(Handle stackFrame, const methodHandle& method, int bci);
  81 
  82   static void fill_live_stackframe(Handle stackFrame, const methodHandle& method, int bci,
  83                                    javaVFrame* jvf, TRAPS);
  84 
  85   static inline bool get_caller_class(int mode) {
  86     return (mode & JVM_STACKWALK_GET_CALLER_CLASS) != 0;
  87   }
  88   static inline bool skip_hidden_frames(int mode) {
  89     return (mode & JVM_STACKWALK_SHOW_HIDDEN_FRAMES) == 0;
  90   }
  91   static inline bool need_method_info(int mode) {
  92     return (mode & JVM_STACKWALK_FILL_CLASS_REFS_ONLY) == 0;
  93   }
  94   static inline bool live_frame_info(int mode) {
  95     return (mode & JVM_STACKWALK_FILL_LIVE_STACK_FRAMES) != 0;
  96   }
  97 
  98 public:
  99   static inline bool use_frames_array(int mode) {
 100     return (mode & JVM_STACKWALK_FILL_CLASS_REFS_ONLY) == 0;
 101   }
 102   static oop walk(Handle stackStream, jlong mode,
 103                   int skip_frames, int frame_count, int start_index,
 104                   objArrayHandle frames_array,
 105                   TRAPS);
 106 
 107   static jint moreFrames(Handle stackStream, jlong mode, jlong magic,
< prev index next >