< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page
rev 52360 : 8212605: Pure-Java implementation of AccessController.doPrivileged


1865 
1866   void deoptimized_wrt_marked_nmethods();
1867 
1868  public:
1869   // Returns the running thread as a JavaThread
1870   static inline JavaThread* current();
1871 
1872   // Returns the active Java thread.  Do not use this if you know you are calling
1873   // from a JavaThread, as it's slower than JavaThread::current.  If called from
1874   // the VMThread, it also returns the JavaThread that instigated the VMThread's
1875   // operation.  You may not want that either.
1876   static JavaThread* active();
1877 
1878   inline CompilerThread* as_CompilerThread();
1879 
1880  public:
1881   virtual void run();
1882   void thread_main_inner();
1883 
1884  private:
1885   // PRIVILEGED STACK
1886   PrivilegedElement*  _privileged_stack_top;
1887   GrowableArray<oop>* _array_for_gc;
1888  public:
1889 
1890   // Returns the privileged_stack information.
1891   PrivilegedElement* privileged_stack_top() const       { return _privileged_stack_top; }
1892   void set_privileged_stack_top(PrivilegedElement *e)   { _privileged_stack_top = e; }
1893   void register_array_for_gc(GrowableArray<oop>* array) { _array_for_gc = array; }
1894 
1895  public:
1896   // Thread local information maintained by JVMTI.
1897   void set_jvmti_thread_state(JvmtiThreadState *value)                           { _jvmti_thread_state = value; }
1898   // A JvmtiThreadState is lazily allocated. This jvmti_thread_state()
1899   // getter is used to get this JavaThread's JvmtiThreadState if it has
1900   // one which means NULL can be returned. JvmtiThreadState::state_for()
1901   // is used to get the specified JavaThread's JvmtiThreadState if it has
1902   // one or it allocates a new JvmtiThreadState for the JavaThread and
1903   // returns it. JvmtiThreadState::state_for() will return NULL only if
1904   // the specified JavaThread is exiting.
1905   JvmtiThreadState *jvmti_thread_state() const                                   { return _jvmti_thread_state; }
1906   static ByteSize jvmti_thread_state_offset()                                    { return byte_offset_of(JavaThread, _jvmti_thread_state); }
1907 
1908   // JVMTI PopFrame support
1909   // Setting and clearing popframe_condition
1910   // All of these enumerated values are bits. popframe_pending
1911   // indicates that a PopFrame() has been requested and not yet been
1912   // completed. popframe_processing indicates that that PopFrame() is in




1865 
1866   void deoptimized_wrt_marked_nmethods();
1867 
1868  public:
1869   // Returns the running thread as a JavaThread
1870   static inline JavaThread* current();
1871 
1872   // Returns the active Java thread.  Do not use this if you know you are calling
1873   // from a JavaThread, as it's slower than JavaThread::current.  If called from
1874   // the VMThread, it also returns the JavaThread that instigated the VMThread's
1875   // operation.  You may not want that either.
1876   static JavaThread* active();
1877 
1878   inline CompilerThread* as_CompilerThread();
1879 
1880  public:
1881   virtual void run();
1882   void thread_main_inner();
1883 
1884  private:


1885   GrowableArray<oop>* _array_for_gc;
1886  public:
1887 



1888   void register_array_for_gc(GrowableArray<oop>* array) { _array_for_gc = array; }
1889 
1890  public:
1891   // Thread local information maintained by JVMTI.
1892   void set_jvmti_thread_state(JvmtiThreadState *value)                           { _jvmti_thread_state = value; }
1893   // A JvmtiThreadState is lazily allocated. This jvmti_thread_state()
1894   // getter is used to get this JavaThread's JvmtiThreadState if it has
1895   // one which means NULL can be returned. JvmtiThreadState::state_for()
1896   // is used to get the specified JavaThread's JvmtiThreadState if it has
1897   // one or it allocates a new JvmtiThreadState for the JavaThread and
1898   // returns it. JvmtiThreadState::state_for() will return NULL only if
1899   // the specified JavaThread is exiting.
1900   JvmtiThreadState *jvmti_thread_state() const                                   { return _jvmti_thread_state; }
1901   static ByteSize jvmti_thread_state_offset()                                    { return byte_offset_of(JavaThread, _jvmti_thread_state); }
1902 
1903   // JVMTI PopFrame support
1904   // Setting and clearing popframe_condition
1905   // All of these enumerated values are bits. popframe_pending
1906   // indicates that a PopFrame() has been requested and not yet been
1907   // completed. popframe_processing indicates that that PopFrame() is in


< prev index next >