From 387e1c564b1ba78009d204bff4efb1e84e8b3cae Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Thu, 29 Apr 2010 21:45:58 +0000 Subject: [PATCH] 2010-04-29 Zoltan Varga * 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 | 8 ++++++++ mono/mini/mini-x86.c | 2 ++ mono/mini/tramp-x86.c | 2 ++ 3 files changed, 12 insertions(+) diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 0b7515402ae..e7e90c9ef48 100755 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,11 @@ +2010-04-29 Zoltan Varga + + * 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 * mini-x86.c (mono_arch_emit_prolog): Remove a disable_aot which is not needed. diff --git a/mono/mini/mini-x86.c b/mono/mini/mini-x86.c index 6f51bd75a45..e0d784861f9 100644 --- a/mono/mini/mini-x86.c +++ b/mono/mini/mini-x86.c @@ -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"); } diff --git a/mono/mini/tramp-x86.c b/mono/mini/tramp-x86.c index 0f8f0ca1281..84604f3bcac 100644 --- a/mono/mini/tramp-x86.c +++ b/mono/mini/tramp-x86.c @@ -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; } -- 2.25.1