Re: size of the object header

Jan Kotas <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.rotor
Message-ID <DD12668590C9274E9B2226FDBD02B98807E1C1AC@red-msg-08.redmond.corp.microsoft.com>
The computation of offsets in CheckMscorlib does not seem to be
accurate. Try changing:

<        if (!pFD->GetMethodTableOfEnclosingClass()->IsValueClass())
<            offset += sizeof(ObjHeader);

to:
>        if (!pFD->GetMethodTableOfEnclosingClass()->IsValueClass())
>            offset += Object::GetOffsetOfFirstField();

Have you considered using syncblock for the extra stuff you need? It
should be much easier.

-Jan

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

-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[email protected]] On Behalf Of Archana
Sent: Friday, July 25, 2003 8:24 AM
To: [email protected]
Subject: [DOTNET-ROTOR] size of the object header

Hi,
 i hope you will excuse me for sending somany mails just over the past
few
days. once i get the hang of it, should be okay
my changes to the collector requires the object header size to be 8
instead of 4 which is the current obj header size. one potential place
where i need to make changes was indicated by an Assert failure at
binder.cpp::CheckMscorlib() where pOffsets->expectedOffset is compared
with offset. how should i go about making the change to avoid assert
failure. i tried looking for MscorlibFieldOffsets but not able to
understand how its getting populated. Also if i need to make changes in
other critical places it would of immense help if you could mention them

thanks & regards
archana
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.