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_resume_state (MonoJitTlsData
*jit_tls
, MonoException
*ex
, MonoJitExceptionInfo
*ei
, MonoInterpFrameHandle interp_frame
, gpointer handler_ip
)
80 g_assert_not_reached ();
84 stub_run_finally (StackFrameInfo
*frame
, int clause_index
, gpointer handler_ip
)
86 g_assert_not_reached ();
90 stub_run_filter (StackFrameInfo
*frame
, MonoException
*ex
, int clause_index
, gpointer handler_ip
)
92 g_assert_not_reached ();
97 stub_frame_iter_init (MonoInterpStackIter
*iter
, gpointer interp_exit_data
)
99 g_assert_not_reached ();
103 stub_frame_iter_next (MonoInterpStackIter
*iter
, StackFrameInfo
*frame
)
105 g_assert_not_reached ();
110 stub_create_method_pointer (MonoMethod
*method
, MonoError
*error
)
112 g_assert_not_reached ();
117 stub_runtime_invoke (MonoMethod
*method
, void *obj
, void **params
, MonoObject
**exc
, MonoError
*error
)
119 g_assert_not_reached ();
124 stub_init_delegate (MonoDelegate
*del
)
126 g_assert_not_reached ();
130 stub_get_remoting_invoke (gpointer imethod
, MonoError
*error
)
132 g_assert_not_reached ();
137 stub_create_trampoline (MonoDomain
*domain
, MonoMethod
*method
, MonoError
*error
)
139 g_assert_not_reached ();
144 stub_walk_stack_with_ctx (MonoInternalStackWalk func
, MonoContext
*ctx
, MonoUnwindOptions options
, void *user_data
)
146 g_assert_not_reached ();
150 mono_interp_stub_init (void)
152 if (mini_get_interp_callbacks ()->create_method_pointer
)
153 /* already initialized */
157 c
.create_method_pointer
= stub_create_method_pointer
;
158 c
.runtime_invoke
= stub_runtime_invoke
;
159 c
.init_delegate
= stub_init_delegate
;
160 c
.get_remoting_invoke
= stub_get_remoting_invoke
;
161 c
.create_trampoline
= stub_create_trampoline
;
162 c
.walk_stack_with_ctx
= stub_walk_stack_with_ctx
;
163 c
.set_resume_state
= stub_set_resume_state
;
164 c
.run_finally
= stub_run_finally
;
165 c
.run_filter
= stub_run_filter
;
166 c
.frame_iter_init
= stub_frame_iter_init
;
167 c
.frame_iter_next
= stub_frame_iter_next
;
168 c
.find_jit_info
= stub_find_jit_info
;
169 c
.set_breakpoint
= stub_set_breakpoint
;
170 c
.clear_breakpoint
= stub_clear_breakpoint
;
171 c
.frame_get_jit_info
= stub_frame_get_jit_info
;
172 c
.frame_get_ip
= stub_frame_get_ip
;
173 c
.frame_get_arg
= stub_frame_get_arg
;
174 c
.frame_get_local
= stub_frame_get_local
;
175 c
.frame_get_this
= stub_frame_get_this
;
176 c
.frame_get_parent
= stub_frame_get_parent
;
177 c
.start_single_stepping
= stub_start_single_stepping
;
178 c
.stop_single_stepping
= stub_stop_single_stepping
;
179 mini_install_interp_callbacks (&c
);