1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  */
   6: 
   7: #ifndef lint
   8: static char sccsid[] = "@(#)wheredump.c	5.1 (Berkeley) 6/6/85";
   9: #endif not lint
  10: 
  11: /*
  12:  * Print a list of currently active blocks starting with most recent.
  13:  */
  14: 
  15: #include "defs.h"
  16: #include "runtime.h"
  17: #include "frame.rep"
  18: #include "sym.h"
  19: #include "machine.h"
  20: #include "object.h"
  21: #include "mappings.h"
  22: 
  23: where()
  24: {
  25:     FRAME *frp;
  26:     ADDRESS prevpc;
  27:     LINENO line;
  28:     SYM *f;
  29: 
  30:     if (pc == 0) {
  31:     error("program is not active");
  32:     }
  33:     prevpc = pc;
  34:     for (frp = curframe(); frp != NIL; frp = nextframe(frp)) {
  35:     f = whatblock(entry(frp));
  36:     line = srcline(prevpc);
  37:     printf("%s", name(f));
  38:     printparams(f, frp);
  39:     printf(", ");
  40:     printwhere(line, srcfilename(prevpc));
  41:     printf("\n");
  42:     prevpc = frp->save_pc;
  43:     }
  44:     line = srcline(prevpc);
  45:     printf("%s, ", name(program));
  46:     printwhere(line, srcfilename(prevpc));
  47:     printf("\n");
  48: }
  49: 
  50: /*
  51:  * Dump the world to the given file.
  52:  * Like "where", but variables are dumped also.
  53:  */
  54: 
  55: dump()
  56: {
  57:     FRAME *frp;
  58:     ADDRESS prevpc;
  59:     LINENO line;
  60:     SYM *f;
  61: 
  62:     if (pc == 0) {
  63:     error("program is not active");
  64:     }
  65:     prevpc = pc;
  66:     for (frp = curframe(); frp != NIL; frp = nextframe(frp)) {
  67:     f = whatblock(entry(frp));
  68:     line = srcline(prevpc);
  69:     printf("%s", name(f));
  70:     printparams(f, frp);
  71:     printf(", ");
  72:     printwhere(line, srcfilename(prevpc));
  73:     printf("\n");
  74:     dumpvars(f, frp);
  75:     putchar('\n');
  76:     prevpc = frp->save_pc;
  77:     }
  78:     line = srcline(prevpc);
  79:     printf("%s, ", name(program));
  80:     printwhere(line, srcfilename(prevpc));
  81:     printf("\n");
  82:     dumpvars(program, NIL);
  83: }

Defined functions

dump defined in line 55; never used
where defined in line 23; never used

Defined variables

sccsid defined in line 8; never used
Last modified: 1985-06-06
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1052
Valid CSS Valid XHTML 1.0 Strict