[Git][ghc/ghc][master] nonmoving: Account for mutator allocations in bytes_allocated
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Tue May 9 22:41:34 UTC 2023
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
b2cdb7da by Ben Gamari at 2023-05-09T18:41:14-04:00
nonmoving: Account for mutator allocations in bytes_allocated
Previously we failed to account direct mutator allocations into the
nonmoving heap against the mutator's allocation limit and
`cap->total_allocated`. This only manifests during CAF evaluation (since
we allocate the CAF's blackhole directly into the nonmoving heap).
Fixes #23312.
- - - - -
3 changed files:
- rts/sm/NonMovingAllocate.c
- rts/sm/Storage.c
- rts/sm/Storage.h
Changes:
=====================================
rts/sm/NonMovingAllocate.c
=====================================
@@ -253,5 +253,9 @@ void *nonmovingAllocateGC(Capability *cap, StgWord sz)
GNUC_ATTR_HOT
void *nonmovingAllocate(Capability *cap, StgWord sz)
{
+ // Handle "bytes allocated" accounting in the same way we
+ // do in Storage.c:allocate. See #23312.
+ accountAllocation(cap, sz);
+ cap->total_allocated += sz;
return nonmovingAllocate_(SM_LOCK, cap, sz);
}
=====================================
rts/sm/Storage.c
=====================================
@@ -966,7 +966,7 @@ move_STACK (StgStack *src, StgStack *dest)
dest->sp = (StgPtr)dest->sp + diff;
}
-STATIC_INLINE void
+void
accountAllocation(Capability *cap, W_ n)
{
TICK_ALLOC_HEAP_NOCTR(WDS(n));
=====================================
rts/sm/Storage.h
=====================================
@@ -125,6 +125,8 @@ StgWord genLiveBlocks (generation *gen);
StgWord calcTotalLargeObjectsW (void);
StgWord calcTotalCompactW (void);
+void accountAllocation(Capability *cap, W_ n);
+
/* ----------------------------------------------------------------------------
Storage manager internal APIs and globals
------------------------------------------------------------------------- */
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/b2cdb7dacc095142e29c0f28a956b7fa97cdb4b1
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/b2cdb7dacc095142e29c0f28a956b7fa97cdb4b1
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230509/e8f32e82/attachment-0001.html>
More information about the ghc-commits
mailing list