3 #include "interp/interp.h"
5 /* interpreter callback stubs */
8 stub_find_jit_info (MonoDomain
*domain
, MonoMethod
*method
)
14 stub_set_breakpoint (MonoJitInfo
*jinfo
, gpointer ip
)
16 g_assert_not_reached ();
20 stub_clear_breakpoint (MonoJitInfo
*jinfo
, gpointer ip
)
22 g_assert_not_reached ();
26 stub_frame_get_jit_info (MonoInterpFrameHandle frame
)
28 g_assert_not_reached ();
33 stub_frame_get_ip (MonoInterpFrameHandle frame
)
35 g_assert_not_reached ();
40 stub_frame_get_arg (MonoInterpFrameHandle frame
, int pos
)
42 g_assert_not_reached ();
47 stub_frame_get_local (MonoInterpFrameHandle frame
, int pos
)
49 g_assert_not_reached ();
54 stub_frame_get_this (MonoInterpFrameHandle frame
)
56 g_assert_not_reached ();
60 static MonoInterpFrameHandle
61 stub_frame_get_parent (MonoInterpFrameHandle frame
)
63 g_assert_not_reached ();
68 stub_start_single_stepping (void)
73 stub_stop_single_stepping (void)
78 stub_set_optimizations (guint32 i
)
83 stub_metadata_update_init (MonoError
*error
)
88 stub_invalidate_transformed (MonoDomain
*domain
)
98 stub_set_resume_state (MonoJitTlsData
*jit_tls
, MonoObject
*ex
, MonoJitExceptionInfo
*ei
, MonoInterpFrameHandle interp_frame
, gpointer handler_ip
)
100 g_assert_not_reached ();
104 stub_get_resume_state (const MonoJitTlsData
*jit_tls
, gboolean
*has_resume_state
, MonoInterpFrameHandle
*interp_frame
, gpointer
*handler_ip
)
106 *has_resume_state
= FALSE
;
110 stub_run_finally (StackFrameInfo
*frame
, int clause_index
, gpointer handler_ip
, gpointer handler_ip_end
)
112 g_assert_not_reached ();
116 stub_run_filter (StackFrameInfo
*frame
, MonoException
*ex
, int clause_index
, gpointer handler_ip
, gpointer handler_ip_end
)
118 g_assert_not_reached ();
123 stub_frame_iter_init (MonoInterpStackIter
*iter
, gpointer interp_exit_data
)
125 g_assert_not_reached ();
129 stub_frame_iter_next (MonoInterpStackIter
*iter
, StackFrameInfo
*frame
)
131 g_assert_not_reached ();
136 stub_create_method_pointer (MonoMethod
*method
, gboolean compile
, MonoError
*error
)
138 g_assert_not_reached ();
143 stub_create_method_pointer_llvmonly (MonoMethod
*method
, gboolean compile
, MonoError
*error
)
145 g_assert_not_reached ();
150 stub_free_method (MonoDomain
*domain
, MonoMethod
*method
)
152 g_assert_not_reached ();
156 stub_runtime_invoke (MonoMethod
*method
, void *obj
, void **params
, MonoObject
**exc
, MonoError
*error
)
158 g_assert_not_reached ();
163 stub_init_delegate (MonoDelegate
*del
, MonoError
*error
)
165 g_assert_not_reached ();
169 stub_get_remoting_invoke (MonoMethod
*method
, gpointer imethod
, MonoError
*error
)
171 g_assert_not_reached ();
176 stub_delegate_ctor (MonoObjectHandle this_obj
, MonoObjectHandle target
, gpointer addr
, MonoError
*error
)
178 g_assert_not_reached ();
182 stub_entry_from_trampoline (gpointer ccontext
, gpointer imethod
)
184 g_assert_not_reached ();
188 stub_to_native_trampoline (gpointer addr
, gpointer ccontext
)
190 g_assert_not_reached ();
194 stub_frame_arg_to_data (MonoInterpFrameHandle frame
, MonoMethodSignature
*sig
, int index
, gpointer data
)
196 g_assert_not_reached ();
200 stub_data_to_frame_arg (MonoInterpFrameHandle frame
, MonoMethodSignature
*sig
, int index
, gconstpointer data
)
202 g_assert_not_reached ();
206 stub_frame_arg_to_storage (MonoInterpFrameHandle frame
, MonoMethodSignature
*sig
, int index
)
208 g_assert_not_reached ();
213 stub_free_context (gpointer context
)
215 g_assert_not_reached ();
219 stub_mark_stack (gpointer thread_data
, GcScanFunc func
, gpointer gc_data
, gboolean precise
)
223 #undef MONO_EE_CALLBACK
224 #define MONO_EE_CALLBACK(ret, name, sig) stub_ ## name,
226 static const MonoEECallbacks mono_interp_stub_callbacks
= {
231 mono_interp_stub_init (void)
233 if (mini_get_interp_callbacks ())
234 /* already initialized */
237 mini_install_interp_callbacks (&mono_interp_stub_callbacks
);