diff -r e1ec73e3325e -r 9fd89aabb6cd src/hotspot/share/runtime/os.hpp --- a/src/hotspot/share/runtime/os.hpp Mon Nov 20 09:46:55 2017 +0000 +++ b/src/hotspot/share/runtime/os.hpp Mon Nov 20 15:56:32 2017 -0500 @@ -454,7 +454,24 @@ static bool create_thread(Thread* thread, ThreadType thr_type, size_t req_stack_size = 0); + + // The "main thread", also known as "starting thread", is the thread + // that loads/creates the JVM via JNI_CreateJavaVM. static bool create_main_thread(JavaThread* thread); + + // The primordial thread is the initial process thread. The java + // launcher never uses the primordial thread as the main thread, but + // applications that host the JVM directly may do so. Some platforms + // need special-case handling of the primordial thread if it attaches + // to the VM. + static bool is_primordial_thread(void) +#if defined(_WINDOWS) || defined(BSD) + // No way to identify the primordial thread. + { return false; } +#else + ; +#endif + static bool create_attached_thread(JavaThread* thread); static void pd_start_thread(Thread* thread); static void start_thread(Thread* thread);