What kind of data is stored in 'Type Object po

2019-03-09 05:08发布

问题:

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!

回答1:

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.