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
|