[Facades] Use the Open.snk key for the System.ValueTuple facade (#4173)
[mono-project.git] / mono / mini / mini-amd64-gsharedvt.h
blob1bb14e5abd2c4f43eed0d67118a82037ad151d71
1 /*
2 * mini-exceptions-native-unwinder.c: libcorkscrew-based native unwinder
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>
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.
13 #ifndef MINI_AMD64_GSHAREDVT_H
14 #define MINI_AMD64_GSHAREDVT_H
16 typedef enum {
17 GSHAREDVT_ARG_NONE = 0,
18 GSHAREDVT_ARG_BYVAL_TO_BYREF,
19 GSHAREDVT_ARG_BYREF_TO_BYVAL,
20 } GSharedVtArgMarshal;
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;
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",
50 #ifdef DEBUG_AMD64_GSHAREDVT
51 #define DEBUG_AMD64_GSHAREDVT_PRINT printf
52 #else
53 #define DEBUG_AMD64_GSHAREDVT_PRINT(...)
54 #endif
56 #endif /* MINI_AMD64_GSHAREDVT_H */