Merge pull request #2826 from mattleibow/mono.options-update
[mono.git] / mono / mini / arch-stubs.c
1 #include "mini.h"
2
3 /* Dummy versions of some arch specific functions to avoid ifdefs at call sites */
4
5 #ifndef MONO_ARCH_GSHAREDVT_SUPPORTED
6
7 gboolean
8 mono_arch_gsharedvt_sig_supported (MonoMethodSignature *sig)
9 {
10         return FALSE;
11 }
12
13 gpointer
14 mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_sig, MonoMethodSignature *gsharedvt_sig, gboolean gsharedvt_in, gint32 vcall_offset, gboolean calli)
15 {
16         g_assert_not_reached ();
17         return NULL;
18 }
19
20 gpointer
21 mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpointer addr)
22 {
23         g_assert_not_reached ();
24         return NULL;
25 }
26
27 gpointer
28 mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
29 {
30         g_assert_not_reached ();
31         return NULL;
32 }
33
34 #endif
35
36 #ifndef MONO_ARCH_HAVE_DECOMPOSE_OPTS
37 void
38 mono_arch_decompose_opts (MonoCompile *cfg, MonoInst *ins)
39 {
40 }
41 #endif
42
43 #ifndef MONO_ARCH_HAVE_OPCODE_NEEDS_EMULATION
44 gboolean
45 mono_arch_opcode_needs_emulation (MonoCompile *cfg, int opcode)
46 {
47         return TRUE;
48 }
49 #endif
50
51 #ifndef MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS
52 void
53 mono_arch_decompose_long_opts (MonoCompile *cfg, MonoInst *ins)
54 {
55 }
56 #endif
57
58 #ifndef MONO_ARCH_HAVE_OP_TAIL_CALL
59 gboolean
60 mono_arch_tail_call_supported (MonoCompile *cfg, MonoMethodSignature *caller_sig, MonoMethodSignature *callee_sig)
61 {
62         return mono_metadata_signature_equal (caller_sig, callee_sig) && !MONO_TYPE_ISSTRUCT (callee_sig->ret);
63 }
64 #endif