* mini-x86.c (needs_stack_frame): OSX requires full frames to keep proper alignment.
svn path=/trunk/mono/; revision=141391
+2009-09-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini-x86.c (needs_stack_frame): OSX requires full frames to keep proper alignment.
+
2009-09-06 Zoltan Varga <vargaz@gmail.com>
* mini-llvm.c (mono_llvm_emit_method): Handle unsigned volatile variables
MonoMethodHeader *header;
gboolean result = FALSE;
+#if defined(__APPLE__)
+ /*OSX requires stack frame code to have the correct alignment. */
+ return TRUE;
+#endif
+
if (cfg->arch.need_stack_frame_inited)
return cfg->arch.need_stack_frame;
/* Compute size of code following the push <OFFSET> */
size = 5 + 5;
+ /*This is aligned to 16 bytes by the callee. This way we save a few bytes here.*/
+
if ((code - cfg->native_code) - throw_ip < 126 - size) {
/* Use the shorter form */
buf = buf2 = code;