The SSCLI's garbage collector can allocate from more than one chunk of
memory.  g_lowest_address and g_highest_address represent the lowest and
highest addresses that *may* contain garbage collected heaps, and are
used to quickly estimate whether a pointer is within the GC heap or not.
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.

Barry

This posting is provided "AS IS" with no warranties, and confers no
rights.

-----Original Message-----
From: Archana Ravindar [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, December 17, 2002 10:22 PM
To: [EMAIL PROTECTED]
Subject: [DOTNET-ROTOR] gc heap structure for rotor


Hi,
the GC interface in rotor includes two parameters- g_lowest_address and
g_highest_address, that define the limits of the heap. am i right in
assuming that, if one has to plug in his GC into rotor he has to have a
one-dimensional chunk of memory for the heap ie. to say it cant
be   organized into blocks or any such sort of thing ?

Thanks & Regards,
archana

Reply via email to