diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-08-06 11:51:35 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-08-06 11:51:35 -0400 |
commit | 6d1700b6dca6defb8768c493a1059c4215749b53 (patch) | |
tree | 80dc3968bb4073cd6f06e39a040f32a5a5360e31 /rts/include | |
parent | aa818a9f83308d0742e8f8c91cb9878182dacce5 (diff) | |
download | haskell-6d1700b6dca6defb8768c493a1059c4215749b53.tar.gz |
rts: Move thread labels into TSO
This eliminates the thread label HashTable and instead tracks this
information in the TSO, allowing us to use proper StgArrBytes arrays for
backing the label and greatly simplifying management of object lifetimes
when we expose them to the user with the coming `threadLabel#` primop.
Diffstat (limited to 'rts/include')
-rw-r--r-- | rts/include/rts/storage/TSO.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/include/rts/storage/TSO.h b/rts/include/rts/storage/TSO.h index db56a8128b..93c077d36a 100644 --- a/rts/include/rts/storage/TSO.h +++ b/rts/include/rts/storage/TSO.h @@ -135,7 +135,8 @@ typedef struct StgTSO_ { struct InCall_* bound; struct Capability_* cap; - struct StgTRecHeader_ * trec; /* STM transaction record */ + struct StgTRecHeader_ * trec; /* STM transaction record */ + StgArrBytes* label; /* Thread label */ /* * A list of threads blocked on this TSO waiting to throw exceptions. |