StgUnion rR6;
StgUnion rR7;
StgUnion rR8;
- StgUnion rR9; // used occasionally by heap/stack checks
- StgUnion rR10; // used occasionally by heap/stack checks
+ StgUnion rR9; /* used occasionally by heap/stack checks */
+ StgUnion rR10; /* used occasionally by heap/stack checks */
StgFloat rF1;
StgFloat rF2;
StgFloat rF3;
StgPtr rHp;
StgPtr rHpLim;
struct StgTSO_ *rCurrentTSO;
- struct bdescr_ *rNursery;
+ struct step_ *rNursery;
struct bdescr_ *rCurrentNursery;
- StgWord rHpAlloc; // number of *bytes* being allocated in heap
+ StgWord rHpAlloc; /* number of *bytes* being allocated in heap */
#if defined(SMP) || defined(PAR)
- StgSparkPool rSparks; // per-task spark pool
+ StgSparkPool rSparks; /* per-task spark pool */
#endif
+ StgWord rInHaskell; /* non-zero if we're in Haskell code */
+ // If this flag is set, we are running Haskell code. Used to detect
+ // uses of 'foreign import unsafe' that should be 'safe'.
} StgRegTable;