projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tidy up pretty-printing of InlinePragma
[ghc-hetmet.git]
/
includes
/
Cmm.h
diff --git
a/includes/Cmm.h
b/includes/Cmm.h
index
da0a2ac
..
ff91146
100644
(file)
--- a/
includes/Cmm.h
+++ b/
includes/Cmm.h
@@
-66,7
+66,6
@@
#define CMINUSMINUS 1
#include "ghcconfig.h"
#define CMINUSMINUS 1
#include "ghcconfig.h"
-#include "RtsConfig.h"
/* -----------------------------------------------------------------------------
Types
/* -----------------------------------------------------------------------------
Types
@@
-144,6
+143,18
@@
name : bits8[] str; \
} \
name : bits8[] str; \
} \
+#ifdef TABLES_NEXT_TO_CODE
+#define RET_LBL(f) f##_info
+#else
+#define RET_LBL(f) f##_ret
+#endif
+
+#ifdef TABLES_NEXT_TO_CODE
+#define ENTRY_LBL(f) f##_info
+#else
+#define ENTRY_LBL(f) f##_entry
+#endif
+
/* -----------------------------------------------------------------------------
Byte/word macros
/* -----------------------------------------------------------------------------
Byte/word macros
@@
-298,6
+309,7
@@
FUN_0_1, \
FUN_2_0, \
FUN_1_1, \
FUN_0_1, \
FUN_2_0, \
FUN_1_1, \
+ FUN_0_2, \
FUN_STATIC, \
BCO, \
PAP: \
FUN_STATIC, \
BCO, \
PAP: \
@@
-319,33
+331,28
@@
Constants.
-------------------------------------------------------------------------- */
Constants.
-------------------------------------------------------------------------- */
-#include "Constants.h"
+#include "rts/Constants.h"
#include "DerivedConstants.h"
#include "DerivedConstants.h"
-#include "ClosureTypes.h"
-#include "StgFun.h"
-#include "OSThreads.h"
-#include "SMPClosureOps.h"
+#include "rts/storage/ClosureTypes.h"
+#include "rts/storage/FunTypes.h"
+#include "rts/storage/SMPClosureOps.h"
+#include "rts/OSThreads.h"
/*
* Need MachRegs, because some of the RTS code is conditionally
* compiled based on REG_R1, REG_R2, etc.
*/
#define STOLEN_X86_REGS 4
/*
* Need MachRegs, because some of the RTS code is conditionally
* compiled based on REG_R1, REG_R2, etc.
*/
#define STOLEN_X86_REGS 4
-#include "MachRegs.h"
+#include "stg/MachRegs.h"
-#include "Liveness.h"
-#include "StgLdvProf.h"
+#include "rts/storage/Liveness.h"
+#include "rts/prof/LDV.h"
#undef BLOCK_SIZE
#undef MBLOCK_SIZE
#undef BLOCK_SIZE
#undef MBLOCK_SIZE
-#include "Block.h" /* For Bdescr() */
+#include "rts/storage/Block.h" /* For Bdescr() */
-/* Can't think of a better place to put this. */
-#if SIZEOF_mp_limb_t != SIZEOF_VOID_P
-#error mp_limb_t != StgWord: assumptions in PrimOps.cmm are now false
-#endif
-
#define MyCapability() (BaseReg - OFFSET_Capability_r)
/* -------------------------------------------------------------------------
#define MyCapability() (BaseReg - OFFSET_Capability_r)
/* -------------------------------------------------------------------------
@@
-373,11
+380,12
@@
HP_CHK_GEN(alloc,liveness,reentry); \
TICK_ALLOC_HEAP_NOCTR(alloc);
HP_CHK_GEN(alloc,liveness,reentry); \
TICK_ALLOC_HEAP_NOCTR(alloc);
-// allocateLocal() allocates from the nursery, so we check to see
+// allocate() allocates from the nursery, so we check to see
// whether the nursery is nearly empty in any function that uses
// whether the nursery is nearly empty in any function that uses
-// allocateLocal() - this includes many of the primops.
+// allocate() - this includes many of the primops.
#define MAYBE_GC(liveness,reentry) \
#define MAYBE_GC(liveness,reentry) \
- if (bdescr_link(CurrentNursery) == NULL || CInt[alloc_blocks] >= CInt[alloc_blocks_lim]) { \
+ if (bdescr_link(CurrentNursery) == NULL || \
+ generation_n_new_large_blocks(W_[g0]) >= CInt[alloc_blocks_lim]) { \
R9 = liveness; \
R10 = reentry; \
HpAlloc = 0; \
R9 = liveness; \
R10 = reentry; \
HpAlloc = 0; \
@@
-455,6
+463,9
@@
#define StgFunInfoExtra_bitmap(i) StgFunInfoExtraFwd_bitmap(i)
#endif
#define StgFunInfoExtra_bitmap(i) StgFunInfoExtraFwd_bitmap(i)
#endif
+#define mutArrPtrsCardWords(n) \
+ ROUNDUP_BYTES_TO_WDS(((n) + (1 << MUT_ARR_PTRS_CARD_BITS) - 1) >> MUT_ARR_PTRS_CARD_BITS)
+
/* -----------------------------------------------------------------------------
Voluntary Yields/Blocks
/* -----------------------------------------------------------------------------
Voluntary Yields/Blocks