This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Win32 GC thread support


This a heads up for anyone working on Win32:

As a result of persistent reminders by Oyvind and others (libgcj/10746), I finally spent some time
looking at boehm-gc/win32_threads.c.  Unfortunately, it looks like it needs significant
amounts of work.  In particular:

1) It appears that the main thread is not getting registered under MinGW32, which seems to be
the cause of the above problem. 

2) Based on code inspection, it looks like the GC thread descriptors are leaked for detached
threads under Cygwin.  Given that the thread descriptor is currently statically allocated, this
also doesn't sound good to me.

3) I think there are several obscure race conditions and memory ordering issues in the
thread registration code.

4) There is some ugly code duplication.

I have a major pending patch (from Ben Hutchings) that fixes some of this as well as removing
the thread limit.  I had been planning to hold off on that, until the 6.4 release of the GC.
But based on the state of things, I would like to integrate it now, together with some other
fixes that are probably still needed.  This is likely to introduce some instability into 3.4.
But the current stuff also looks pretty instable to me ...

Hans


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]