http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50053
--- Comment #5 from gee <jojelino at gmail dot com> 2011-10-23 13:42:43 UTC --- maybe this is related to x86_this_parameter in gcc/config/i386/i386.c it might tell why caller push parameter to stack, whereas function prologue treats first parameter is in %ecx when MS_ABI is default.