Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.01 KB

ii.25.4.3-fat-format.md

File metadata and controls

23 lines (15 loc) · 1.01 KB

II.25.4.3 Fat format

The fat format is used whenever the tiny format is not sufficient. This can be true for one or more of the following reasons:

  • The method is too large to encode the size (i.e., at least 64 bytes)

  • There are exceptions

  • There are extra data sections

  • There are local variables

  • The operand stack needs more than 8 entries

A fat header has the following structure

Offset Size Field Description
0 12 (bits) Flags Flags (CorILMethod_FatFormat shall be set in bits 0:1, see §II.25.4.4)
12 (bits) 4 (bits) Size Size of this header expressed as the count of 4-byte integers occupied (currently 3)
2 2 MaxStack Maximum number of items on the operand stack
4 4 CodeSize Size in bytes of the actual method body
8 4 LocalVarSigTok Meta Data token for a signature describing the layout of the local variables for the method. 0 means there are no local variables present