2010-04-29 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Thu, 29 Apr 2010 21:45:58 +0000 (21:45 -0000)
committerZoltan Varga <vargaz@gmail.com>
Thu, 29 Apr 2010 21:45:58 +0000 (21:45 -0000)
* tramp-x86.c (mono_arch_create_generic_class_init_trampoline_full): Set the
code_size output variable.

* mini-x86.c (mono_arch_emit_prolog): Compute the GOT addr before calling
mono_get_lmf_addr.

svn path=/trunk/mono/; revision=156459

mono/mini/ChangeLog
mono/mini/mini-x86.c
mono/mini/tramp-x86.c

index 0b7515402ae35caa153cad77333d2634b6712bfa..e7e90c9ef4875719d73027499625a8513950d0a8 100755 (executable)
@@ -1,3 +1,11 @@
+2010-04-29  Zoltan Varga  <vargaz@gmail.com>
+
+       * tramp-x86.c (mono_arch_create_generic_class_init_trampoline_full): Set the
+       code_size output variable.
+
+       * mini-x86.c (mono_arch_emit_prolog): Compute the GOT addr before calling
+       mono_get_lmf_addr.
+       
 2010-04-29  Zoltan Varga  <vargaz@gmail.com>
 
        * mini-x86.c (mono_arch_emit_prolog): Remove a disable_aot which is not needed.
index 6f51bd75a45bd0d836d26d0d28609718e44a04f7..e0d784861f9d6e4bb1d8c572ac8bbc8c8409a971 100644 (file)
@@ -4640,6 +4640,8 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                                x86_alu_reg_imm (code, X86_ADD, X86_EAX, G_STRUCT_OFFSET (MonoJitTlsData, lmf));
 #endif
                        } else {
+                               if (cfg->compile_aot)
+                                       code = mono_arch_emit_load_got_addr (cfg->native_code, code, cfg, NULL);
                                code = emit_call (cfg, code, MONO_PATCH_INFO_INTERNAL_METHOD, (gpointer)"mono_get_lmf_addr");
                        }
 
index 0f8f0ca1281e114b5837a8154d5d4f9297d6bb81..84604f3bcac9af1848dce4cc32127b8f145158cb 100644 (file)
@@ -669,6 +669,8 @@ mono_arch_create_generic_class_init_trampoline_full (guint32 *code_size, MonoJum
 
        g_assert (code - buf <= tramp_size);
 
+       *code_size = code - buf;
+
        return buf;
 }