home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v92.tgz / v92.tar / v92 / src / h / monitor.h < prev    next >
C/C++ Source or Header  |  1996-03-22  |  7KB  |  239 lines

  1. /*
  2.  * This file contains definitions for the various event codes and values
  3.  * that go to make up event streams.
  4.  */
  5.  
  6. #ifdef EventMon
  7.  
  8. /*
  9.  * Allocation events use lowercase codes.
  10.  */
  11. #define E_Lrgint    'L'        /* Large integer allocation */
  12. #define E_Real        'd'        /* Real allocation */
  13. #define E_Cset        'e'        /* Cset allocation */
  14. #define E_File        'g'        /* File allocation */
  15. #define E_Record    'h'        /* Record allocation */
  16. #define E_Tvsubs    'i'        /* Substring tv allocation */
  17. #define E_External    'j'        /* External allocation */
  18. #define E_List        'k'        /* List allocation */
  19. #define E_Lelem        'm'        /* List element allocation */
  20. #define E_Table        'n'        /* Table allocation */
  21. #define E_Telem        'o'        /* Table element allocation */
  22. #define E_Tvtbl        'p'        /* Table-element tv allocation */
  23. #define E_Set        'q'        /* Set allocation */
  24. #define E_Selem        't'        /* Set element allocation */
  25. #define E_Slots        'w'        /* Hash header allocation */
  26. #define E_Coexpr    'x'        /* Co-expression allocation */
  27. #define E_Refresh    'y'        /* Refresh allocation */
  28. #define E_Alien        'z'        /* Alien allocation */
  29. #define E_Free        'Z'        /* Free region */
  30. #define E_String    's'        /* String allocation */
  31.  
  32. /*
  33.  * Some other monitoring codes.
  34.  */
  35. #define    E_BlkDeAlc    '-'        /* Block deallocation */
  36. #define    E_StrDeAlc    '~'        /* String deallocation */
  37. #define    E_Highlight    'H'        /* Allocation highlight */
  38. #define    E_Offset    '+'        /* Address offset */
  39. #define    E_Pause        ';'        /* memory monitoring comment */
  40.  
  41. /*
  42.  * These are not "events"; they are provided for uniformity in tools
  43.  *  that deal with types.
  44.  */
  45. #define E_Integer    '@'        /* Integer value pseudo-event */
  46. #define E_Null        '$'        /* Null value pseudo-event */
  47. #define E_Proc        '%'        /* Procedure value pseudo-event */
  48. #define E_Kywdint    '^'        /* Integer keyword value pseudo-event */
  49. #define E_Kywdpos    '&'        /* Position value pseudo-event */
  50. #define E_Kywdsubj    '*'        /* Subject value pseudo-event */
  51.  
  52. /*
  53.  * Codes used for storage regions.
  54.  */
  55. #define    E_Base        '<'        /* Base address of storage region */
  56. #define    E_Size        '>'        /* Region size */
  57. #define    E_Used        '='        /* Space used */
  58.  
  59. /*
  60.  * Symbol table events
  61.  */
  62. #define E_Pid        '.'        /* Symbol name */
  63. #define E_Sym        'T'        /* Symbol table entry */
  64.  
  65. /*
  66.  * Garbage collection region
  67.  */
  68. #define    E_Region    '?'        /* Region */
  69.  
  70. /*
  71.  * Codes for main sequence events
  72.  */
  73.  
  74.    /*
  75.     * Timing events
  76.     */
  77. #define E_Tick        '.'        /* Clock tick */
  78.  
  79.  
  80.    /*
  81.     * Code-location event
  82.     */
  83. #define E_Loc        '|'        /* Location change */
  84. #define E_Line        '\355'        /* Line change */
  85.  
  86.    /*
  87.     * Virtual-machine instructions
  88.     */
  89. #define E_Opcode    'O'        /* Virtual-machine instruction */
  90.  
  91.    /*
  92.     * Type-conversion events
  93.     */
  94. #define E_Aconv        'I'        /* Conversion attempt */
  95. #define E_Tconv        'K'        /* Conversion target */
  96. #define E_Nconv        'N'        /* Conversion not needed */
  97. #define E_Sconv        'Q'        /* Conversion success */
  98. #define E_Fconv        'J'        /* Conversion failure */
  99.  
  100.    /*
  101.     * Structure events
  102.     */
  103. #define    E_Lbang        '\301'        /* List generation */
  104. #define    E_Lcreate    '\302'        /* List creation */
  105. #define    E_Lget        '\356'        /* List get */
  106. #define    E_Lpop        '\303'        /* List pop */
  107. #define    E_Lpull        '\304'        /* List pull */
  108. #define    E_Lpush        '\305'        /* List push */
  109. #define    E_Lput        '\306'        /* List put */
  110. #define    E_Lrand        '\307'        /* List random reference */
  111. #define    E_Lref        '\310'        /* List reference */
  112. #define E_Lsub        '\311'        /* List subscript */
  113. #define    E_Rbang        '\312'        /* Record generation */
  114. #define    E_Rcreate    '\313'        /* Record creation */
  115. #define    E_Rrand        '\314'        /* Record random reference */
  116. #define    E_Rref        '\315'        /* Record reference */
  117. #define E_Rsub        '\316'        /* Record subscript */
  118. #define    E_Sbang        '\317'        /* Set generation */
  119. #define    E_Screate    '\320'        /* Set creation */
  120. #define    E_Sdelete    '\321'        /* Set deletion */
  121. #define    E_Sinsert    '\322'        /* Set insertion */
  122. #define    E_Smember    '\323'        /* Set membership */
  123. #define    E_Srand        '\336'        /* Set random reference */
  124. #define    E_Sval        '\324'        /* Set value */
  125. #define    E_Tbang        '\325'        /* Table generation */
  126. #define    E_Tcreate    '\326'        /* Table creation */
  127. #define    E_Tdelete    '\327'        /* Table deletion */
  128. #define    E_Tinsert    '\330'        /* Table insertion */
  129. #define    E_Tkey        '\331'        /* Table key generation */
  130. #define    E_Tmember    '\332'        /* Table membership */
  131. #define    E_Trand        '\337'        /* Table random reference */
  132. #define    E_Tref        '\333'        /* Table reference */
  133. #define    E_Tsub        '\334'        /* Table subscript */
  134. #define    E_Tval        '\335'        /* Table value */
  135.  
  136.    /*
  137.     * Scanning events
  138.     */
  139.  
  140. #define E_Snew        '\340'        /* Scanning environment creation */
  141. #define E_Sfail        '\341'        /* Scanning failure */
  142. #define E_Ssusp        '\342'        /* Scanning suspension */
  143. #define E_Sresum    '\343'        /* Scanning resumption */
  144. #define E_Srem        '\344'        /* Scanning environment removal */
  145. #define E_Spos        '\346'        /* Scanning position */
  146.  
  147.    /*
  148.     * Assignment
  149.     */
  150.  
  151. #define E_Assign    '\347'        /* Assignment */
  152. #define    E_Value        '\350'        /* Value assigned */
  153.  
  154.  
  155.    /*
  156.     * Sub-string assignment
  157.     */
  158.  
  159. #define E_Ssasgn    '\354'        /* Sub-string assignment */
  160.    /*
  161.     * Interpreter stack events
  162.     */
  163.  
  164. #define E_Intcall    '\351'        /* interpreter call */
  165. #define E_Intret    '\352'        /* interpreter return */
  166. #define E_Stack        '\353'        /* stack depth */
  167.  
  168.    /*
  169.     * Expression events
  170.     */
  171. #define E_Ecall        'c'        /* Call of operation */
  172. #define E_Efail        'f'        /* Failure from expression */
  173. #define E_Eret        'r'        /* Return from expression */
  174. #define E_Bsusp        'b'        /* Suspension from operation */
  175. #define E_Esusp        'a'        /* Suspension from alternation */
  176. #define E_Lsusp        'l'        /* Suspension from limitation */
  177. #define E_Eresum    'u'        /* Resumption of expression */
  178. #define E_Erem        'v'        /* Removal of a suspended generator */
  179.  
  180.    /*
  181.     * Co-expression events
  182.     */
  183.  
  184. #define E_Coact        'A'        /* Co-expression activation */
  185. #define E_Coret        'B'        /* Co-expression return */
  186. #define E_Cofail    'D'        /* Co-expression failure */
  187.  
  188.    /*
  189.     * Procedure events
  190.     */
  191.  
  192. #define E_Pcall        'C'        /* Procedure call */
  193. #define E_Pfail        'F'        /* Procedure failure */
  194. #define E_Pret        'R'        /* Procedure return */
  195. #define E_Psusp        'S'        /* Procedure suspension */
  196. #define E_Presum    'U'        /* Procedure resumption */
  197. #define E_Prem        'V'        /* Suspended procedure removal */
  198.  
  199. #define E_Fcall        ':'        /* Function call */
  200. #define E_Ffail        'M'        /* Function failure */
  201. #define E_Fret        'P'        /* Function return */
  202. #define E_Fsusp        'W'        /* Function suspension */
  203. #define E_Fresum    'Y'        /* Function resumption */
  204. #define E_Frem        '['        /* Function suspension removal */
  205.  
  206. #define E_Ocall        '\\'        /* Operator call */
  207. #define E_Ofail        ']'        /* Operator failure */
  208. #define E_Oret        '`'        /* Operator return */
  209. #define E_Osusp        '{'        /* Operator suspension */
  210. #define E_Oresum    '}'        /* Operator resumption */
  211. #define E_Orem        '\177'        /* Operator suspension removal */
  212.  
  213.    /*
  214.     * Garbage collections
  215.     */
  216.  
  217. #define E_Collect    'G'        /* Garbage collection */
  218. #define E_EndCollect    '\360'        /* End of garbage collection */
  219. #define E_TenureString    '\361'        /* Tenure a string region */
  220. #define E_TenureBlock    '\362'        /* Tenure a block region */
  221.  
  222. /*
  223.  * Termination Events
  224.  */
  225. #define E_Error        'E'        /* Run-time error */
  226. #define E_Exit        'X'        /* Program exit */
  227.  
  228.    /*
  229.     * I/O events
  230.     */
  231. #define E_MXevent    '\370'        /* monitor input event */
  232.  
  233. /*
  234.  * Codes used in event history files.
  235.  */
  236. #define E_Comment    '#'        /* Comment */
  237.  
  238. #endif                    /* EventMon */
  239.