ghc-heap-view 0.3.0.1 → 0.3.0.2
raw patch · 4 files changed
+22/−6 lines, 4 filesbuild-type:Customsetup-changed
Files
- Setup.hs +11/−1
- cbits/HeapView.c +1/−1
- ghc-heap-view.cabal +2/−2
- src/GHC/HeapView.hs +8/−2
Setup.hs view
@@ -1,2 +1,12 @@ import Distribution.Simple-main = defaultMain+import Distribution.Simple.Setup+import Distribution.Simple.LocalBuildInfo+import Distribution.PackageDescription (PackageDescription)++main = defaultMainWithHooks $+ simpleUserHooks { postConf = postConfHook (postConf simpleUserHooks) }++postConfHook oldHook args flags descr buildInfo = case profFlag of+ Flag True -> error "This library cannot be built using profiling. Try invoking cabal with the --disable-library-profiling flag."+ _ -> oldHook args flags descr buildInfo+ where profFlag = configProfLib $ configFlags buildInfo
cbits/HeapView.c view
@@ -249,7 +249,7 @@ break; default:- fprintf(stderr,"closurePtrs: Cannot handle type %s yet\n", gtc_heap_view_closure_type_names[info->type]);+ //fprintf(stderr,"closurePtrs: Cannot handle type %s yet\n", gtc_heap_view_closure_type_names[info->type]); break; }
ghc-heap-view.cabal view
@@ -1,5 +1,5 @@ Name: ghc-heap-view-Version: 0.3.0.1+Version: 0.3.0.2 Synopsis: Extract the heap representation of Haskell values and thunks Description: This library provides functions to introspect the Haskell heap, for example@@ -16,7 +16,7 @@ Maintainer: Joachim Breitner <mail@joachim-breitner.de> Copyright: 2012 Joachim Breitner Category: Debug, GHC-Build-type: Simple+Build-type: Custom Cabal-version: >=1.14 Extra-source-files: Demo.hs
src/GHC/HeapView.hs view
@@ -334,6 +334,9 @@ info :: StgInfoTable , hvalues :: [Box] , rawWords :: [Word]+ } |+ UnsupportedClosure {+ info :: StgInfoTable } deriving (Show) @@ -354,6 +357,7 @@ allPtrs (FunClosure {..}) = ptrArgs allPtrs (BlockingQueueClosure {..}) = [link, blackHole, owner, queue] allPtrs (OtherClosure {..}) = hvalues+allPtrs (UnsupportedClosure {..}) = [] @@ -533,12 +537,14 @@ return $ MVarClosure itbl (ptrs !! 0) (ptrs !! 1) (ptrs !! 2) BLOCKING_QUEUE ->- return $ OtherClosure itbl ptrs wds+ return $ OtherClosure itbl ptrs wds -- return $ BlockingQueueClosure itbl -- (ptrs !! 0) (ptrs !! 1) (ptrs !! 2) (ptrs !! 3) -- return $ OtherClosure itbl ptrs wds- closure -> error $ "getClosureData: Cannot handle closure type " ++ show closure+ --+ _ ->+ return $ UnsupportedClosure itbl -- | Like 'getClosureData', but taking a 'Box', so it is easier to work with. getBoxedClosureData :: Box -> IO Closure