< prev index next >

src/share/vm/runtime/thread.hpp

Print this page
rev 13047 : [mq]: 8180932.patch


2051   static JavaThread* _thread_list;
2052   static int         _number_of_threads;
2053   static int         _number_of_non_daemon_threads;
2054   static int         _return_code;
2055   static int         _thread_claim_parity;
2056 #ifdef ASSERT
2057   static bool        _vm_complete;
2058 #endif
2059 
2060   static void initialize_java_lang_classes(JavaThread* main_thread, TRAPS);
2061   static void initialize_jsr292_core_classes(TRAPS);
2062  public:
2063   // Thread management
2064   // force_daemon is a concession to JNI, where we may need to add a
2065   // thread to the thread list before allocating its thread object
2066   static void add(JavaThread* p, bool force_daemon = false);
2067   static void remove(JavaThread* p);
2068   static bool includes(JavaThread* p);
2069   static JavaThread* first()                     { return _thread_list; }
2070   static void threads_do(ThreadClosure* tc);

2071 
2072   // Initializes the vm and creates the vm thread
2073   static jint create_vm(JavaVMInitArgs* args, bool* canTryAgain);
2074   static void convert_vm_init_libraries_to_agents();
2075   static void create_vm_init_libraries();
2076   static void create_vm_init_agents();
2077   static void shutdown_vm_agents();
2078   static bool destroy_vm();
2079   // Supported VM versions via JNI
2080   // Includes JNI_VERSION_1_1
2081   static jboolean is_supported_jni_version_including_1_1(jint version);
2082   // Does not include JNI_VERSION_1_1
2083   static jboolean is_supported_jni_version(jint version);
2084 
2085   // The "thread claim parity" provides a way for threads to be claimed
2086   // by parallel worker tasks.
2087   //
2088   // Each thread contains a a "parity" field. A task will claim the
2089   // thread only if its parity field is the same as the global parity,
2090   // which is updated by calling change_thread_claim_parity().




2051   static JavaThread* _thread_list;
2052   static int         _number_of_threads;
2053   static int         _number_of_non_daemon_threads;
2054   static int         _return_code;
2055   static int         _thread_claim_parity;
2056 #ifdef ASSERT
2057   static bool        _vm_complete;
2058 #endif
2059 
2060   static void initialize_java_lang_classes(JavaThread* main_thread, TRAPS);
2061   static void initialize_jsr292_core_classes(TRAPS);
2062  public:
2063   // Thread management
2064   // force_daemon is a concession to JNI, where we may need to add a
2065   // thread to the thread list before allocating its thread object
2066   static void add(JavaThread* p, bool force_daemon = false);
2067   static void remove(JavaThread* p);
2068   static bool includes(JavaThread* p);
2069   static JavaThread* first()                     { return _thread_list; }
2070   static void threads_do(ThreadClosure* tc);
2071   static void parallel_java_threads_do(ThreadClosure* tc);
2072 
2073   // Initializes the vm and creates the vm thread
2074   static jint create_vm(JavaVMInitArgs* args, bool* canTryAgain);
2075   static void convert_vm_init_libraries_to_agents();
2076   static void create_vm_init_libraries();
2077   static void create_vm_init_agents();
2078   static void shutdown_vm_agents();
2079   static bool destroy_vm();
2080   // Supported VM versions via JNI
2081   // Includes JNI_VERSION_1_1
2082   static jboolean is_supported_jni_version_including_1_1(jint version);
2083   // Does not include JNI_VERSION_1_1
2084   static jboolean is_supported_jni_version(jint version);
2085 
2086   // The "thread claim parity" provides a way for threads to be claimed
2087   // by parallel worker tasks.
2088   //
2089   // Each thread contains a a "parity" field. A task will claim the
2090   // thread only if its parity field is the same as the global parity,
2091   // which is updated by calling change_thread_claim_parity().


< prev index next >