[project @ 2001-02-12 04:55:33 by chak]
[ghc-hetmet.git] / ghc / includes / StgMiscClosures.h
index b049288..0aaed9f 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: StgMiscClosures.h,v 1.24 2000/12/14 15:19:47 sewardj Exp $
+ * $Id: StgMiscClosures.h,v 1.36 2001/02/12 04:55:33 chak Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -21,8 +21,8 @@ STGFUN(stg_IND_OLDGEN_entry);
 STGFUN(stg_IND_OLDGEN_PERM_entry);
 STGFUN(stg_CAF_UNENTERED_entry);
 STGFUN(stg_CAF_ENTERED_entry);
-STGFUN(stg_CAF_BLACKHOLE_entry);
 STGFUN(stg_BLACKHOLE_entry);
+STGFUN(stg_CAF_BLACKHOLE_entry);
 STGFUN(stg_BLACKHOLE_BQ_entry);
 #ifdef SMP
 STGFUN(stg_WHITEHOLE_entry);
@@ -53,18 +53,29 @@ STGFUN(stg_MUT_CONS_entry);
 STGFUN(stg_END_MUT_LIST_entry);
 STGFUN(stg_dummy_ret_entry);
 
-#ifdef GHCI
-/* entry code for constructors created by the metacircular interpreter */
-STGFUN(stg_bco_constr_entry);
-STGFUN(stg_bco_constr1_entry);
-STGFUN(stg_bco_constr2_entry);
-STGFUN(stg_bco_constr3_entry);
-STGFUN(stg_bco_constr4_entry);
-STGFUN(stg_bco_constr5_entry);
-STGFUN(stg_bco_constr6_entry);
-STGFUN(stg_bco_constr7_entry);
-STGFUN(stg_bco_constr8_entry);
-#endif
+/* entry code for constructors created by the bytecode interpreter */
+STGFUN(stg_interp_constr_entry);
+STGFUN(stg_interp_constr1_entry);
+STGFUN(stg_interp_constr2_entry);
+STGFUN(stg_interp_constr3_entry);
+STGFUN(stg_interp_constr4_entry);
+STGFUN(stg_interp_constr5_entry);
+STGFUN(stg_interp_constr6_entry);
+STGFUN(stg_interp_constr7_entry);
+STGFUN(stg_interp_constr8_entry);
+
+/* Magic glue code for when compiled code returns a value in R1/F1/D1
+   to the interpreter. */
+extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_R1p_info;
+extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_R1n_info;
+extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_F1_info;
+extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_D1_info;
+
+/* Used by the interpreter to return an unboxed value on the stack to
+   compiled code. */
+extern DLL_IMPORT_RTS const StgInfoTable stg_gc_unbx_r1_info;
+extern DLL_IMPORT_RTS const StgInfoTable stg_gc_f1_info;
+extern DLL_IMPORT_RTS const StgInfoTable stg_gc_d1_info;
 
 #if defined(PAR) || defined(GRAN)
 /* this is the NIL ptr for a blocking queue */
@@ -82,8 +93,8 @@ extern DLL_IMPORT_RTS const StgInfoTable stg_IND_OLDGEN_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_IND_OLDGEN_PERM_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_UNENTERED_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_ENTERED_info;
-extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_BLACKHOLE_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_BLACKHOLE_info;
+extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_BLACKHOLE_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_BLACKHOLE_BQ_info;
 #ifdef SMP
 extern DLL_IMPORT_RTS const StgInfoTable stg_WHITEHOLE_info;
@@ -116,14 +127,6 @@ extern DLL_IMPORT_RTS const StgInfoTable stg_catch_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_seq_info;
 extern DLL_IMPORT_RTS const StgInfoTable stg_dummy_ret_info;
 
-#ifdef INTERPRETER
-
-EXTFUN(Hugs_CONSTR_entry);
-
-extern const vec_info_8 stg_ret_bco_info;
-
-#endif /* INTERPRETER */
-
 /* closures */
 
 extern DLL_IMPORT_RTS StgClosure stg_END_TSO_QUEUE_closure;