[gclist] GC in a Windows NT/95 threaded environment

M. Prakash mprakash@inetport.com
Wed, 13 Nov 1996 10:59:27 -0800


Nick Barnes wrote:
> 
> > Is there any literature on implementing gc in a threaded environment on
> > MS Windows NT and 95? I have searched the web but did not find any :(
> 
> What do you want to know? I can't say too much about this, for
> commercial reasons, but I can observe that Win32 is not that different
> from Unix as regards implementing GC (the main difference is in
> catching memory errors to implement barrier methods).
> 
> Oh, and Win95 won't let you implement your own threads; it insists you
> use OS-provided stacks (otherwise various system calls break). No such
> problem on NT, natch.
> 

I apologize for my very cryptic question. Here are the details. I am
implementing a multi-threaded Smalltalk interpreter where a Smalltalk
process is mapped to a win32 thread. Garbage collection can be
triggered  by any thread and all other threads are stopped and a
conservative stop-and-copy gc is done. The problem I am facing is with
thread specific data. Windows NT/95 do not allow one thread to access
another thread in any documented form as far as I know. I think I can
get at the thread data by resorting to undocumented data structure
access and I am wondering if someone has a better solution. 

At one time, I considered doing a write-barrier based gc and did not
pursue it based on concerns of efficiency. Is it that a better gc
algorithm for a multi-threaded tool?

I apologize if this question is too specific to Microsoft Windows.

Thanks, prakash

> Nick B