6983747: Remove obsolete dl_mutex lock
authormockner
Thu, 02 Apr 2015 10:12:49 -0400
changeset 30139 a2ae06b774e5
parent 30135 bbb14e0a0c79
child 30140 e3293a43eaa6
6983747: Remove obsolete dl_mutex lock Summary: Unused dl_mutex lock has been removed. Reviewed-by: hseigel, coleenp, dholmes
hotspot/src/os/aix/vm/os_aix.cpp
hotspot/src/os/linux/vm/os_linux.cpp
--- a/hotspot/src/os/aix/vm/os_aix.cpp	Thu Apr 02 07:44:55 2015 +0000
+++ b/hotspot/src/os/aix/vm/os_aix.cpp	Thu Apr 02 10:12:49 2015 -0400
@@ -238,7 +238,6 @@
 static pid_t    _initial_pid       = 0;
 static int      SR_signum          = SIGUSR2; // Signal used to suspend/resume a thread (must be > SIGSEGV, see 4355769)
 static sigset_t SR_sigset;
-static pthread_mutex_t dl_mutex;              // Used to protect dlsym() calls.
 
 julong os::available_memory() {
   return Aix::available_memory();
@@ -1479,13 +1478,8 @@
   return NULL;
 }
 
-// Glibc-2.0 libdl is not MT safe. If you are building with any glibc,
-// chances are you might want to run the generated bits against glibc-2.0
-// libdl.so, so always use locking for any version of glibc.
 void* os::dll_lookup(void* handle, const char* name) {
-  pthread_mutex_lock(&dl_mutex);
   void* res = dlsym(handle, name);
-  pthread_mutex_unlock(&dl_mutex);
   return res;
 }
 
@@ -3685,7 +3679,6 @@
   Aix::_main_thread = pthread_self();
 
   initial_time_count = os::elapsed_counter();
-  pthread_mutex_init(&dl_mutex, NULL);
 }
 
 // This is called _after_ the global arguments have been parsed.
--- a/hotspot/src/os/linux/vm/os_linux.cpp	Thu Apr 02 07:44:55 2015 +0000
+++ b/hotspot/src/os/linux/vm/os_linux.cpp	Thu Apr 02 10:12:49 2015 -0400
@@ -158,9 +158,6 @@
 static int SR_signum = SIGUSR2;
 sigset_t SR_sigset;
 
-// Used to protect dlsym() calls
-static pthread_mutex_t dl_mutex;
-
 // Declarations
 static void unpackTime(timespec* absTime, bool isAbsolute, jlong time);
 
@@ -2025,14 +2022,8 @@
   return result;
 }
 
-// glibc-2.0 libdl is not MT safe.  If you are building with any glibc,
-// chances are you might want to run the generated bits against glibc-2.0
-// libdl.so, so always use locking for any version of glibc.
-//
 void* os::dll_lookup(void* handle, const char* name) {
-  pthread_mutex_lock(&dl_mutex);
   void* res = dlsym(handle, name);
-  pthread_mutex_unlock(&dl_mutex);
   return res;
 }
 
@@ -4641,8 +4632,6 @@
   }
   // else it defaults to CLOCK_REALTIME
 
-  pthread_mutex_init(&dl_mutex, NULL);
-
   // If the pagesize of the VM is greater than 8K determine the appropriate
   // number of initial guard pages.  The user can change this with the
   // command line arguments, if needed.