Author: zoltan
Date: 2008-02-06 08:55:45 -0500 (Wed, 06 Feb 2008)
New Revision: 95025

Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/mini-amd64.c
Log:
2008-02-06  Zoltan Varga  <[EMAIL PROTECTED]>

        * mini-amd64.c (emit_call_body): Use a far-call for calling dynamic 
methods.


Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2008-02-06 13:46:51 UTC (rev 95024)
+++ trunk/mono/mono/mini/ChangeLog      2008-02-06 13:55:45 UTC (rev 95025)
@@ -1,3 +1,7 @@
+2008-02-06  Zoltan Varga  <[EMAIL PROTECTED]>
+
+       * mini-amd64.c (emit_call_body): Use a far-call for calling dynamic 
methods.
+
 2008-02-06  Mark Probst  <[EMAIL PROTECTED]>
 
        * mini-trampolines.c (mono_generic_class_init_trampoline): Removed

Modified: trunk/mono/mono/mini/mini-amd64.c
===================================================================
--- trunk/mono/mono/mini/mini-amd64.c   2008-02-06 13:46:51 UTC (rev 95024)
+++ trunk/mono/mono/mini/mini-amd64.c   2008-02-06 13:55:45 UTC (rev 95025)
@@ -1512,6 +1512,9 @@
                                if 
(((MonoMethod*)data)->klass->image->assembly->aot_module)
                                        /* The callee might be an AOT method */
                                        near_call = FALSE;
+                               if (((MonoMethod*)data)->dynamic)
+                                       /* The target is in malloc-ed memory */
+                                       near_call = FALSE;
                        }
 
                        if (patch_type == MONO_PATCH_INFO_INTERNAL_METHOD) {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to