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
