Ensure runhaskell is rebuild in stage2
[ghc-hetmet.git] / rts / HsFFI.c
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 2005
4  *
5  * RTS entry points as mandated by the FFI addendum to the Haskell 98 report
6  *
7  * ---------------------------------------------------------------------------*/
8
9 #include "HsFFI.h"
10 #include "Rts.h"
11
12 // hs_init and hs_exit are defined in RtsStartup.c
13
14 void
15 hs_set_argv(int argc, char *argv[])
16 {
17     setProgArgv(argc,argv);
18 }
19
20 void
21 hs_perform_gc(void)
22 {
23     /* Hmmm, the FFI spec is a bit vague, but it seems to imply a major GC... */
24     performMajorGC();
25 }
26
27 void
28 hs_free_stable_ptr(HsStablePtr sp)
29 {
30     /* The cast is for clarity only, both HsStablePtr and StgStablePtr are
31        typedefs for void*. */
32     freeStablePtr((StgStablePtr)sp);
33 }
34
35 void
36 hs_free_fun_ptr(HsFunPtr fp)
37 {
38     /* I simply *love* all these similar names... */
39     freeHaskellFunctionPtr(fp);
40 }