fix for gcc 4.1.x
[ghc-hetmet.git] / ghc / rts / FrontPanel.c
index fd5bbe1..579b75b 100644 (file)
@@ -1,5 +1,4 @@
 /* -----------------------------------------------------------------------------
- * $Id: FrontPanel.c,v 1.1 2000/11/01 11:41:47 simonmar Exp $
  *
  * (c) The GHC Team 2000
  *
@@ -9,20 +8,21 @@
 
 #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"
 
-#include <unistd.h>
-#include <gdk/gdktypes.h>
 #include <gtk/gtk.h>
+#include <unistd.h>
+#include <string.h>
 
 #include "VisSupport.h"
 #include "VisWindow.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;
 }
@@ -128,7 +128,7 @@ initFrontPanel( void )
 
     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");
@@ -395,29 +395,20 @@ 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);
                ASSERT(bd->start == a);
-               if (bd->free == (void *)-1) {
+                if (bd->flags & BF_FREE) {
                    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; FIXME to_blocks does not exist */
            } 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;
@@ -680,12 +668,12 @@ residencyCensus( void )
                    case SE_CAF_BLACKHOLE:
                    case SE_BLACKHOLE:
                    case BLACKHOLE:
-                   case BLACKHOLE_BQ:
+/*                 case BLACKHOLE_BQ: FIXME: case does not exist */
                        size = sizeW_fromITBL(info);
                        type = BlackHole;
                        break;
 
-                   case AP_UPD:
+                   case AP:
                        size = pap_sizeW((StgPAP *)p);
                        type = Thunk;
                        break;
@@ -712,10 +700,10 @@ residencyCensus( void )
                        break;
                        
                    case WEAK:
-                   case FOREIGN:
                    case STABLE_NAME:
                    case MVAR:
                    case MUT_VAR:
+/*                 case MUT_CONS: FIXME: case does not exist */
                    case IND_PERM:
                    case IND_OLDGEN_PERM:
                        size = sizeW_fromITBL(info);