From: Zoltan Varga Date: Sat, 7 Nov 2009 03:55:46 +0000 (-0000) Subject: 2009-11-07 Zoltan Varga X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=e82c600b543cd1bf0a8c6205a51a61a1b7c54b13;p=mono.git 2009-11-07 Zoltan Varga * mini-arm.c (mono_arch_allocate_vars): Align small vtypes to 4 bytes too since the code in the prolog requires it. svn path=/trunk/mono/; revision=145635 --- diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 03656dafd7d..0610e9712ee 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,8 @@ +2009-11-07 Zoltan Varga + + * mini-arm.c (mono_arch_allocate_vars): Align small vtypes to 4 bytes too since + the code in the prolog requires it. + 2009-11-06 Zoltan Varga * mini-arm.c debugger-agent.c: Android changes from Koushik K. Dutta diff --git a/mono/mini/mini-arm.c b/mono/mini/mini-arm.c index c9171ca71ca..df7b0d7fb0c 100644 --- a/mono/mini/mini-arm.c +++ b/mono/mini/mini-arm.c @@ -1160,6 +1160,9 @@ mono_arch_allocate_vars (MonoCompile *cfg) */ if (align < 4 && size >= 4) align = 4; + /* The code in the prolog () stores words when storing vtypes received in a register */ + if (MONO_TYPE_ISSTRUCT (sig->params [i])) + align = 4; offset += align - 1; offset &= ~(align - 1); inst->inst_offset = offset;