2008-08-22 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / tramp-sparc.c
index b055816407bdd6c6660a1ff817bbfe46f0eba9cd..ecf8579cc9707eebd9a26537872d02c1a273d3e2 100644 (file)
@@ -21,6 +21,7 @@
 
 /*
  * mono_arch_get_unbox_trampoline:
+ * @gsctx: the generic sharing context
  * @m: method pointer
  * @addr: pointer to native code for @m
  *
  * unboxing before calling the method
  */
 gpointer
-mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
+mono_arch_get_unbox_trampoline (MonoGenericSharingContext *gsctx, MonoMethod *m, gpointer addr)
 {
        guint8 *code, *start;
        int this_pos = 4, reg;
 
-       if (!mono_method_signature (m)->ret->byref && MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
+       if (MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
                this_pos = 8;
            
        start = code = mono_global_codeman_reserve (36);
@@ -181,7 +182,7 @@ mono_arch_create_trampoline_code (MonoTrampolineType tramp_type)
        sparc_sti_imm (code, sparc_o0, sparc_sp, MONO_SPARC_STACK_BIAS + 304);
 
        /* Check for thread interruption */
-       sparc_set (code, (guint8*)mono_thread_interruption_checkpoint, sparc_o7);
+       sparc_set (code, (guint8*)mono_thread_force_interruption_checkpoint, sparc_o7);
        sparc_jmpl (code, sparc_o7, sparc_g0, sparc_o7);
        sparc_nop (code);
 
@@ -276,11 +277,3 @@ mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 encoded_offset)
        g_assert_not_reached ();
        return NULL;
 }
-
-guint32
-mono_arch_get_rgctx_lazy_fetch_offset (gpointer *regs)
-{
-       /* FIXME: implement! */
-       g_assert_not_reached ();
-       return 0;
-}