[project @ 2000-11-14 10:56:08 by simonmar]
[ghc-hetmet.git] / ghc / rts / Bytecodes.h
index f2f4a7e..37c8bce 100644 (file)
@@ -1,6 +1,6 @@
 
 /* -----------------------------------------------------------------------------
- * $Id: Bytecodes.h,v 1.9 1999/10/29 13:41:29 sewardj Exp $
+ * $Id: Bytecodes.h,v 1.17 2000/10/09 11:20:16 daan Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
     Ins(i_INTERNAL_ERROR),    \
     Ins(i_PANIC),             \
     Ins(i_STK_CHECK),         \
+    Ins(i_STK_CHECK_big),     \
     Ins(i_ARG_CHECK),         \
     Ins(i_ALLOC_AP),          \
     Ins(i_ALLOC_PAP),         \
     Ins(i_ALLOC_CONSTR),      \
+    Ins(i_ALLOC_CONSTR_big),  \
     Ins(i_MKAP),              \
     Ins(i_MKAP_big),          \
     Ins(i_MKPAP),             \
     Ins(i_RETADDR),           \
     Ins(i_RETADDR_big),       \
     Ins(i_VOID),              \
+                              \
+    Ins(i_ALLOC_ROW),         \
+    Ins(i_ALLOC_ROW_big),     \
+    Ins(i_PACK_ROW),          \
+    Ins(i_PACK_ROW_big),      \
+    Ins(i_UNPACK_ROW),        \
+    Ins(i_CONST_ROW_TRIV),    \
+                              \
+    Ins(i_PACK_INJ),          \
+    Ins(i_PACK_INJ_VAR),      \
+    Ins(i_PACK_INJ_VAR_big),  \
+    Ins(i_PACK_INJ_CONST_8),  \
+    Ins(i_PACK_INJ_REL_8),    \
+    Ins(i_TEST_INJ),          \
+    Ins(i_TEST_INJ_VAR),      \
+    Ins(i_TEST_INJ_VAR_big),  \
+    Ins(i_TEST_INJ_CONST_8),  \
+    Ins(i_TEST_INJ_REL_8),    \
+    Ins(i_UNPACK_INJ),        \
+    Ins(i_CONST_WORD_8),      \
+    Ins(i_ADD_WORD_VAR),      \
+    Ins(i_ADD_WORD_VAR_big),  \
+    Ins(i_ADD_WORD_VAR_8),    \
+                              \
     Ins(i_VAR_INT),           \
     Ins(i_VAR_INT_big),       \
     Ins(i_CONST_INT),         \
@@ -60,6 +86,7 @@
     Ins(i_VAR_WORD),          \
     Ins(i_VAR_WORD_big),      \
     Ins(i_CONST_WORD),        \
+    Ins(i_CONST_WORD_big),    \
     Ins(i_PACK_WORD),         \
     Ins(i_UNPACK_WORD),       \
     Ins(i_VAR_ADDR),          \
@@ -324,6 +351,16 @@ typedef enum
 
     , i_raise       
 
+#ifdef XMLAMBDA
+    /* row primitives. */
+    , i_rowInsertAt
+    , i_rowChainInsert
+    , i_rowChainBuild
+    , i_rowRemoveAt
+    , i_rowChainRemove
+    , i_rowChainSelect
+#endif
+
     /* Ref operations */
     , i_newRef
     , i_writeRef
@@ -388,7 +425,7 @@ typedef enum
 
 #ifdef PROVIDE_FOREIGN
     /* ForeignObj# operations */
-    , i_makeForeignObj
+    , i_mkForeignObj
 
     , indexCharOffForeignObj
     , indexIntOffForeignObj
@@ -418,18 +455,26 @@ typedef enum
 
 #ifdef PROVIDE_CONCURRENT
     /* Concurrency operations */
-    , i_fork
+    , i_forkIO
     , i_killThread
-    , i_sameMVar
-    , i_newMVar
-    , i_takeMVar
-    , i_putMVar
+    , i_raiseInThread
     , i_delay
     , i_waitRead
     , i_waitWrite
+    , i_yield
+    , i_getThreadId
+    , i_cmpThreadIds
 #endif
+    , i_sameMVar
+    , i_newMVar
+    , i_takeMVar
+    , i_putMVar
+
 
     /* CCall! */
+#ifdef XMLAMBDA
+    , i_ccall
+#endif
     , i_ccall_ccall_Id
     , i_ccall_ccall_IO
     , i_ccall_stdcall_Id
@@ -437,7 +482,7 @@ typedef enum
 
     /* If you add a new primop to this table, check you don't
      * overflow the 256 limit.  That is MAX_Primop2 <= 255.
-     * Current value (30/10/98) = 0x42
+     * Current value (1 oct 2000) = 0x48
      */
     , MAX_Primop2 = i_ccall_stdcall_IO
 } Primop2;