Raymond Toy <[EMAIL PROTECTED]> writes:

> Actually it seems to be both (and an alien stack).  There's the
> control-stack-fork vop and friends that copy the control stack.
> multi-proc has stuff about the binding stack and alien stack.

Yes, you're right.  That's at least looking a bit suspicious.

>     Gerd> Well, I guess one would have to frob SYMBOL-VALUE to make this work.
>     Gerd> One could store symbol values for each thread in thread-local storage,
>     Gerd> and let SYMBOL-VALUE retrieve it from there.
> 
> That would make symbol-value much slower wouldn't it?

One thing one could do is store with each symbol, when it gets a
thread-local binding, an offset in thread-local storage where its
value cell is found.  Maybe there also has to be some code that
determines if a symbol has a thread-local binding to start with,
dunno.  But I think the picture is not that bad overall; slower by
some constant factor should be possible, I think.

>     Gerd> I hope that's approximately right; it must have been >10 years since I
>     Gerd> last used that :).
> 
> I think that's  how SBCL implements it's threads on Linux. :-)

He he.  Some things never change :).

Reply via email to