X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Fstg%2FRegs.h;h=e50b431d14ffb2b0ed3b8581f83e3e285914ee9d;hb=e8a42ae2991013f586cb0606fcbd70d9b4c41d6f;hp=fb26254d5a54d7769cf56b5afa05a6d75b78123a;hpb=a2a67cd520b9841114d69a87a423dabcb3b4368e;p=ghc-hetmet.git diff --git a/includes/stg/Regs.h b/includes/stg/Regs.h index fb26254..e50b431 100644 --- a/includes/stg/Regs.h +++ b/includes/stg/Regs.h @@ -1,9 +1,20 @@ /* ----------------------------------------------------------------------------- * - * (c) The GHC Team, 1998-2004 + * (c) The GHC Team, 1998-2009 * * Registers in the STG machine. * + * Do not #include this file directly: #include "Rts.h" instead. + * + * To understand the structure of the RTS headers, see the wiki: + * http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes + * + * ---------------------------------------------------------------------------*/ + +#ifndef REGS_H +#define REGS_H + +/* * The STG machine has a collection of "registers", each one of which * may or may not correspond to an actual machine register when * running code. @@ -17,10 +28,7 @@ * BaseReg is not in a machine register, then the register table is * used from an absolute location (MainCapability). * - * ---------------------------------------------------------------------------*/ - -#ifndef REGS_H -#define REGS_H + */ typedef struct { StgWord stgEagerBlackholeInfo; @@ -72,10 +80,10 @@ typedef struct StgRegTable_ { StgPtr rSpLim; StgPtr rHp; StgPtr rHpLim; - struct StgTSO_ *rCurrentTSO; - struct step_ *rNursery; - struct bdescr_ *rCurrentNursery; /* Hp/HpLim point into this block */ - struct bdescr_ *rCurrentAlloc; /* for allocation using allocate() */ + struct StgTSO_ * rCurrentTSO; + struct nursery_ * rNursery; + struct bdescr_ * rCurrentNursery; /* Hp/HpLim point into this block */ + struct bdescr_ * rCurrentAlloc; /* for allocation using allocate() */ StgWord rHpAlloc; /* number of *bytes* being allocated in heap */ StgWord rRet; // holds the return code of the thread } StgRegTable;