[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: v0_139 available



Chris Double <chris@double.co.nz> writes:

> Jonathan Bachrach <jrb@ai.mit.edu> writes:
> 
> > we will working to improve the pthreads-based threads implementation
> > and will start looking to porting it to windows.  any help on this
> > would be appreciated.  the major obstacle might be that the boehm gc
> > supports threads but only when compiled with vc++.
> 
> I've been looking at what's required to get things compiling under
> vc++. I notice in grt.h there are #defines like:
> 
> #define CALLN(...) _CALLN(regs, __VA_ARGS__)
> #define XCALL0(...) _CALL0(REGSCREF(), __VA_ARGS__)
> #define XCALL1(...) _CALL1(REGSCREF(), __VA_ARGS__)
>
> Visual C++ doesn't like the variable argument #define
> unfortunately. Would there be any problem with the g2c code generator
> being changed to emit the _CALLN(regs, ...) instead of the CALLN? I'm
> going to try the change but thought I'd run it by everyone here in
> case there's a reason for it not being done that way. 

sounds reasonable.  i did the threads port in such a way as to
minimize the compiler changes, that is, to not depend on the
implementation of language state (e.g., regs).  it's not a big deal
though since it only shows up in one place.  surprising that vc++
isn't ansi compliant.

> Also, anyone think of a way of working around VC++'s lack of
> variable arg macros without going the 'change the code generation'
> route?
> 
> Another approach might be to use Mingw since I think Boehm works
> with WIN32_THREADS under Mingw as well. But I can't do the .net port
> with that approach unfortunately.
 
at least it's an option.

> BTW, it builds and runs fine under cygwin without thread support
> which is great.

good news. 

thanks for your help!

jonathan