Apply changes from https://github.com/dotnet/runtime/commit/eb1756e97d23df13bc6fe798e...
[mono-project.git] / mono / mini / tramp-wasm.c
blob37253239fee84aa40e572e620af4858d0782cb51
1 #include "mini.h"
2 #include "interp/interp.h"
4 void mono_sdb_single_step_trampoline (void);
6 static void
7 mono_wasm_specific_trampoline (void)
9 g_error (__func__);
12 gpointer
13 mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_type, MonoMemoryManager *mem_manager, guint32 *code_len)
15 return (gpointer)mono_wasm_specific_trampoline;
18 guchar*
19 mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInfo **info, gboolean aot)
21 g_error (__func__);
24 gpointer
25 mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot, MonoTrampInfo **info, gboolean aot)
27 g_error (__func__);
30 void
31 mono_arch_patch_plt_entry (guint8 *code, gpointer *got, host_mgreg_t *regs, guint8 *addr)
33 g_error (__func__);
36 void
37 mono_arch_patch_callsite (guint8 *method_start, guint8 *orig_code, guint8 *addr)
39 g_error ("mono_arch_patch_callsite");
42 gpointer
43 mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
45 g_error (__func__);
46 return NULL;
49 gpointer
50 mono_arch_get_static_rgctx_trampoline (MonoMemoryManager *mem_manager, gpointer arg, gpointer addr)
52 g_error (__func__);
53 return NULL;
56 static void
57 interp_to_native_trampoline (void *target_func, InterpMethodArguments *margs)
59 // Unused on wasm
60 g_assert_not_reached ();
63 gpointer
64 mono_arch_get_interp_to_native_trampoline (MonoTrampInfo **info)
66 if (info)
67 *info = mono_tramp_info_create ("interp_to_native_trampoline", (guint8*)interp_to_native_trampoline, 1, NULL, NULL);
68 return (gpointer)interp_to_native_trampoline;
71 guint8*
72 mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gboolean aot)
74 g_assert (!aot);
75 const char *name;
76 guint8* code;
77 if (single_step) {
78 name = "sdb_single_step_trampoline";
79 code = (guint8*)mono_wasm_single_step_hit;
80 } else {
81 name = "sdb_breakpoint_trampoline";
82 code = (guint8*)mono_wasm_breakpoint_hit;
85 if (info)
86 *info = mono_tramp_info_create (name, code, 1, NULL, NULL);
87 return code;
90 guint8*
91 mono_arch_get_call_target (guint8 *code)
93 g_error ("mono_arch_get_call_target");
97 * mono_arch_get_plt_info_offset:
99 * Return the PLT info offset belonging to the plt entry PLT_ENTRY.
101 guint32
102 mono_arch_get_plt_info_offset (guint8 *plt_entry, host_mgreg_t *regs, guint8 *code)
104 g_error (__func__);
105 return *(guint32*)(plt_entry + 6);
108 gpointer
109 mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpointer addr)
111 g_error (__func__);
112 return NULL;
115 gpointer
116 mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
118 g_error (__func__);
119 return NULL;