--- old/src/os/aix/vm/os_aix.cpp 2015-11-27 02:24:15.020799344 -0500 +++ new/src/os/aix/vm/os_aix.cpp 2015-11-27 02:24:12.996685500 -0500 @@ -902,7 +902,7 @@ int pid = os::current_process_id(); alloca(((pid ^ counter++) & 7) * 128); - ThreadLocalStorage::set_thread(thread); + thread->initialize_thread_current(); OSThread* osthread = thread->osthread(); @@ -1077,32 +1077,6 @@ delete osthread; } -////////////////////////////////////////////////////////////////////////////// -// thread local storage - -int os::allocate_thread_local_storage() { - pthread_key_t key; - int rslt = pthread_key_create(&key, NULL); - assert(rslt == 0, "cannot allocate thread local storage"); - return (int)key; -} - -// Note: This is currently not used by VM, as we don't destroy TLS key -// on VM exit. -void os::free_thread_local_storage(int index) { - int rslt = pthread_key_delete((pthread_key_t)index); - assert(rslt == 0, "invalid index"); -} - -void os::thread_local_storage_at_put(int index, void* value) { - int rslt = pthread_setspecific((pthread_key_t)index, value); - assert(rslt == 0, "pthread_setspecific failed"); -} - -extern "C" Thread* get_thread() { - return ThreadLocalStorage::thread(); -} - //////////////////////////////////////////////////////////////////////////////// // time support