GHC.Data.Bitmap

ghc-9.2.8: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Data.Bitmap

Synopsis

- type Bitmap = [StgWord]
- mkBitmap :: Platform -> [Bool] -> Bitmap
- intsToReverseBitmap :: Platform -> Int -> [Int] -> Bitmap
- mAX_SMALL_BITMAP_SIZE :: Platform -> Int

# Documentation

type Bitmap = [StgWord] Source #

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 :: Platform -> [Bool] -> Bitmap Source #

Make a bitmap from a sequence of bits

intsToReverseBitmap Source #

Arguments

:: Platform |
-> Int | size in bits
-> [Int] | sorted indices of zeros free of duplicates
-> 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 and duplicate-free.

mAX_SMALL_BITMAP_SIZE :: Platform -> Int Source #

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.