On Wed, Nov 11, 2015 at 5:36 PM, Thomas Stüfe <thomas.stu...@gmail.com> wrote:
> Hi David, > > I get build errors on all my platforms. > > I think the change misses #include "runtime/threadLocalStorage.hpp" in a > couple of places, at least thread.cpp and possible also the os_xx_yy.cpp > files. > > Sorry, I have to correct myself. It is a linker error, I do not find the implementations for the ThreadLocalStorage class methods anywhere. I applied your patch atop a freshly synced hs-rt repo: - .../hotspot $ hg log -l 3 changeset: 9317:3b23f69bc887 8132510__thread_davids_change qbase qtip tip user: stuefe date: Wed Nov 11 16:12:14 2015 +0100 summary: imported patch 8132510__thread_davids_change changeset: 9316:f17e5edbe761 qparent user: tschatzl date: Tue Nov 10 11:07:15 2015 +0100 summary: 8140689: Skip last young-only gc if nothing to do in the mixed gc phase Reviewed-by: mgerdin, drwhite on AIX I get: ld: 0711-317 ERROR: Undefined symbol: .ThreadLocalStorage::thread() ld: 0711-317 ERROR: Undefined symbol: .ThreadLocalStorage::is_initialized() ld: 0711-317 ERROR: Undefined symbol: .ThreadLocalStorage::set_thread(Thread*) ld: 0711-317 ERROR: Undefined symbol: .ThreadLocalStorage::init() Am I building wrong? Regards, Thomas > Will take another look tomorrow. > > Thanks, Thomas > > On Wed, Nov 11, 2015 at 9:19 AM, David Holmes <david.hol...@oracle.com> > wrote: > >> Hi Thomas, >> >> Okay here's the next revision: >> >> http://cr.openjdk.java.net/~dholmes/8132510/webrev.v5/ >> >> I've reinstated a basic ThreadLocalStorage class which will only need two >> implementations: a POSIX one, and a Windows one (still TBD). This class is >> always initialized and ThreadLocalStorage::thread() is used from the signal >> handlers (as today). >> >> For platforms that don't have __thread support they can define >> USE_LIBRARY_BASED_TLS_ONLY at build time to only use the ThreadLocalStorage >> implementation. >> >> Obviously still need to get some performance numbers. >> >> I'd appreciate it if you could retest AIX, though as all platforms >> currently use pthread_get/setspecific I'm confident there will be no >> platform issues. >> >> Thanks, >> David >> > >