Contents page

Index (83KB)


fence: n. 1. A sequence of one or more distinguished
   (out-of-band) characters (or other data items), used to
   delimit a piece of data intended to be treated as a unit (the
   computer-science literature calls this a `sentinel').  The NUL
   (ASCII 0000000) character that terminates strings in C is a fence.
   Hex FF is also (though slightly less frequently) used this way.
   See zigamorph.  2. An extra data value inserted in an array or
   other data structure in order to allow some normal test on the
   array's contents also to function as a termination test.  For
   example, a highly optimized routine for finding a value in an array
   might artificially place a copy of the value to be searched for
   after the last slot of the array, thus allowing the main search
   loop to search for the value without having to check at each pass
   whether the end of the array had been reached.  3. [among users of
   optimizing compilers] Any technique, usually exploiting knowledge
   about the compiler, that blocks certain optimizations.  Used when
   explicit mechanisms are not available or are overkill.  Typically a
   hack: "I call a dummy procedure there to force a flush of the
   optimizer's register-coloring info" can be expressed by the
   shorter "That's a fence procedure".