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.
Showing
- compiler/GHC/Builtin/primops.txt.pp 3 additions, 1 deletioncompiler/GHC/Builtin/primops.txt.pp
- libraries/base/GHC/Conc/Sync.hs 12 additions, 12 deletionslibraries/base/GHC/Conc/Sync.hs
- libraries/base/GHC/Conc/Sync.hs-boot 3 additions, 1 deletionlibraries/base/GHC/Conc/Sync.hs-boot
- libraries/base/GHC/Weak/Finalize.hs 4 additions, 1 deletionlibraries/base/GHC/Weak/Finalize.hs
- libraries/base/changelog.md 4 additions, 0 deletionslibraries/base/changelog.md
- libraries/ghc-prim/changelog.md 10 additions, 0 deletionslibraries/ghc-prim/changelog.md
- rts/Heap.c 4 additions, 0 deletionsrts/Heap.c
- rts/RtsStartup.c 0 additions, 7 deletionsrts/RtsStartup.c
- rts/Schedule.c 0 additions, 3 deletionsrts/Schedule.c
- rts/Sparks.c 1 addition, 1 deletionrts/Sparks.c
- rts/ThreadLabels.c 37 additions, 76 deletionsrts/ThreadLabels.c
- rts/ThreadLabels.h 6 additions, 7 deletionsrts/ThreadLabels.h
- rts/Threads.c 4 additions, 4 deletionsrts/Threads.c
- rts/Trace.c 29 additions, 26 deletionsrts/Trace.c
- rts/Trace.h 10 additions, 8 deletionsrts/Trace.h
- rts/Weak.c 0 additions, 1 deletionrts/Weak.c
- rts/eventlog/EventLog.c 3 additions, 2 deletionsrts/eventlog/EventLog.c
- rts/eventlog/EventLog.h 2 additions, 1 deletionrts/eventlog/EventLog.h
- rts/include/rts/storage/TSO.h 2 additions, 1 deletionrts/include/rts/storage/TSO.h
- rts/posix/Signals.c 1 addition, 1 deletionrts/posix/Signals.c
Loading
Please register or sign in to comment