6 * Rodrigo Kumpera (kumpera@gmail.com)
8 * Copyright (c) 2011 Novell, Inc (http://www.novell.com)
9 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
12 #ifndef __MONO_MONO_MACHINE_H__
13 #define __MONO_MONO_MACHINE_H__
15 /* C type matching the size of a machine register. Not always the same as 'int' */
16 /* Note that member 'p' of MonoInst must be the same type, as OP_PCONST is defined
17 * as one of the OP_ICONST types, so inst_c0 must be the same as inst_p0
23 #if SIZEOF_REGISTER == 4
24 typedef gint32 mgreg_t
;
25 #elif SIZEOF_REGISTER == 8
26 typedef gint64 mgreg_t
;
29 /* Alignment for MonoArray.vector */
32 * HACK: doubles in structs always align to 4 on AIX... even on 64-bit,
33 * which is bad for aligned usage like what System.Array.FastCopy does
35 typedef guint64 mono_64bitaligned_t
;
37 typedef double mono_64bitaligned_t
;
40 #endif /* __MONO_MONO_MACHINE_H__ */