X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FFrontPanel.c;h=c2635205e0e90f3e76f596e60438d596b3aadf13;hb=09e2c3a13ed67e2ab69a8e0a3eaa608e19713521;hp=b87fce28b37c1e57df49d89f740d525a1813fe89;hpb=ece274b642d9edd5a90de78a432898509d87209d;p=ghc-hetmet.git diff --git a/ghc/rts/FrontPanel.c b/ghc/rts/FrontPanel.c index b87fce2..c263520 100644 --- a/ghc/rts/FrontPanel.c +++ b/ghc/rts/FrontPanel.c @@ -1,5 +1,4 @@ /* ----------------------------------------------------------------------------- - * $Id: FrontPanel.c,v 1.2 2000/11/01 11:57:29 simonmar Exp $ * * (c) The GHC Team 2000 * @@ -9,13 +8,14 @@ #ifdef RTS_GTK_FRONTPANEL -#define NON_POSIX_SOURCE +/* Alas, not Posix. */ +/* #include "PosixSource.h" */ #include "Rts.h" #include "RtsUtils.h" #include "MBlock.h" #include "FrontPanel.h" -#include "StoragePriv.h" +#include "Storage.h" #include "Stats.h" #include "RtsFlags.h" #include "Schedule.h" @@ -101,7 +101,7 @@ configure_event( GtkWidget *widget, GdkEventConfigure *event STG_UNUSED, widget->allocation.width, widget->allocation.height); - fprintf(stderr, "configure!\n"); + debugBelch("configure!\n"); updateFrontPanel(); return TRUE; } @@ -395,6 +395,7 @@ updateFrontPanel( void ) block_width, block_height, blocks_per_line ); } +#if 0 /* Segfaults because bd appears to be bogus but != NULL. stolz, 2003-06-24 */ /* color each block */ for (; a <= LAST_BLOCK(m); (char *)a += BLOCK_SIZE) { bd = Bdescr((P_)a); @@ -402,22 +403,12 @@ updateFrontPanel( void ) if (bd->free == (void *)-1) { colorBlock( a, &free_color, block_width, block_height, blocks_per_line ); - } else if (bd->gen != NULL) { - colorBlock( a, &gen_colors[bd->gen->no], + } else { + colorBlock( a, &gen_colors[bd->gen_no], block_width, block_height, blocks_per_line ); - } else if (bd->link != NULL) { - if (bd->link->free == (void *)-1) { - colorBlock( a, &free_color, - block_width, block_height, blocks_per_line ); - - } else if (bd->link->gen != NULL) { - colorBlock( a, &gen_colors[bd->link->gen->no], - block_width, block_height, blocks_per_line ); - } else { - belch("block at %p: can't indentify", bd->start); - } } } +#endif } @@ -614,7 +605,7 @@ residencyCensus( void ) g == 0 && s == 0) continue; if (RtsFlags.GcFlags.generations == 1) { - bd = generations[g].steps[s].to_space; + bd = generations[g].steps[s].to_blocks; } else { bd = generations[g].steps[s].blocks; } @@ -628,13 +619,10 @@ residencyCensus( void ) type = Other; switch (info->type) { - case BCO: - size = bco_sizeW((StgBCO *)p); - type = Other; - break; - + case CONSTR: - if (((StgClosure *)p)->header.info == &DEAD_WEAK_info) { + case BCO: + if (((StgClosure *)p)->header.info == &stg_DEAD_WEAK_info) { size = sizeofW(StgWeak); type = Other; break; @@ -685,7 +673,7 @@ residencyCensus( void ) type = BlackHole; break; - case AP_UPD: + case AP: size = pap_sizeW((StgPAP *)p); type = Thunk; break; @@ -716,6 +704,7 @@ residencyCensus( void ) case STABLE_NAME: case MVAR: case MUT_VAR: + case MUT_CONS: case IND_PERM: case IND_OLDGEN_PERM: size = sizeW_fromITBL(info);