If the secondary thread modifies a global, make the copy then (Copy On
Write).
This would be difficult to implement, considering that a symbol's value
is normally kept in its value cell.
The interpreter would just have to keep a hashtable of hashtables;
primary key is the secondary thread ID and the secondary key is the
global symbol. When a thread modifies a global, look in the HoH; if
the symbol is not in there you create an entry.
That would make the usual case much slower.
I prefer the idea of swapping bindings on thread switches.
_______________________________________________
Emacs-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-devel