diff options
author | Ben Gamari <ben@smart-cactus.org> | 2023-02-13 14:49:52 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-03-02 22:43:22 -0500 |
commit | 8a6f745d963fc9b79c7b1e4b477f4fc724233655 (patch) | |
tree | ef2cb24b46d918fd3bdb340c744434fb5ca61856 | |
parent | 5f7a4a6d8311d2faa9c90b2b0c4431dd4427839d (diff) | |
download | haskell-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.c | 5 |
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); } } |