import ByteCodeItbls
import ByteCodeAsm
import RtClosureInspect
-import Var
import IfaceEnv
import Config
import OccName
import Data.IORef
import Data.List
import Foreign.Ptr
-import GHC.Exts
import System.IO
import System.Directory
getHValue :: Name -> IO (Maybe HValue)
getHValue name = do
pls <- readIORef v_PersistentLinkerState
- return$ fmap snd (lookupNameEnv (closure_env pls) name)
+ case lookupNameEnv (closure_env pls) name of
+ Just (_,x) -> return$ Just x
+ _ -> return Nothing
withExtendedLinkEnv :: [(Name,HValue)] -> IO a -> IO a
withExtendedLinkEnv new_env action
let de_additions = [(address, name) | (address, name) <- zip addresses names
, not(address `elemAddressEnv` de_in)
]
- de_out = extendAddressEnvList' de_in de_additions
+ de_out = extendAddressEnvList de_in de_additions
return ( ce_out, de_out, hvals)
where
goForRefs = getRefs []