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