Annotation of 43BSD/contrib/icon/rt/dump.c, revision 1.1.1.1

1.1       root        1: #include "../h/rt.h"
                      2: #include "../h/gc.h"
                      3: int stkbase;
                      4: int stktop;
                      5: 
                      6: /*
                      7:  * ddump - dump a descriptor.  Used only for debugging.
                      8:  */
                      9: 
                     10: ddump(desc)
                     11: struct descrip *desc;
                     12:    {
                     13:    printf("%08x: ",desc);
                     14:    if (isptr(desc))
                     15:       if (VAR(*desc))
                     16:          printf("%15s","interior ptr.");
                     17:       else
                     18:          printf("%15s",blkname[(desc->type)&TYPEMASK]);
                     19:    else
                     20:       if (QUAL(*desc))
                     21:          printf("%15s","str. qualifier");
                     22:       else
                     23:          printf("%15s","integer");
                     24:    printf(" %08x %08x\n",desc->type,desc->value.integr);
                     25:    }
                     26: 
                     27: 
                     28: /*
                     29:  * mdump - dump the heap.  Used only for debugging.
                     30:  */
                     31: 
                     32: mdump()
                     33:    {
                     34:    register char *blk;
                     35:    register int type, size, fdesc;
                     36:    register struct descrip *ndesc;
                     37: 
                     38:    printf("\nDump of heap.  base:%08x free:%08x max:%08x\n",
                     39:            hpbase,hpfree,maxheap);
                     40:    printf("  loc     type              size  contents\n");
                     41: 
                     42:    for (blk = hpbase; blk < hpfree; blk += getsize(blk)) {
                     43:       type = blktype(blk);
                     44:       size = getsize(blk);
                     45:       printf(" %08x   %15s   %4d\n",blk,blkname[type],size);
                     46:       if ((fdesc = firstd[type]) > 0)
                     47:          for (ndesc = (struct descrip *) (blk + fdesc);
                     48:                ndesc < (struct descrip *) (blk + size);ndesc++)  {
                     49:             printf("                                 ");
                     50:             ddump(ndesc);
                     51:             }
                     52:       printf("\n");
                     53:       }
                     54:    printf("end of heap.\n");
                     55:    }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.