Fix Xamarin bug 7594.
[mono-project.git] / docs / stack-alignment
blobda995fb288fbbb7dc405144b84d13c0276f2a496
1 Size and alignment requirements of stack values
2 ===============================================
4 P  ... System.IntPtr
5 I1 ... System.Int8
6 I2 ... System.Int16
7 I4 ... System.Int32
8 I8 ... System.Int64
9 F  ... System.Single
10 D  ... System.Double
11 LD ... native long double
13 -----------------------------------------------------------
14 ARCH      |   P |  I1 |  I2 |  I4 |  I8 |  F  |   D |  LD | 
15 -----------------------------------------------------------
16 X86       | 4/4 | 4/4 | 4/4 | 4/4 | 8/4 | 4/4 | 8/4 |12/4 |
17 -----------------------------------------------------------
18 X86/W32   | 4/4 | 4/4 | 4/4 | 4/4 | 8/4 | 4/4 | 8/4 |12/4 |
19 -----------------------------------------------------------
20 ARM       | 4/4 | 4/4 | 4/4 | 4/4 | 8/4 | 4/4 | 8/4 | 8/4 |
21 -----------------------------------------------------------
22 M68K      | 4/4 | 4/4 | 4/4 | 4/4 | 8/4 | 4/4 | 8/4 |12/4 |
23 -----------------------------------------------------------
24 ALPHA     | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 |
25 -----------------------------------------------------------
26 SPARC     | 4/4 | 4/4 | 4/4 | 4/4 | 8/8 | 4/4 | 8/8 |16/8 |
27 -----------------------------------------------------------
28 SPARC64   | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 |16/16|
29 -----------------------------------------------------------
30 MIPS      | 4/4 | 4/4 | 4/4 | 4/4 | ?/? | 4/4 | 8/8 | 8/8 |
31 -----------------------------------------------------------
32           |     |     |     |     |     |     |     |     |
33 -----------------------------------------------------------