> Barry Bond wrote: > > > For example, take a look at GCHeap::IsHeapPointer() in > > sscli/src/clr/src/vm/gcsmp.cpp. You can see the range-check that the > > pointer is between g_lowest_address and g_highest_address, and only if > > it is, IsHeapPointer() calls gcheap::find_segment to determine which (if > > any) GC heap segment contains the pointer.
that means to say, the parameters are for checking at a macro level and IsHeapPointer() is a more detailed check? Is it ok, if an address is validated to be a legal GC heap addr (but since there might be gaps inbetween it is actually does not belong to any of the spaces) this situation might occur since threads.h defines a function IsObjRefValid that doesnt call IsHeapPointer() and uses only the lowest and highest addresses to decide. > thank you, > archana