[Gc] Interesting behavior under heavy I/O load...not sure I cando anything about it.

Boehm, Hans hans.boehm at hp.com
Tue Dec 8 14:52:00 PST 2009


> From:  Ivan Maidanski
> I think the opposite - the wrappers are hard to write in 
> C/C++ (if having a lot of places to be wrapped).
> 
> I'd prefer macros, something like:
> 
>  ... // some vars defined
>  DO_BLOCKING
>     ... // some non-pointer vars used
>  END_DO_BLOCKING
> 
> This was possible with some older GC versions (which have 
> broken (by design) do_blocking implementation). 
> Unfortunately, I don't think macros-based do_blocking 
> construction ever possible in C (contrary to Java 2).
> 
The problem is that we really want a frame in between to hold the callee-save register values from the context, to make sure they're scanned.

With C++0x lambda expressions, or some other form of closure support, this problem should basically disappear.  But I don't know of any plans to support closures in standard C.

Hans


More information about the Gc mailing list