mono_arch_flush_icache (start, code - start);
+ mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), NULL);
+
return start;
}
g_assert_not_reached ();
}
-void
-mono_arch_nullify_class_init_trampoline (guint8 *code, mgreg_t *regs)
-{
- /* Patch calling code */
- sparc_nop (code);
-}
-
-void
-mono_arch_nullify_plt_entry (guint8 *code, mgreg_t *regs)
-{
- g_assert_not_reached ();
-}
-
#define ALIGN_TO(val,align) (((val) + ((align) - 1)) & ~((align) - 1))
guchar*
gboolean has_caller;
g_assert (!aot);
- if (info)
- *info = NULL;
+ *info = NULL;
if (tramp_type == MONO_TRAMPOLINE_JUMP)
has_caller = FALSE;
sparc_lddf_imm (code, sparc_sp, MONO_SPARC_STACK_BIAS + 320 + (i * 8), sparc_f0 + (i * 2));
#endif
- if (tramp_type == MONO_TRAMPOLINE_CLASS_INIT)
- sparc_ret (code);
- else
- sparc_jmpl (code, sparc_o0, sparc_g0, sparc_g0);
+ sparc_jmpl (code, sparc_o0, sparc_g0, sparc_g0);
/* restore previous frame in delay slot */
sparc_restore_simple (code);