In syncblk.h, the following definition is made.
#define ObjSizeOf(c) (sizeof(c) + sizeof(ObjHeader))
This is used to define the m_BaseSize member of a MethodTable (for compiled classes, see class.cpp line 7280). The BaseSize is then, in turn, passed to the various allocation functions (for example, gcscan.cpp line 796).
I hope this helps!
--djs
At 01:51 PM 2/24/2004 +0800, you wrote:
Hi, I am a Chinese student and a beginner of rotor. From syncblk.h, I know that every Object is preceded by an ObjHeader which is at a negative offset. My question is how the CLR allocate spaces for ObjHeader when an object is created. In which file or function can I find the implementation? I hope I have explained it well. If anyone can help me I would be very grateful. Thank you.
Jason
===== Best Regards Jason He
=================================== 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