| 1 | # Change $r13 to whatever BaseReg is mapped to |
|---|
| 2 | define pregs |
|---|
| 3 | print *(StgRegTable *)$r13 |
|---|
| 4 | end |
|---|
| 5 | |
|---|
| 6 | define ptso |
|---|
| 7 | print *((StgRegTable*)$r13)->rCurrentTSO |
|---|
| 8 | end |
|---|
| 9 | |
|---|
| 10 | define pR1 |
|---|
| 11 | print (((StgRegTable)MainRegTable).rR1) |
|---|
| 12 | end |
|---|
| 13 | define pR2 |
|---|
| 14 | print (((StgRegTable)MainRegTable).rR2) |
|---|
| 15 | end |
|---|
| 16 | define pR3 |
|---|
| 17 | print (((StgRegTable)MainRegTable).rR3) |
|---|
| 18 | end |
|---|
| 19 | define pR4 |
|---|
| 20 | print (((StgRegTable)MainRegTable).rR4) |
|---|
| 21 | end |
|---|
| 22 | define pR5 |
|---|
| 23 | print (((StgRegTable)MainRegTable).rR5) |
|---|
| 24 | end |
|---|
| 25 | define pR6 |
|---|
| 26 | print (((StgRegTable)MainRegTable).rR6) |
|---|
| 27 | end |
|---|
| 28 | define pR7 |
|---|
| 29 | print (((StgRegTable)MainRegTable).rR7) |
|---|
| 30 | end |
|---|
| 31 | define pR8 |
|---|
| 32 | print (((StgRegTable)MainRegTable).rR8) |
|---|
| 33 | end |
|---|
| 34 | define pFlt1 |
|---|
| 35 | print (StgFloat) (((StgRegTable)MainRegTable).rFlt1) |
|---|
| 36 | end |
|---|
| 37 | define pDbl1 |
|---|
| 38 | print (StgDouble) (((StgRegTable)MainRegTable).rDbl1) |
|---|
| 39 | end |
|---|
| 40 | |
|---|
| 41 | define pSp |
|---|
| 42 | print (((StgRegTable)MainRegTable).rSp) |
|---|
| 43 | end |
|---|
| 44 | define pSu |
|---|
| 45 | print (((StgRegTable)MainRegTable).rSu) |
|---|
| 46 | end |
|---|
| 47 | define pSpLim |
|---|
| 48 | print (((StgRegTable)MainRegTable).rSpLim) |
|---|
| 49 | end |
|---|
| 50 | |
|---|
| 51 | define pHp |
|---|
| 52 | print (((StgRegTable)MainRegTable).rHp) |
|---|
| 53 | end |
|---|
| 54 | define pHpLim |
|---|
| 55 | print (((StgRegTable)MainRegTable).rHpLim) |
|---|
| 56 | end |
|---|
| 57 | |
|---|
| 58 | # Change $rbp to whatever Sp is mapped to |
|---|
| 59 | define pstk |
|---|
| 60 | pmem $ebp 16 |
|---|
| 61 | end |
|---|
| 62 | |
|---|
| 63 | define pstk_gc |
|---|
| 64 | pmem MainTSO->sp 16 |
|---|
| 65 | end |
|---|
| 66 | |
|---|
| 67 | define pmem |
|---|
| 68 | set $i = $arg1 |
|---|
| 69 | set $mem = ((unsigned long)$arg0) & (sizeof(void*)==8 ? ~7 : ~3) |
|---|
| 70 | while $i > 0 |
|---|
| 71 | set $i = $i - 1 |
|---|
| 72 | x/1a (((long *)$mem) +$i) |
|---|
| 73 | end |
|---|
| 74 | end |
|---|
| 75 | |
|---|
| 76 | define p4 |
|---|
| 77 | pmem $arg0 4 |
|---|
| 78 | end |
|---|
| 79 | |
|---|
| 80 | define p8 |
|---|
| 81 | pmem $arg0 8 |
|---|
| 82 | end |
|---|
| 83 | |
|---|
| 84 | define p16 |
|---|
| 85 | pmem $arg0 16 |
|---|
| 86 | end |
|---|
| 87 | |
|---|
| 88 | define pmem_forwards |
|---|
| 89 | set $mem = $arg0 & (sizeof(void*)==8 ? ~7 : ~3) |
|---|
| 90 | set $i = 0 |
|---|
| 91 | while $i < $arg1 |
|---|
| 92 | x/1a (((int *)$mem) + $i) |
|---|
| 93 | set $i = $i + 1 |
|---|
| 94 | end |
|---|
| 95 | end |
|---|
| 96 | |
|---|
| 97 | define pheap |
|---|
| 98 | pmem $edi-16 16 |
|---|
| 99 | end |
|---|
| 100 | |
|---|
| 101 | define dpc |
|---|
| 102 | display /i $pc |
|---|
| 103 | end |
|---|
| 104 | |
|---|
| 105 | define pinfo |
|---|
| 106 | p *((StgInfoTable *)$arg0-1) |
|---|
| 107 | end |
|---|
| 108 | |
|---|
| 109 | define pcinfo |
|---|
| 110 | p *((StgConInfoTable *)$arg0-1) |
|---|
| 111 | end |
|---|
| 112 | |
|---|
| 113 | define prinfo |
|---|
| 114 | p *((StgRetInfoTable *)$arg0-1) |
|---|
| 115 | end |
|---|
| 116 | |
|---|
| 117 | define pfinfo |
|---|
| 118 | p *((StgFunInfoTable *)$arg0-1) |
|---|
| 119 | end |
|---|
| 120 | |
|---|
| 121 | define pbd |
|---|
| 122 | p sizeof(void *)==8 ? (* ((bdescr *)((($arg0 & 0xfffffffffff00000) | (($arg0 & 0xff000) >> 6)) & 0xffffffffffffffc0))) : * ((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0)) |
|---|
| 123 | end |
|---|
| 124 | |
|---|
| 125 | define pgen |
|---|
| 126 | p generations[((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0))->gen_no] |
|---|
| 127 | p * ((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0))->step |
|---|
| 128 | end |
|---|
| 129 | |
|---|
| 130 | define getmark |
|---|
| 131 | set $bd = (bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0) |
|---|
| 132 | set $offset = (StgPtr)$arg0 - $bd->start |
|---|
| 133 | set $bitmap_word = $bd->u.bitmap + ($offset / 32) |
|---|
| 134 | set $mask = 1 << ($offset & 31) |
|---|
| 135 | p (*$bitmap_word & $mask) != 0 |
|---|
| 136 | end |
|---|
| 137 | |
|---|
| 138 | define getmark64 |
|---|
| 139 | set $bd = (bdescr *)((($arg0 & 0xfffffffffff00000) | (($arg0 & 0xff000) >> 6)) & 0xffffffffffffffc0) |
|---|
| 140 | set $offset = (StgPtr)$arg0 - $bd->start |
|---|
| 141 | set $bitmap_word = $bd->u.bitmap + ($offset / 64) |
|---|
| 142 | set $mask = 1 << ($offset & 63) |
|---|
| 143 | p (*$bitmap_word & $mask) != 0 |
|---|
| 144 | end |
|---|
| 145 | |
|---|
| 146 | # ignore SIGPIPEs |
|---|
| 147 | handle SIGPIPE nostop noprint ignore |
|---|
| 148 | |
|---|
| 149 | define debug1 |
|---|
| 150 | p RtsFlags.DebugFlags.interpreter=1 |
|---|
| 151 | p RtsFlags.DebugFlags.apply=1 |
|---|
| 152 | p RtsFlags.DebugFlags.sanity=1 |
|---|
| 153 | end |
|---|
| 154 | |
|---|
| 155 | define debug2 |
|---|
| 156 | p RtsFlags.DebugFlags.interpreter=1 |
|---|
| 157 | p RtsFlags.DebugFlags.sanity=1 |
|---|
| 158 | end |
|---|
| 159 | |
|---|
| 160 | define sanity |
|---|
| 161 | p RtsFlags.DebugFlags.sanity=1 |
|---|
| 162 | end |
|---|
| 163 | |
|---|
| 164 | define srch |
|---|
| 165 | print findPtr($1,0) |
|---|
| 166 | end |
|---|
| 167 | define chain |
|---|
| 168 | print findPtr($1,1) |
|---|
| 169 | end |
|---|