In CLR, each instance have 2 additional fields to store some data to manage object:
- Type Object Pointer
- Sync Block Index
Can you explain basically what do they store inside and briefly how are they used by CLR?
Thanks!
In CLR, each instance have 2 additional fields to store some data to manage object:
Can you explain basically what do they store inside and briefly how are they used by CLR?
Thanks!
The type object pointer is a pointer to a type description of the object. This is used to find out what the actual type of an object is, for example needed to do virtual calls.
The sync block index is an index into a table of synchronisation blocks. Each object can have a sync block, that contains information used by Monitor.Enter
and Monitor.Exit
.