ghc-heap-view 0.5.4 → 0.5.6
raw patch · 4 files changed
+87/−73 lines, 4 filesdep ~basedep ~ghc
Dependency ranges changed: base, ghc
Files
- cbits/HeapView.c +2/−2
- ghc-heap-view.cabal +18/−7
- src/GHC/Disassembler.hs +3/−0
- src/GHC/HeapView.hs +64/−64
cbits/HeapView.c view
@@ -62,7 +62,7 @@ [RET_BCO] = "RET_BCO", [RET_SMALL] = "RET_SMALL", [RET_BIG] = "RET_BIG",-#ifndef GHC_7_7+#if !defined(GHC_7_7) && !defined(GHC_8_0) [RET_DYN] = "RET_DYN", #endif [RET_FUN] = "RET_FUN",@@ -74,7 +74,7 @@ [BLOCKING_QUEUE] = "BLOCKING_QUEUE", [MVAR_CLEAN] = "MVAR_CLEAN", [MVAR_DIRTY] = "MVAR_DIRTY",-#ifdef GHC_7_7+#if defined(GHC_7_7) || defined(GHC_8_0) [TVAR] = "TVAR", #endif [ARR_WORDS] = "ARR_WORDS",
ghc-heap-view.cabal view
@@ -1,9 +1,11 @@ Name: ghc-heap-view-Version: 0.5.4+Version: 0.5.6 Synopsis: Extract the heap representation of Haskell values and thunks Description: This library provides functions to introspect the Haskell heap, for example- to investigate sharing and lazy evaluation.+ to investigate sharing and lazy evaluation. As this is tied to the internals+ of the compiler,it only works with specific versions. Currently, GHC 7.4+ through 7.10 should be supported. . It has been inspired by (and taken code from) the vacuum package and the GHCi debugger, but also allows to investiage thunks and other closures. @@ -56,26 +58,35 @@ Flag ghc_7_7 +Flag ghc_8_0+ Library Default-Language: Haskell2010 Exposed-modules:- GHC.HeapView - GHC.AssertNF + GHC.HeapView+ GHC.AssertNF GHC.Disassembler GHC.HeapView.Debug Build-depends:- base >= 4.5 && < 4.9,+ base >= 4.5 && < 4.10, containers, transformers, template-haskell, bytestring >= 0.10, binary+ if flag(ghc_7_7)- build-depends: ghc >= 7.7+ build-depends: ghc >= 7.7 && < 8 cc-options: -DGHC_7_7 cpp-options: -DGHC_7_7 else- build-depends: ghc < 7.7+ if flag(ghc_8_0)+ build-depends: ghc >= 8+ cc-options: -DGHC_8_0+ cpp-options: -DGHC_8_0+ else+ build-depends: ghc < 7.7+ C-Sources: cbits/HeapView.c cbits/HeapViewPrim.cmm Hs-source-dirs: src/ Ghc-options: -Wall
src/GHC/Disassembler.hs view
@@ -299,8 +299,11 @@ | BCITESTEQ_W Word Int deriving (Show, Functor, Traversable, Foldable) +#if MIN_VERSION_binary(0,8,1)+#else getInthost :: Get Int getInthost = fromIntegral <$> getWordhost getInt16host :: Get Int16 getInt16host = fromIntegral <$> getWord16host+#endif
src/GHC/HeapView.hs view
@@ -207,72 +207,72 @@ <http://hackage.haskell.org/trac/ghc/browser/includes/rts/storage/ClosureTypes.h> -} data ClosureType =- INVALID_OBJECT- | CONSTR- | CONSTR_1_0- | CONSTR_0_1- | CONSTR_2_0- | CONSTR_1_1- | CONSTR_0_2- | CONSTR_STATIC- | CONSTR_NOCAF_STATIC- | FUN- | FUN_1_0- | FUN_0_1- | FUN_2_0- | FUN_1_1- | FUN_0_2- | FUN_STATIC- | THUNK- | THUNK_1_0- | THUNK_0_1- | THUNK_2_0- | THUNK_1_1- | THUNK_0_2- | THUNK_STATIC- | THUNK_SELECTOR- | BCO- | AP- | PAP- | AP_STACK- | IND- | IND_PERM- | IND_STATIC- | RET_BCO- | RET_SMALL- | RET_BIG-#ifndef GHC_7_7- | RET_DYN+ INVALID_OBJECT+ | CONSTR+ | CONSTR_1_0+ | CONSTR_0_1+ | CONSTR_2_0+ | CONSTR_1_1+ | CONSTR_0_2+ | CONSTR_STATIC+ | CONSTR_NOCAF_STATIC+ | FUN+ | FUN_1_0+ | FUN_0_1+ | FUN_2_0+ | FUN_1_1+ | FUN_0_2+ | FUN_STATIC+ | THUNK+ | THUNK_1_0+ | THUNK_0_1+ | THUNK_2_0+ | THUNK_1_1+ | THUNK_0_2+ | THUNK_STATIC+ | THUNK_SELECTOR+ | BCO+ | AP+ | PAP+ | AP_STACK+ | IND+ | IND_PERM+ | IND_STATIC+ | RET_BCO+ | RET_SMALL+ | RET_BIG+#if !defined(GHC_7_7) && !defined(GHC_8_0)+ | RET_DYN #endif- | RET_FUN- | UPDATE_FRAME- | CATCH_FRAME- | UNDERFLOW_FRAME- | STOP_FRAME- | BLOCKING_QUEUE- | BLACKHOLE- | MVAR_CLEAN- | MVAR_DIRTY-#ifdef GHC_7_7- | TVAR+ | RET_FUN+ | UPDATE_FRAME+ | CATCH_FRAME+ | UNDERFLOW_FRAME+ | STOP_FRAME+ | BLOCKING_QUEUE+ | BLACKHOLE+ | MVAR_CLEAN+ | MVAR_DIRTY+#if defined(GHC_7_7) || defined(GHC_8_0)+ | TVAR #endif- | ARR_WORDS- | MUT_ARR_PTRS_CLEAN- | MUT_ARR_PTRS_DIRTY- | MUT_ARR_PTRS_FROZEN0- | MUT_ARR_PTRS_FROZEN- | MUT_VAR_CLEAN- | MUT_VAR_DIRTY- | WEAK- | PRIM- | MUT_PRIM- | TSO- | STACK- | TREC_CHUNK- | ATOMICALLY_FRAME- | CATCH_RETRY_FRAME- | CATCH_STM_FRAME- | WHITEHOLE+ | ARR_WORDS+ | MUT_ARR_PTRS_CLEAN+ | MUT_ARR_PTRS_DIRTY+ | MUT_ARR_PTRS_FROZEN0+ | MUT_ARR_PTRS_FROZEN+ | MUT_VAR_CLEAN+ | MUT_VAR_DIRTY+ | WEAK+ | PRIM+ | MUT_PRIM+ | TSO+ | STACK+ | TREC_CHUNK+ | ATOMICALLY_FRAME+ | CATCH_RETRY_FRAME+ | CATCH_STM_FRAME+ | WHITEHOLE deriving (Show, Eq, Enum, Ord) {-| This is the main data type of this module, representing a Haskell value on