[project @ 2001-08-03 15:05:52 by sewardj]
[ghc-hetmet.git] / ghc / rts / Interpreter.c
index 52b25bf..c249c76 100644 (file)
@@ -5,8 +5,8 @@
  * Copyright (c) 1994-2000.
  *
  * $RCSfile: Interpreter.c,v $
- * $Revision: 1.22 $
- * $Date: 2001/05/21 16:34:22 $
+ * $Revision: 1.26 $
+ * $Date: 2001/08/03 15:05:52 $
  * ---------------------------------------------------------------------------*/
 
 #include "Rts.h"
@@ -115,7 +115,7 @@ void interp_startup ( void )
 void interp_shutdown ( void )
 {
    int i, j, k, o_max, i_max, j_max;
-   fprintf(stderr, "%d constrs entered -> (%d BCO, %d UPD, %d ???)\n",
+   fprintf(stderr, "%d constrs entered -> (%d BCO, %d UPD, %d ??? )\n",
                    it_retto_BCO + it_retto_UPDATE + it_retto_other,
                    it_retto_BCO, it_retto_UPDATE, it_retto_other );
    fprintf(stderr, "%d total entries, %d unknown entries \n", 
@@ -761,7 +761,12 @@ StgThreadReturnCode interpretBCO ( Capability* cap )
                      }
                  }
               }
-        
+              case bci_CCALL: {
+                 int o_itbl                = BCO_NEXT;
+                 void(*marshall_fn)(void*) = (void (*)(void*))BCO_LIT(o_itbl);
+                 marshall_fn ( (void*)(& StackWord(0) ) );
+                 goto nextInsn;
+              }
               case bci_JMP: {
                  /* BCO_NEXT modifies bciPtr, so be conservative. */
                  int nextpc = BCO_NEXT;