Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
hpcInitCode :: Platform -> Module -> HpcInfo -> CStub Source #
Create HPC initialization C code for a module
Each module compiled with -fhpc declares an initialisation function of the form `hpc_init_module()`, which is emitted into the _stub.c file and annotated with attribute((constructor)) so that it gets executed at startup time.
The function's purpose is to call hs_hpc_module to register this module with the RTS, and it looks something like this:
static void hpc_init_Main(void) __attribute__((constructor)); static void hpc_init_Main(void) { extern StgWord64 _hpc_tickboxes_Main_hpc[]; hs_hpc_module("Main",8,1150288664,_hpc_tickboxes_Main_hpc); }