summaryrefslogtreecommitdiff
path: root/compiler/GHC/Runtime/Heap/Layout.hs
diff options
context:
space:
mode:
authorSven Tennie <sven.tennie@gmail.com>2021-04-03 19:35:34 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-09-23 15:59:38 -0400
commit29717ecb0711cd03796510fbe9b4bff58c7da870 (patch)
tree850a449ef01caeedf8fd8e9156e7eedcd5a028ce /compiler/GHC/Runtime/Heap/Layout.hs
parent6f7f59901c047882ba8c9ae8812264f86b12483a (diff)
downloadhaskell-29717ecb0711cd03796510fbe9b4bff58c7da870.tar.gz
Use Info Table Provenances to decode cloned stack (#18163)
Emit an Info Table Provenance Entry (IPE) for every stack represeted info table if -finfo-table-map is turned on. To decode a cloned stack, lookupIPE() is used. It provides a mapping between info tables and their source location. Please see these notes for details: - [Stacktraces from Info Table Provenance Entries (IPE based stack unwinding)] - [Mapping Info Tables to Source Positions] Metric Increase: T12545
Diffstat (limited to 'compiler/GHC/Runtime/Heap/Layout.hs')
-rw-r--r--compiler/GHC/Runtime/Heap/Layout.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/GHC/Runtime/Heap/Layout.hs b/compiler/GHC/Runtime/Heap/Layout.hs
index 1195f83937..3e6f6ed405 100644
--- a/compiler/GHC/Runtime/Heap/Layout.hs
+++ b/compiler/GHC/Runtime/Heap/Layout.hs
@@ -174,6 +174,7 @@ data SMRep
| RTSRep -- The RTS needs to declare info tables with specific
Int -- type tags, so this form lets us override the default
SMRep -- tag for an SMRep.
+ deriving Eq
-- | True \<=> This is a static closure. Affects how we garbage-collect it.
-- Static closure have an extra static link field at the end.
@@ -191,6 +192,7 @@ data ClosureTypeInfo
| ThunkSelector SelectorOffset
| BlackHole
| IndStatic
+ deriving Eq
type ConstrDescription = ByteString -- result of dataConIdentity
type FunArity = Int
@@ -445,6 +447,8 @@ rtsClosureType rep
HeapRep False _ _ BlackHole -> BLACKHOLE
HeapRep False _ _ IndStatic -> IND_STATIC
+ StackRep _ -> STACK
+
_ -> panic "rtsClosureType"
-- We export these ones