< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page
rev 54213 : [mq]: 8220774-handshakealot-v3


1851     }
1852   }
1853 
1854  private:
1855   void set_entry_point(ThreadFunction entry_point) { _entry_point = entry_point; }
1856 
1857  public:
1858 
1859   // Frame iteration; calls the function f for all frames on the stack
1860   void frames_do(void f(frame*, const RegisterMap*));
1861 
1862   // Memory operations
1863   void oops_do(OopClosure* f, CodeBlobClosure* cf);
1864 
1865   // Sweeper operations
1866   virtual void nmethods_do(CodeBlobClosure* cf);
1867 
1868   // RedefineClasses Support
1869   void metadata_do(MetadataClosure* f);
1870 



1871   // Misc. operations
1872   char* name() const { return (char*)get_thread_name(); }
1873   void print_on(outputStream* st, bool print_extended_info) const;
1874   void print_on(outputStream* st) const { print_on(st, false); }
1875   void print_value();
1876   void print_thread_state_on(outputStream*) const      PRODUCT_RETURN;
1877   void print_thread_state() const                      PRODUCT_RETURN;
1878   void print_on_error(outputStream* st, char* buf, int buflen) const;
1879   void print_name_on_error(outputStream* st, char* buf, int buflen) const;
1880   void verify();
1881   const char* get_thread_name() const;
1882  protected:
1883   // factor out low-level mechanics for use in both normal and error cases
1884   virtual const char* get_thread_name_string(char* buf = NULL, int buflen = 0) const;
1885  public:
1886   const char* get_threadgroup_name() const;
1887   const char* get_parent_name() const;
1888 
1889   // Accessing frames
1890   frame last_frame() {




1851     }
1852   }
1853 
1854  private:
1855   void set_entry_point(ThreadFunction entry_point) { _entry_point = entry_point; }
1856 
1857  public:
1858 
1859   // Frame iteration; calls the function f for all frames on the stack
1860   void frames_do(void f(frame*, const RegisterMap*));
1861 
1862   // Memory operations
1863   void oops_do(OopClosure* f, CodeBlobClosure* cf);
1864 
1865   // Sweeper operations
1866   virtual void nmethods_do(CodeBlobClosure* cf);
1867 
1868   // RedefineClasses Support
1869   void metadata_do(MetadataClosure* f);
1870 
1871   // Debug method asserting thread states are correct during a handshake operation.
1872   DEBUG_ONLY(void verify_states_for_handshake();)
1873 
1874   // Misc. operations
1875   char* name() const { return (char*)get_thread_name(); }
1876   void print_on(outputStream* st, bool print_extended_info) const;
1877   void print_on(outputStream* st) const { print_on(st, false); }
1878   void print_value();
1879   void print_thread_state_on(outputStream*) const      PRODUCT_RETURN;
1880   void print_thread_state() const                      PRODUCT_RETURN;
1881   void print_on_error(outputStream* st, char* buf, int buflen) const;
1882   void print_name_on_error(outputStream* st, char* buf, int buflen) const;
1883   void verify();
1884   const char* get_thread_name() const;
1885  protected:
1886   // factor out low-level mechanics for use in both normal and error cases
1887   virtual const char* get_thread_name_string(char* buf = NULL, int buflen = 0) const;
1888  public:
1889   const char* get_threadgroup_name() const;
1890   const char* get_parent_name() const;
1891 
1892   // Accessing frames
1893   frame last_frame() {


< prev index next >