summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-02-13 14:49:52 -0500
committerBen Gamari <ben@smart-cactus.org>2023-02-17 18:48:51 -0500
commit2cca72cd3e4de25fa81dc6fcc9979e613697a838 (patch)
treed89aeef499d8d2487c18cde7d7b17a29f40413a7
parenteeb5bd560942a4968980fb341d9ebca33ad3302b (diff)
downloadhaskell-2cca72cd3e4de25fa81dc6fcc9979e613697a838.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);
}
}