src/vm/ceeload.cpp
INT32 LookupMapBase::GetNextCompressedEntry(BitStreamReader *pTableStream, INT32 iLastValue)
{
    CONTRACTL
    {
        INSTANCE_CHECK;
        NOTHROW;
        GC_NOTRIGGER;
        MODE_ANY;
        SUPPORTS_DAC;
        PRECONDITION(MapIsCompressed());
    }
// This method can only be called on a compressed map (MapIsCompressed() == true). Compressed rid maps store
// the array of values as packed deltas (each value is based on the accumulated of all the previous entries).
// So this method takes the bit stream of compressed data we're navigating and the value of the last entry
// retrieved allowing us to calculate the full value of the next entry. Note that the values passed in and out
// here aren't the final values the top-level caller sees. In order to avoid having to touch the compressed
// data on image base relocations we actually store a form of RVA (though relative to the map base rather than
// the module base).
This method can only be called on a compressed map (MapIsCompressed() == true). Compressed rid maps store
the array of values as packed deltas (each value is based on the accumulated of all the previous entries).
So this method takes the bit stream of compressed data we're navigating and the value of the last entry
retrieved allowing us to calculate the full value of the next entry. Note that the values passed in and out
here aren't the final values the top-level caller sees. In order to avoid having to touch the compressed
data on image base relocations we actually store a form of RVA (though relative to the map base rather than
the module base).
This method can only be called on a compressed map ( MapIsCompressed () == true ) . Compressed rid maps store the array of values as packed deltas ( each value is based on the accumulated of all the previous entries ) . So this method takes the bit stream of compressed data we ' re navigating and the value of the last entry retrieved allowing us to calculate the full value of the next entry . Note that the values passed in and out here aren ' t the final values the top - level caller sees . In order to avoid having to touch the compressed data on image base relocations we actually store a form of RVA ( though relative to the map base rather than the module base ) .
INT32 LookupMapBase::GetNextCompressedEntry(BitStreamReader *pTableStream, INT32 iLastValue)
{
    CONTRACTL
    {
        INSTANCE_CHECK;
        NOTHROW;
        GC_NOTRIGGER;
        MODE_ANY;
        SUPPORTS_DAC;
        PRECONDITION(MapIsCompressed());
    }
INT32 LookupMapBase :: GetNextCompressedEntry ( BitStreamReader * pTableStream , INT32 iLastValue ) { CONTRACTL { INSTANCE_CHECK ; NOTHROW ; GC_NOTRIGGER ; MODE_ANY ; SUPPORTS_DAC ; PRECONDITION ( MapIsCompressed ( ) ) ; }
This method can only be called on a compressed map (MapIsCompressed() == true).
This method can only be called on a compressed map ( MapIsCompressed () == true ) .