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);
+gpointer mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info);
/* Handle block guard */
gpointer mono_arch_install_handler_block_guard (MonoJitInfo *ji, MonoJitExceptionInfo *clause, MonoContext *ctx, gpointer new_value);
#include "mini-amd64.h"
#include "debugger-agent.h"
-#ifdef ENABLE_INTERPRETER
-#include "interpreter/interp.h"
-#endif
-
#define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
#define IS_REX(inst) (((inst) >= 0x40) && ((inst) <= 0x4f))
return buf;
}
+#endif /* !DISABLE_JIT */
-
-#ifdef ENABLE_INTERPRETER
/*
* mono_arch_get_enter_icall_trampoline:
*
gpointer
mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
{
+#ifdef ENABLE_INTERPRETER
const int gregs_num = 6;
guint8 *start = NULL, *code, *exits [gregs_num], *leave_tramp;
MonoJumpInfo *ji = NULL;
*info = mono_tramp_info_create ("enter_icall_trampoline", start, code - start, ji, unwind_ops);
return start;
+#else
+ g_assert_not_reached ();
+ return NULL;
+#endif /* ENABLE_INTERPRETER */
}
-#endif
-#endif /* !DISABLE_JIT */
#ifdef DISABLE_JIT
gpointer
return NULL;
}
-#ifdef ENABLE_INTERPRETER
gpointer
mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
{
g_assert_not_reached ();
return NULL;
}
-#endif
#endif /* DISABLE_JIT */