Fix CHECK_CANARY_FOR_OBJECT. (#11957)
[mono-project.git] / mono / mini / mini-amd64-gsharedvt.h
blob5cc7a480a7cf929f04c580dbb4c8c090276ffc60
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_U1,
22 GSHAREDVT_ARG_BYREF_TO_BYVAL_U2,
23 GSHAREDVT_ARG_BYREF_TO_BYVAL_U4
24 } GSharedVtArgMarshal;
26 typedef enum {
27 GSHAREDVT_RET_NONE = 0,
28 GSHAREDVT_RET_I1, // 1 byte integer
29 GSHAREDVT_RET_U1, // 1 byte unsigned
30 GSHAREDVT_RET_I2, // 2 byte integer
31 GSHAREDVT_RET_U2, // 2 byte unsigned
32 GSHAREDVT_RET_I4, // 4 byte integer
33 GSHAREDVT_RET_U4, // 4 byte unsigned
34 GSHAREDVT_RET_I8, // 8 byte integer
35 GSHAREDVT_RET_IREGS_1, // Load in first return register
36 GSHAREDVT_RET_R8, // Double
37 GSHAREDVT_RET_NUM,
38 } GSharedVtRetMarshal;
40 #ifdef DEBUG_AMD64_GSHAREDVT
41 #define DEBUG_AMD64_GSHAREDVT_PRINT printf
42 #else
43 #define DEBUG_AMD64_GSHAREDVT_PRINT(...)
44 #endif
46 #endif /* MINI_AMD64_GSHAREDVT_H */