/* -----------------------------------------------------------------------------
- * $Id: FrontPanel.c,v 1.1 2000/11/01 11:41:47 simonmar Exp $
+ * $Id: FrontPanel.c,v 1.8 2003/06/24 08:49:55 stolz Exp $
*
* (c) The GHC Team 2000
*
#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 "Storage.h"
#include "StoragePriv.h"
#include "Stats.h"
#include "RtsFlags.h"
gtk_init( &prog_argc, &prog_argv );
- window = create_GHC_Visualisation_Tool();
+ window = create_GHC_Front_Panel();
map_drawing_area = lookup_widget(window, "memmap");
gen_drawing_area = lookup_widget(window, "generations");
res_drawing_area = lookup_widget(window, "res_drawingarea");
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);
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
}
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;
}
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;
type = BlackHole;
break;
- case AP_UPD:
+ case AP:
size = pap_sizeW((StgPAP *)p);
type = Thunk;
break;
case STABLE_NAME:
case MVAR:
case MUT_VAR:
+ case MUT_CONS:
case IND_PERM:
case IND_OLDGEN_PERM:
size = sizeW_fromITBL(info);