projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-07-28 14:45:55 by simonpj]
[ghc-hetmet.git]
/
ghc
/
includes
/
Regs.h
diff --git
a/ghc/includes/Regs.h
b/ghc/includes/Regs.h
index
c3252be
..
0394257
100644
(file)
--- a/
ghc/includes/Regs.h
+++ b/
ghc/includes/Regs.h
@@
-22,6
+22,7
@@
#ifndef REGS_H
#define REGS_H
#ifndef REGS_H
#define REGS_H
+#include "gmp.h" // Needs MP_INT definition
/*
* This is the table that holds shadow-locations for all the STG
/*
* This is the table that holds shadow-locations for all the STG
@@
-87,11
+88,22
@@
typedef struct StgRegTable_ {
StgPtr rHpLim;
struct StgTSO_ *rCurrentTSO;
struct step_ *rNursery;
StgPtr rHpLim;
struct StgTSO_ *rCurrentTSO;
struct step_ *rNursery;
- struct bdescr_ *rCurrentNursery;
+ 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 rHpAlloc; /* number of *bytes* being allocated in heap */
+ // rmp_tmp1..rmp_result2 are only used in SMP builds to avoid per-thread temps
+ // in bss, but currently always incldue here so we just run mkDerivedConstants once
+ StgInt rmp_tmp_w;
+ MP_INT rmp_tmp1;
+ MP_INT rmp_tmp2;
+ MP_INT rmp_result1;
+ MP_INT rmp_result2;
#if defined(SMP) || defined(PAR)
StgSparkPool rSparks; /* per-task spark pool */
#endif
#if defined(SMP) || defined(PAR)
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;
} StgRegTable;