packages feed

vacuum 2.1.0.1 → 2.2.0.0

raw patch · 5 files changed

+216/−2 lines, 5 filesnew-uploader

Files

src/GHC/Vacuum.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE BangPatterns, UnboxedTuples, MagicHash #-}+{-# LANGUAGE BangPatterns, CPP, UnboxedTuples, MagicHash #-} -- | -- Module      : GHC.Vacuum -- Copyright   : (c) Matt Morrow 2009, Austin Seipp 2011-2012@@ -68,10 +68,19 @@ import Control.Monad import Control.Applicative import Control.Exception+#if MIN_VERSION_base(4,6,0)+import Prelude+#else import Prelude hiding(catch)+#endif import Control.Concurrent +#if MIN_VERSION_base(4,7,0)+import Foreign hiding (void)+#else import Foreign hiding (unsafePerformIO, void)+#endif+ import GHC.Exts  import System.Mem.StableName
src/GHC/Vacuum/ClosureType.hs view
@@ -32,6 +32,8 @@ import GHC.Vacuum.ClosureType.V704 (ClosureType(..)) #elif __GLASGOW_HASKELL__ == 706 import GHC.Vacuum.ClosureType.V706 (ClosureType(..))+#elif __GLASGOW_HASKELL__ == 708+import GHC.Vacuum.ClosureType.V708 (ClosureType(..)) #else #error Unsupported GHC version in ClosureTypes.hs! #endif
+ src/GHC/Vacuum/ClosureType/V708.hs view
@@ -0,0 +1,196 @@+module GHC.Vacuum.ClosureType.V708 ( ClosureType(..) ) where+++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+  | RET_FUN+  | UPDATE_FRAME+  | CATCH_FRAME+  | UNDERFLOW_FRAME+  | STOP_FRAME+  | BLOCKING_QUEUE+  | BLACKHOLE+  | MVAR_CLEAN+  | MVAR_DIRTY+  | TVAR+  | 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+  | N_CLOSURE_TYPES+  deriving (Eq, Ord, Show, Read)++instance Enum ClosureType where+  fromEnum INVALID_OBJECT = 0+  fromEnum CONSTR = 1+  fromEnum CONSTR_1_0 = 2+  fromEnum CONSTR_0_1 = 3+  fromEnum CONSTR_2_0 = 4+  fromEnum CONSTR_1_1 = 5+  fromEnum CONSTR_0_2 = 6+  fromEnum CONSTR_STATIC = 7+  fromEnum CONSTR_NOCAF_STATIC = 8+  fromEnum FUN = 9+  fromEnum FUN_1_0 = 10+  fromEnum FUN_0_1 = 11+  fromEnum FUN_2_0 = 12+  fromEnum FUN_1_1 = 13+  fromEnum FUN_0_2 = 14+  fromEnum FUN_STATIC = 15+  fromEnum THUNK = 16+  fromEnum THUNK_1_0 = 17+  fromEnum THUNK_0_1 = 18+  fromEnum THUNK_2_0 = 19+  fromEnum THUNK_1_1 = 20+  fromEnum THUNK_0_2 = 21+  fromEnum THUNK_STATIC = 22+  fromEnum THUNK_SELECTOR = 23+  fromEnum BCO = 24+  fromEnum AP = 25+  fromEnum PAP = 26+  fromEnum AP_STACK = 27+  fromEnum IND = 28+  fromEnum IND_PERM = 29+  fromEnum IND_STATIC = 30+  fromEnum RET_BCO = 31+  fromEnum RET_SMALL = 32+  fromEnum RET_BIG = 33+  fromEnum RET_FUN = 34+  fromEnum UPDATE_FRAME = 35+  fromEnum CATCH_FRAME = 36+  fromEnum UNDERFLOW_FRAME = 37+  fromEnum STOP_FRAME = 38+  fromEnum BLOCKING_QUEUE = 39+  fromEnum BLACKHOLE = 40+  fromEnum MVAR_CLEAN = 41+  fromEnum MVAR_DIRTY = 42+  fromEnum TVAR = 43+  fromEnum ARR_WORDS = 44+  fromEnum MUT_ARR_PTRS_CLEAN = 45+  fromEnum MUT_ARR_PTRS_DIRTY = 46+  fromEnum MUT_ARR_PTRS_FROZEN0 = 47+  fromEnum MUT_ARR_PTRS_FROZEN = 48+  fromEnum MUT_VAR_CLEAN = 49+  fromEnum MUT_VAR_DIRTY = 50+  fromEnum WEAK = 51+  fromEnum PRIM = 52+  fromEnum MUT_PRIM = 53+  fromEnum TSO = 54+  fromEnum STACK = 55+  fromEnum TREC_CHUNK = 56+  fromEnum ATOMICALLY_FRAME = 57+  fromEnum CATCH_RETRY_FRAME = 58+  fromEnum CATCH_STM_FRAME = 59+  fromEnum WHITEHOLE = 60+  fromEnum N_CLOSURE_TYPES = 61++  toEnum 0 = INVALID_OBJECT+  toEnum 1 = CONSTR+  toEnum 2 = CONSTR_1_0+  toEnum 3 = CONSTR_0_1+  toEnum 4 = CONSTR_2_0+  toEnum 5 = CONSTR_1_1+  toEnum 6 = CONSTR_0_2+  toEnum 7 = CONSTR_STATIC+  toEnum 8 = CONSTR_NOCAF_STATIC+  toEnum 9 = FUN+  toEnum 10 = FUN_1_0+  toEnum 11 = FUN_0_1+  toEnum 12 = FUN_2_0+  toEnum 13 = FUN_1_1+  toEnum 14 = FUN_0_2+  toEnum 15 = FUN_STATIC+  toEnum 16 = THUNK+  toEnum 17 = THUNK_1_0+  toEnum 18 = THUNK_0_1+  toEnum 19 = THUNK_2_0+  toEnum 20 = THUNK_1_1+  toEnum 21 = THUNK_0_2+  toEnum 22 = THUNK_STATIC+  toEnum 23 = THUNK_SELECTOR+  toEnum 24 = BCO+  toEnum 25 = AP+  toEnum 26 = PAP+  toEnum 27 = AP_STACK+  toEnum 28 = IND+  toEnum 29 = IND_PERM+  toEnum 30 = IND_STATIC+  toEnum 31 = RET_BCO+  toEnum 32 = RET_SMALL+  toEnum 33 = RET_BIG+  toEnum 34 = RET_FUN+  toEnum 35 = UPDATE_FRAME+  toEnum 36 = CATCH_FRAME+  toEnum 37 = UNDERFLOW_FRAME+  toEnum 38 = STOP_FRAME+  toEnum 39 = BLOCKING_QUEUE+  toEnum 40 = BLACKHOLE+  toEnum 41 = MVAR_CLEAN+  toEnum 42 = MVAR_DIRTY+  toEnum 43 = TVAR+  toEnum 44 = ARR_WORDS+  toEnum 45 = MUT_ARR_PTRS_CLEAN+  toEnum 46 = MUT_ARR_PTRS_DIRTY+  toEnum 47 = MUT_ARR_PTRS_FROZEN0+  toEnum 48 = MUT_ARR_PTRS_FROZEN+  toEnum 49 = MUT_VAR_CLEAN+  toEnum 50 = MUT_VAR_DIRTY+  toEnum 51 = WEAK+  toEnum 52 = PRIM+  toEnum 53 = MUT_PRIM+  toEnum 54 = TSO+  toEnum 55 = STACK+  toEnum 56 = TREC_CHUNK+  toEnum 57 = ATOMICALLY_FRAME+  toEnum 58 = CATCH_RETRY_FRAME+  toEnum 59 = CATCH_STM_FRAME+  toEnum 60 = WHITEHOLE+  toEnum 61 = N_CLOSURE_TYPES+  toEnum n = error ("toEnum: ClosureType: invalid ClosureType: " ++ show n)+
src/GHC/Vacuum/Internal.hs view
@@ -24,6 +24,8 @@ import Prelude hiding (mod) import Data.Char import Data.Word+import Control.Applicative (Applicative(..))+import Control.Monad (ap) import Control.Monad.Fix import Foreign @@ -185,6 +187,9 @@ newtype S s a = S {unS :: forall o. (a -> s -> IO o) -> s -> IO o} instance Functor (S s) where   fmap f (S g) = S (\k -> g (k . f))+instance Applicative (S s) where+  pure  = return+  (<*>) = ap instance Monad (S s) where   return a = S (\k -> k a)   S g >>= f = S (\k -> g (\a -> unS (f a) k))
vacuum.cabal view
@@ -1,5 +1,5 @@ name:               vacuum-version:            2.1.0.1+version:            2.2.0.0 synopsis:           Graph representation of the GHC heap description:   Vacuum is a library for extracting graph representations of values@@ -58,6 +58,8 @@     exposed-modules:  GHC.Vacuum.ClosureType.V704   if impl(ghc == 7.6.*)     exposed-modules:  GHC.Vacuum.ClosureType.V706+  if impl(ghc == 7.8.*)+    exposed-modules:  GHC.Vacuum.ClosureType.V708    hs-source-dirs:     src   ghc-options:        -Wall -O2 -fwarn-tabs -funbox-strict-fields