projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use StgWord64 instead of ullong
[ghc-hetmet.git]
/
includes
/
Cmm.h
diff --git
a/includes/Cmm.h
b/includes/Cmm.h
index
aba5c2e
..
183e103
100644
(file)
--- a/
includes/Cmm.h
+++ b/
includes/Cmm.h
@@
-295,9
+295,7
@@
(TO_W_( %INFO_TYPE(%STD_INFO(info)) )) { \
case \
IND, \
(TO_W_( %INFO_TYPE(%STD_INFO(info)) )) { \
case \
IND, \
- IND_OLDGEN, \
IND_PERM, \
IND_PERM, \
- IND_OLDGEN_PERM, \
IND_STATIC: \
{ \
P1 = StgInd_indirectee(P1); \
IND_STATIC: \
{ \
P1 = StgInd_indirectee(P1); \
@@
-380,11
+378,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; \
@@
-462,6
+461,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