FFI, safe vs unsafe

John Meacham john at repetae.net
Mon Apr 3 04:53:05 EDT 2006

On Sat, Apr 01, 2006 at 02:30:30PM +0400, Bulat Ziganshin wrote:
> new stacks can be allocated by alloca() calls. all these
> alloca-allocated stack segments can be used as pool of stacks assigned
> to the forked threads. although i don't tried this, my own library
> also used processor-specific method.

so you alloca new big areas and then use 'longjmp' to jump back and
forth within the same stack simulating many stacks?

that is a neat trick. will confuse the hell out of the bohem garbage
collector but I don't want to rely on that much longer anyway :)

however, it would be a good thing to fall back to if no processor
specific stack creation routine is available.

this minimal threads library 
uses an interesting trick where it probes the setjmp structure to find
the SP reasonably portably on any stack-based architecture. pretty


John Meacham - ⑆repetae.net⑆john⑈

More information about the Haskell-prime mailing list