Annotation of 43BSD/contrib/icon/rt/dump.c, revision 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.