Hi Barry, I'm tinkering and trying to replace the Rotor GC. I am currently using GcScanRoots and GcScanHandles with my own callback function (not GCHeap::Promote) for my root set enumeration but I don't think this is including the string roots from the LargeHeapHandleTable. Any suggestions?
Todd > -----Original Message----- > From: Discussion of the Rotor Shared Source CLI implementation > [mailto:[EMAIL PROTECTED] Behalf Of Barry Bond > Sent: Tuesday, December 30, 2003 12:06 PM > To: [EMAIL PROTECTED] > Subject: Re: [DOTNET-ROTOR] Rotor root set enumeration question. > > > clr/src/vm/appdomain.cpp pre-allocates some exceptions in > SystemDomain::CreatePreallocatedExceptions() by calling CreateHandle() > then StoreObjectInHandle(). They boil down into calls to > clr/src/vm/objecthandle.cpp. The GC calls objecthandle.cpp's > Ref_TraceNormalRoots() from within CNameSpace::GcScanHandles() in > gcscan.cpp, to enumerate these objects. > > For strings, clr/src/vm/appdomain.cpp's SystemDomain::Init() > constructs > a thing called the GlobalStringLiteralMap. See > clr/src/vm/stringliteralmap.cpp for its implementation details. It > looks like the m_LargeHeapHandleTable is implemented in appdomain.cpp. > > This posting is provided "AS IS" with no warranties, and confers no > rights. > Barry > > -----Original Message----- > From: Discussion of the Rotor Shared Source CLI implementation > [mailto:[EMAIL PROTECTED] On Behalf Of > Anderson, Todd A > Sent: Tuesday, December 30, 2003 10:48 AM > To: [EMAIL PROTECTED] > Subject: [DOTNET-ROTOR] Rotor root set enumeration question. > > Does anybody know how Rotor enumerates the roots for > things like preallocated exceptions and especially for > string literals? String literals seem to be allocated > through the GC memory allocation routines but I don't > see where/how those roots are enumerated at collection > time. > > thanks, > > Todd > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > NEW! ASP.NET courses you may be interested in: > > 2 Days of ASP.NET, 29 Sept 2003, in Redmond > http://www.develop.com/courses/2daspdotnet > > Guerrilla ASP.NET, 13 Oct 2003, in Boston > http://www.develop.com/courses/gaspdotnet > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentorŪ http://www.develop.com > NEW! ASP.NET courses you may be interested in: > > 2 Days of ASP.NET, 29 Sept 2003, in Redmond > http://www.develop.com/courses/2daspdotnet > > Guerrilla ASP.NET, 13 Oct 2003, in Boston > http://www.develop.com/courses/gaspdotnet > > View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorŪ http://www.develop.com NEW! ASP.NET courses you may be interested in: 2 Days of ASP.NET, 29 Sept 2003, in Redmond http://www.develop.com/courses/2daspdotnet Guerrilla ASP.NET, 13 Oct 2003, in Boston http://www.develop.com/courses/gaspdotnet View archives and manage your subscription(s) at http://discuss.develop.com