summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-02-13 14:49:52 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-03-02 22:43:22 -0500
commit8a6f745d963fc9b79c7b1e4b477f4fc724233655 (patch)
treeef2cb24b46d918fd3bdb340c744434fb5ca61856
parent5f7a4a6d8311d2faa9c90b2b0c4431dd4427839d (diff)
downloadhaskell-8a6f745d963fc9b79c7b1e4b477f4fc724233655.tar.gz
rts: Correctly align Capability allocations
Previously we failed to tell the C allocator that `Capability`s needed to be aligned, resulting in #22965. Fixes #22965. Fixes #22975.
-rw-r--r--rts/Capability.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/rts/Capability.c b/rts/Capability.c
index f5514cbeee..7d5def832d 100644
--- a/rts/Capability.c
+++ b/rts/Capability.c
@@ -438,8 +438,9 @@ moreCapabilities (uint32_t from USED_IF_THREADS, uint32_t to USED_IF_THREADS)
{
for (uint32_t i = 0; i < to; i++) {
if (i >= from) {
- capabilities[i] = stgMallocBytes(sizeof(Capability),
- "moreCapabilities");
+ capabilities[i] = stgMallocAlignedBytes(sizeof(Capability),
+ CAPABILITY_ALIGNMENT,
+ "moreCapabilities");
initCapability(capabilities[i], i);
}
}