Changes between Version 1 and Version 2 of Internals/DynamicBinding


Ignore:
Timestamp:
01/26/08 12:39:25 (6 years ago)
Author:
gb
Comment:

Add some arcana about binding indices.

Legend:

Unmodified
Added
Removed
Modified
  • Internals/DynamicBinding

    v1 v2  
    1919vcell will be returned in this case. 
    2020 
     21A symbol that's never been assigned an explicit binding index will have a binding index of 0; 
     22the 0th entry in each thread's tcr.tlb_pointer is always no-thread-local-binding-marker (so 
     23references and assignments to such a symbol will always affect the symbol's value cell. 
     24 
     25A few symbols (currently CCL::*INTERRUPT-LEVEL*, which is bound by WITHOUT-INTERRUPTS) have fixed, 
     26canonical binding indices (CCL::*INTERRUPT-LEVEL* has a binding index of 1); this allows the 
     27per-thread bindings of some symbols to be accessed from the kernel.  In general, binding indices 
     28are assigned arbitrarily, and a symbol's binding index may change from session to session. 
     29 
    2130== Binding == 
    2231Another field in the TCR, called `tcr.db_link`, is the dynamic binding chain (a linked list