[project @ 2002-11-11 11:04:10 by simonpj]
[ghc-hetmet.git] / ghc / rts / Disassembler.c
index 925d117..8b526c0 100644 (file)
@@ -5,12 +5,13 @@
  * Copyright (c) 1994-1998.
  *
  * $RCSfile: Disassembler.c,v $
- * $Revision: 1.21 $
- * $Date: 2001/05/01 13:11:16 $
+ * $Revision: 1.25 $
+ * $Date: 2002/07/17 09:21:49 $
  * ---------------------------------------------------------------------------*/
 
 #ifdef DEBUG
 
+#include "PosixSource.h"
 #include "Rts.h"
 #include "RtsAPI.h"
 #include "RtsUtils.h"
@@ -23,6 +24,8 @@
 #include "Disassembler.h"
 #include "Interpreter.h"
 
+#include <stdio.h>
+
 /* --------------------------------------------------------------------------
  * Disassembler
  * ------------------------------------------------------------------------*/
@@ -44,6 +47,14 @@ int disInstr ( StgBCO *bco, int pc )
    StgInfoTable** itbls       = (StgInfoTable**)(&itbls_arr->payload[0]);
 
    switch (instrs[pc++]) {
+      case bci_SWIZZLE:
+         fprintf(stderr, "SWIZZLE stkoff %d by %d\n",
+                         instrs[pc], (signed int)instrs[pc+1]);
+         pc += 2; break;
+      case bci_CCALL:
+         fprintf(stderr, "CCALL    marshaller at 0x%x\n", 
+                         literals[instrs[pc]] );
+         pc += 1; break;
       case bci_STKCHECK: 
          fprintf(stderr, "STKCHECK %d\n", instrs[pc] );
          pc += 1; break;