[start using Jhc.ForeignPtr
John Meacham <john@repetae.net>**20120307035523
 Ignore-this: 4947965ba3de583014a924e498ba5367
] hunk ./lib/base/Foreign/ForeignPtr.hs 16
-
-newtype ForeignPtr a = FP (Ptr a)
-    deriving(Eq,Ord)
+import Jhc.ForeignPtr
hunk ./lib/base/Foreign/ForeignPtr.hs 20
-newForeignPtr_ :: Ptr a -> IO (ForeignPtr a)
-newForeignPtr_ = return . FP
-
hunk ./lib/base/Foreign/ForeignPtr.hs 30
-mallocForeignPtrBytes x = do
-    ptr <- mallocBytes x
-    newForeignPtr finalizerFree ptr
+mallocForeignPtrBytes sz = mallocForeignPtrAlignBytes 0 sz
hunk ./lib/base/Foreign/ForeignPtr.hs 35
-    doMalloc x = mallocForeignPtrBytes (sizeOf x)
+    doMalloc x = mallocForeignPtrAlignBytes (alignment x) (sizeOf x)
hunk ./lib/base/Foreign/ForeignPtr.hs 40
-    doMalloc dummy size  = mallocForeignPtrBytes (size * sizeOf dummy)
+    doMalloc dummy size  = mallocForeignPtrAlignBytes
+        (alignment dummy) (size * sizeOf dummy)
hunk ./lib/base/Foreign/ForeignPtr.hs 52
-unsafeForeignPtrToPtr :: ForeignPtr a -> Ptr a
-unsafeForeignPtrToPtr (FP x) = x
-
-touchForeignPtr :: ForeignPtr a -> IO ()
-touchForeignPtr x = fromUIO_ (touch_ x)
-
-foreign import primitive touch_ :: ForeignPtr a -> UIO_
-
-castForeignPtr :: ForeignPtr a -> ForeignPtr b
-castForeignPtr (FP x) = FP $ castPtr x
-
hunk ./lib/jhc/jhc.yaml 41
+        - Jhc.ForeignPtr