guint8* mono_arch_get_call_target (guint8 *code);
guint32 mono_arch_get_plt_info_offset (guint8 *plt_entry, mgreg_t *regs, guint8 *code);
GSList *mono_arch_get_trampolines (gboolean aot);
+#ifdef ENABLE_INTERPRETER
gpointer mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info);
+#endif
/* Handle block guard */
gpointer mono_arch_install_handler_block_guard (MonoJitInfo *ji, MonoJitExceptionInfo *clause, MonoContext *ctx, gpointer new_value);
return buf;
}
+
+#ifdef ENABLE_INTERPRETER
+/*
+ * mono_arch_get_enter_icall_trampoline:
+ *
+ * A trampoline that handles the transition from interpreter into native world.
+ * It requiers to set up a descriptor (MethodArguments) that describes the
+ * required arguments passed to the callee.
+ */
gpointer
mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
{
return start;
}
+#endif
#endif /* !DISABLE_JIT */
#ifdef DISABLE_JIT
return NULL;
}
+#ifdef ENABLE_INTERPRETER
gpointer
mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
{
g_assert_not_reached ();
return NULL;
}
+#endif
#endif /* DISABLE_JIT */