[project @ 2001-09-07 16:08:31 by sewardj]
[ghc-hetmet.git] / ghc / rts / Printer.c
index d71c436..e64154d 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Printer.c,v 1.43 2001/08/04 06:09:24 ken Exp $
+ * $Id: Printer.c,v 1.46 2001/08/21 10:12:02 sewardj Exp $
  *
  * (c) The GHC Team, 1994-2000.
  *
@@ -7,6 +7,7 @@
  * 
  * ---------------------------------------------------------------------------*/
 
+#include "PosixSource.h"
 #include "Rts.h"
 #include "Printer.h"
 
@@ -95,6 +96,13 @@ void printClosure( StgClosure *obj )
             disassemble( (StgBCO*)obj );
             break;
 
+    case MUT_VAR:
+        {
+         StgMutVar* mv = (StgMutVar*)obj;
+         fprintf(stderr,"MUT_VAR(var=%p, link=%p)\n", mv->var, mv->mut_link);
+          break;
+        }
+
     case AP_UPD:
         {
            StgAP_UPD* ap = stgCast(StgAP_UPD*,obj);
@@ -121,6 +129,12 @@ void printClosure( StgClosure *obj )
             break;
         }
 
+    case FOREIGN:
+            fprintf(stderr,"FOREIGN("); 
+            printPtr((StgPtr)( ((StgForeignObj*)obj)->data ));
+            fprintf(stderr,")\n"); 
+            break;
+
     case IND:
             fprintf(stderr,"IND("); 
             printPtr((StgPtr)stgCast(StgInd*,obj)->indirectee);
@@ -341,6 +355,7 @@ void printClosure( StgClosure *obj )
             //barf("printClosure %d",get_itbl(obj)->type);
             fprintf(stderr, "*** printClosure: unknown type %d ****\n",
                     get_itbl(obj)->type );
+            barf("printClosure %d",get_itbl(obj)->type);
             return;
     }
 }