[2019-12] [jit] Avoid passing a vtable argument to DIM methods when making calls...
[mono-project.git] / mono / mini / interp-stubs.c
blob922b671c2f3d76fde1519a7809da8fdd80d1a534
1 #include <config.h>
3 #include "interp/interp.h"
5 /* interpreter callback stubs */
7 static MonoJitInfo*
8 stub_find_jit_info (MonoDomain *domain, MonoMethod *method)
10 return NULL;
13 static void
14 stub_set_breakpoint (MonoJitInfo *jinfo, gpointer ip)
16 g_assert_not_reached ();
19 static void
20 stub_clear_breakpoint (MonoJitInfo *jinfo, gpointer ip)
22 g_assert_not_reached ();
25 static MonoJitInfo*
26 stub_frame_get_jit_info (MonoInterpFrameHandle frame)
28 g_assert_not_reached ();
29 return NULL;
32 static gpointer
33 stub_frame_get_ip (MonoInterpFrameHandle frame)
35 g_assert_not_reached ();
36 return NULL;
39 static gpointer
40 stub_frame_get_arg (MonoInterpFrameHandle frame, int pos)
42 g_assert_not_reached ();
43 return NULL;
46 static gpointer
47 stub_frame_get_local (MonoInterpFrameHandle frame, int pos)
49 g_assert_not_reached ();
50 return NULL;
53 static gpointer
54 stub_frame_get_this (MonoInterpFrameHandle frame)
56 g_assert_not_reached ();
57 return NULL;
60 static MonoInterpFrameHandle
61 stub_frame_get_parent (MonoInterpFrameHandle frame)
63 g_assert_not_reached ();
64 return NULL;
67 static gpointer
68 stub_frame_get_res (MonoInterpFrameHandle frame)
70 g_assert_not_reached ();
71 return NULL;
74 static gpointer
75 stub_frame_get_native_stack_addr (MonoInterpFrameHandle frame)
77 g_assert_not_reached ();
78 return NULL;
81 static void
82 stub_start_single_stepping (void)
86 static void
87 stub_stop_single_stepping (void)
91 static void
92 stub_cleanup (void)
96 static void
97 stub_set_resume_state (MonoJitTlsData *jit_tls, MonoException *ex, MonoJitExceptionInfo *ei, MonoInterpFrameHandle interp_frame, gpointer handler_ip)
99 g_assert_not_reached ();
102 static void
103 stub_get_resume_state (const MonoJitTlsData *jit_tls, gboolean *has_resume_state, MonoInterpFrameHandle *interp_frame, gpointer *handler_ip)
105 *has_resume_state = FALSE;
108 static gboolean
109 stub_run_finally (StackFrameInfo *frame, int clause_index, gpointer handler_ip, gpointer handler_ip_end)
111 g_assert_not_reached ();
114 static gboolean
115 stub_run_filter (StackFrameInfo *frame, MonoException *ex, int clause_index, gpointer handler_ip, gpointer handler_ip_end)
117 g_assert_not_reached ();
118 return FALSE;
121 static void
122 stub_frame_iter_init (MonoInterpStackIter *iter, gpointer interp_exit_data)
124 g_assert_not_reached ();
127 static gboolean
128 stub_frame_iter_next (MonoInterpStackIter *iter, StackFrameInfo *frame)
130 g_assert_not_reached ();
131 return FALSE;
134 static gpointer
135 stub_create_method_pointer (MonoMethod *method, gboolean compile, MonoError *error)
137 g_assert_not_reached ();
138 return NULL;
141 static MonoFtnDesc*
142 stub_create_method_pointer_llvmonly (MonoMethod *method, gboolean compile, MonoError *error)
144 g_assert_not_reached ();
145 return NULL;
148 static void
149 stub_free_method (MonoDomain *domain, MonoMethod *method)
151 g_assert_not_reached ();
154 static MonoObject*
155 stub_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **exc, MonoError *error)
157 g_assert_not_reached ();
158 return NULL;
161 static void
162 stub_init_delegate (MonoDelegate *del, MonoError *error)
164 g_assert_not_reached ();
167 static gpointer
168 stub_get_remoting_invoke (MonoMethod *method, gpointer imethod, MonoError *error)
170 g_assert_not_reached ();
171 return NULL;
174 static void
175 stub_delegate_ctor (MonoObjectHandle this_obj, MonoObjectHandle target, gpointer addr, MonoError *error)
177 g_assert_not_reached ();
180 static void
181 stub_entry_from_trampoline (gpointer ccontext, gpointer imethod)
183 g_assert_not_reached ();
186 static void
187 stub_to_native_trampoline (gpointer addr, gpointer ccontext)
189 g_assert_not_reached ();
192 static void
193 stub_frame_arg_to_data (MonoInterpFrameHandle frame, MonoMethodSignature *sig, int index, gpointer data)
195 g_assert_not_reached ();
198 static void
199 stub_data_to_frame_arg (MonoInterpFrameHandle frame, MonoMethodSignature *sig, int index, gconstpointer data)
201 g_assert_not_reached ();
204 static gpointer
205 stub_frame_arg_to_storage (MonoInterpFrameHandle frame, MonoMethodSignature *sig, int index)
207 g_assert_not_reached ();
208 return NULL;
211 static void
212 stub_frame_arg_set_storage (MonoInterpFrameHandle frame, MonoMethodSignature *sig, int index, gpointer storage)
214 g_assert_not_reached ();
217 static void
218 stub_free_context (gpointer context)
220 g_assert_not_reached ();
223 static void
224 stub_mark_stack (gpointer thread_data, GcScanFunc func, gpointer gc_data, gboolean precise)
228 #undef MONO_EE_CALLBACK
229 #define MONO_EE_CALLBACK(ret, name, sig) stub_ ## name,
231 static const MonoEECallbacks mono_interp_stub_callbacks = {
232 MONO_EE_CALLBACKS
235 void
236 mono_interp_stub_init (void)
238 if (mini_get_interp_callbacks ())
239 /* already initialized */
240 return;
242 mini_install_interp_callbacks (&mono_interp_stub_callbacks);