[DOTNET-ROTOR] Rotor root set enumeration question.

2003-12-30 Thread Anderson, Todd A
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Ā®  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


Re: [DOTNET-ROTOR] Rotor root set enumeration question.

2003-12-30 Thread Barry Bond
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