Documentation
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.
intsToBitmap :: Int -> [Int] -> BitmapSource
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] -> BitmapSource
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 :: IntSource
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.