Merge pull request #2377 from joelmartinez/docs-multiassembly-extension-fix
[mono.git] / mono / mini / mini-amd64-gsharedvt.h
1 /*
2  * mini-exceptions-native-unwinder.c: libcorkscrew-based native unwinder
3  *
4  * Authors:
5  *   Zoltan Varga <vargaz@gmail.com>
6  *   Rodrigo Kumpera <kumpera@gmail.com>
7  *   Andi McClure <andi.mcclure@xamarin.com>
8  *   Johan Lorensson <johan.lorensson@xamarin.com>
9  *
10  * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
11  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
12  */
13 #ifndef MINI_AMD64_GSHAREDVT_H
14 #define MINI_AMD64_GSHAREDVT_H
15
16 typedef enum {
17         GSHAREDVT_ARG_NONE = 0,
18         GSHAREDVT_ARG_BYVAL_TO_BYREF,
19         GSHAREDVT_ARG_BYREF_TO_BYVAL,
20 } GSharedVtArgMarshal;
21
22 typedef enum {
23         GSHAREDVT_RET_NONE = 0,
24         GSHAREDVT_RET_I1,      // 1 byte integer
25         GSHAREDVT_RET_U1,      // 1 byte unsigned
26         GSHAREDVT_RET_I2,      // 2 byte integer
27         GSHAREDVT_RET_U2,      // 2 byte unsigned
28         GSHAREDVT_RET_I4,      // 4 byte integer
29         GSHAREDVT_RET_U4,      // 4 byte unsigned
30         GSHAREDVT_RET_I8,      // 8 byte integer
31         GSHAREDVT_RET_IREGS_1, // Load in first return register
32         GSHAREDVT_RET_R8,     // Double
33         GSHAREDVT_RET_NUM,
34 } GSharedVtRetMarshal;
35
36 static const char* ret_marshal_name[] = {
37         "GSHAREDVT_RET_NONE",
38         "GSHAREDVT_RET_I1",
39         "GSHAREDVT_RET_U1",
40         "GSHAREDVT_RET_I2",
41         "GSHAREDVT_RET_U2",
42         "GSHAREDVT_RET_I4",
43         "GSHAREDVT_RET_U4",
44         "GSHAREDVT_RET_I8",
45         "GSHAREDVT_RET_IREGS_1",
46         "GSHAREDVT_RET_R8",
47         "GSHAREDVT_RET_NUM",
48 };
49
50 #ifdef DEBUG_AMD64_GSHAREDVT
51 #define DEBUG_AMD64_GSHAREDVT_PRINT printf
52 #else
53 #define DEBUG_AMD64_GSHAREDVT_PRINT(...)
54 #endif
55
56 #endif /* MINI_AMD64_GSHAREDVT_H */