packages feed

vacuum 0.0.91 → 0.0.92

raw patch · 2 files changed

+10/−7 lines, 2 files

Files

src/GHC/Vacuum.hs view
@@ -353,10 +353,10 @@ --  add it's successor's not already seen, and --  return the @HNodeId@'s of these newly-seen nodes --  (which we've added to the graph in @H@'s state).---  CURRENTLY unpackClosure# ENTERS *_ARR_WORDS---  (WHICH IT SHOULDN'T, SEE BOTTOM OF THIS FILE)---  (e.g. BbyteArray#). THIS IS A PROBLEM---  FOR LARGE INTEGERS, AMONG OTHER THINGS.+--  CURRENTLY GHC COERCES UNPOINTED CLOSURES TO+--  @HVALUE@, which is a bug in the sense that+--  unpointed closures cannot be entered, which HValues+--  can. nodeH :: HValue -> H [HNodeId] nodeH a = a `seq` do   clos <- io (getClosure a)@@ -371,8 +371,11 @@                               "MVar"  -> return []            -- avoid the MVar#                               "STRef" -> return []            -- avoid the MutVar#                               "Array" -> return (take 2 ptrs) -- avoid the Array#-                              "MallocPtr" -> return (drop 1 ptrs) -- ForeignPtr+                              "MallocPtr" -> return []            -- ForeignPtr                               "PlainPtr" -> return []             -- ForeignPtr+                              "IORef"     -> return []            -- avoid the MutVar#+                              "STRef"     -> return []            -- avoid the MutVar#+                              "PS"        -> return (drop 1 ptrs)                               _       -> return ptrs                 | otherwise -> return ptrs   xs <- mapM getId ptrs'@@ -513,7 +516,7 @@         goto out;     }     case THUNK, THUNK_1_0, THUNK_0_1, THUNK_2_0, THUNK_1_1,-         THUNK_0_2, THUNK_STATIC, AP, PAP, AP_STACK, BCO : {      -- XXXXXXXXXXX: need to check for *ARR_WORDS here too!+         THUNK_0_2, THUNK_STATIC, AP, PAP, AP_STACK, BCO : {         ptrs = 0;         nptrs = 0;         goto out;
vacuum.cabal view
@@ -1,5 +1,5 @@ name:               vacuum-version:            0.0.91+version:            0.0.92 cabal-version:      >= 1.6 build-type:         Simple license:            LGPL