| ghc-6.10.4: The GHC API | Contents | Index

Bitmap

Synopsis

type Bitmap = [StgWord]
mkBitmap :: [Bool] -> Bitmap
intsToBitmap :: Int -> [Int] -> Bitmap
intsToReverseBitmap :: Int -> [Int] -> Bitmap
mAX_SMALL_BITMAP_SIZE :: Int
seqBitmap :: Bitmap -> a -> a

Documentation
type Bitmap = [StgWord]
A bitmap represented by a sequence of `StgWord`s on the target architecture. These are used for bitmaps in info tables and other generated code which need to be emitted as sequences of StgWords.
mkBitmap :: [Bool] -> Bitmap
Make a bitmap from a sequence of bits
intsToBitmap :: Int -> [Int] -> Bitmap
Make a bitmap where the slots specified are the ones in the bitmap. eg. `[0,1,3], size 4 ==> 0xb`. The list of `Int`s must be already sorted.
intsToReverseBitmap :: Int -> [Int] -> Bitmap
Make a bitmap where the slots specified are the zeros in the bitmap. eg. `[0,1,3], size 4 ==> 0x4` (we leave any bits outside the size as zero, just to make the bitmap easier to read). The list of `Int`s must be already sorted.
mAX_SMALL_BITMAP_SIZE :: Int
Magic number, must agree with `BITMAP_BITS_SHIFT` in InfoTables.h. Some kinds of bitmap pack a size/bitmap into a single word if possible, or fall back to an external pointer when the bitmap is too large. This value represents the largest size of bitmap that can be packed into a single word.
seqBitmap :: Bitmap -> a -> a
Produced by Haddock version 2.4.2