[runtime] Transition the trampoline code to use memory managers for memory allocation...
[mono-project.git] / mono / mini / mini-amd64-gsharedvt.h
blob539dff9ff51e16ac6784cf9216f39887e60f0bf7
1 /**
2 * \file
3 * libcorkscrew-based native unwinder
5 * Authors:
6 * Zoltan Varga <vargaz@gmail.com>
7 * Rodrigo Kumpera <kumpera@gmail.com>
8 * Andi McClure <andi.mcclure@xamarin.com>
9 * Johan Lorensson <johan.lorensson@xamarin.com>
11 * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
12 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
14 #ifndef MINI_AMD64_GSHAREDVT_H
15 #define MINI_AMD64_GSHAREDVT_H
17 typedef enum {
18 GSHAREDVT_ARG_NONE = 0,
19 GSHAREDVT_ARG_BYVAL_TO_BYREF,
20 GSHAREDVT_ARG_BYREF_TO_BYVAL,
21 GSHAREDVT_ARG_BYREF_TO_BYVAL_I1,
22 GSHAREDVT_ARG_BYREF_TO_BYVAL_U1,
23 GSHAREDVT_ARG_BYREF_TO_BYVAL_I2,
24 GSHAREDVT_ARG_BYREF_TO_BYVAL_U2,
25 GSHAREDVT_ARG_BYREF_TO_BYVAL_I4,
26 GSHAREDVT_ARG_BYREF_TO_BYVAL_U4
27 } GSharedVtArgMarshal;
29 typedef enum {
30 GSHAREDVT_RET_NONE = 0,
31 GSHAREDVT_RET_I1, // 1 byte integer
32 GSHAREDVT_RET_U1, // 1 byte unsigned
33 GSHAREDVT_RET_I2, // 2 byte integer
34 GSHAREDVT_RET_U2, // 2 byte unsigned
35 GSHAREDVT_RET_I4, // 4 byte integer
36 GSHAREDVT_RET_U4, // 4 byte unsigned
37 GSHAREDVT_RET_I8, // 8 byte integer
38 GSHAREDVT_RET_IREGS_1, // Load in first return register
39 GSHAREDVT_RET_R8, // Double
40 GSHAREDVT_RET_NUM,
41 } GSharedVtRetMarshal;
43 #ifdef DEBUG_AMD64_GSHAREDVT
44 #define DEBUG_AMD64_GSHAREDVT_PRINT printf
45 #else
46 #define DEBUG_AMD64_GSHAREDVT_PRINT(...)
47 #endif
49 #endif /* MINI_AMD64_GSHAREDVT_H */