Add BlackholeClosure
authorJoachim Breitner <mail@joachim-breitner.de>
Fri, 18 May 2012 10:23:18 +0000 (10:23 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Fri, 18 May 2012 10:23:18 +0000 (10:23 +0000)
src/GHC/HeapView.hs

index 17ca657..5c6b052 100644 (file)
@@ -259,6 +259,10 @@ data Closure =
         info         :: StgInfoTable 
         , indirectee   :: Box
     } |
+    BlackholeClosure {
+        info         :: StgInfoTable 
+        , indirectee   :: Box
+    } |
     APClosure {
         info         :: StgInfoTable 
         , arity      :: HalfWord
@@ -329,6 +333,7 @@ allPtrs (ConsClosure {..}) = ptrArgs
 allPtrs (ThunkClosure {..}) = ptrArgs
 allPtrs (SelectorClosure {..}) = [selectee]
 allPtrs (IndClosure {..}) = [indirectee]
+allPtrs (BlackholeClosure {..}) = [indirectee]
 allPtrs (APClosure {..}) = fun:payload
 allPtrs (PAPClosure {..}) = fun:payload
 allPtrs (BCOClosure {..}) = [instrs,literals,bcoptrs]
@@ -466,7 +471,7 @@ getClosureData x = do
         IND_STATIC ->
             return $ IndClosure itbl (head ptrs)
         BLACKHOLE ->
-            return $ IndClosure itbl (head ptrs)
+            return $ BlackholeClosure itbl (head ptrs)
 
         BCO ->
             return $ BCOClosure itbl (ptrs !! 0) (ptrs !! 1) (ptrs !! 2)