X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FObjLink.lhs;fp=compiler%2Fghci%2FObjLink.lhs;h=d032a369fae27a325a1b79d1722f2f7e3f467906;hb=7d6dffe542bdad5707a929ae7ac25813c586766d;hp=135afbb07dcadce0cc39d6fe3d2df47775a6a726;hpb=500fb9ad138112e8145d9f125f8c6d013f449205;p=ghc-hetmet.git diff --git a/compiler/ghci/ObjLink.lhs b/compiler/ghci/ObjLink.lhs index 135afbb..d032a36 100644 --- a/compiler/ghci/ObjLink.lhs +++ b/compiler/ghci/ObjLink.lhs @@ -18,11 +18,9 @@ module ObjLink ( unloadObj, -- :: String -> IO () insertSymbol, -- :: String -> String -> Ptr a -> IO () lookupSymbol, -- :: String -> IO (Maybe (Ptr a)) - resolveObjs, -- :: IO SuccessFlag - lookupDataCon -- :: Ptr a -> IO (Maybe String) + resolveObjs -- :: IO SuccessFlag ) where -import ByteCodeItbls ( StgInfoTable ) import Panic ( panic ) import BasicTypes ( SuccessFlag, successIf ) import Config ( cLeadingUnderscore ) @@ -33,8 +31,6 @@ import Foreign.C import Foreign ( nullPtr ) import GHC.Exts ( Ptr(..), unsafeCoerce# ) -import Constants ( wORD_SIZE ) -import Foreign ( plusPtr ) -- --------------------------------------------------------------------------- @@ -57,14 +53,6 @@ lookupSymbol str_in = do then return Nothing else return (Just addr) --- | Expects a Ptr to an info table, not to a closure -lookupDataCon :: Ptr StgInfoTable -> IO (Maybe String) -lookupDataCon ptr = do - name <- c_lookupDataCon (ptr `plusPtr` (wORD_SIZE*2)) - if name == nullPtr - then return Nothing - else peekCString name >>= return . Just - prefixUnderscore :: String -> String prefixUnderscore | cLeadingUnderscore == "YES" = ('_':) @@ -108,6 +96,4 @@ foreign import ccall unsafe "lookupSymbol" c_lookupSymbol :: CString -> IO (Ptr foreign import ccall unsafe "loadObj" c_loadObj :: CString -> IO Int foreign import ccall unsafe "unloadObj" c_unloadObj :: CString -> IO Int foreign import ccall unsafe "resolveObjs" c_resolveObjs :: IO Int -foreign import ccall unsafe "lookupDataCon" c_lookupDataCon :: Ptr a -> IO CString - \end{code}