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".

[glossary]
[Reference(s) to this entry by made by: {green bytes}{out-of-band}{zigamorph}]