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
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to