Re: [GD-Windows] Strange prolog function issue
Brought to you by:
vexxed72
From: Kevin W. <krw...@ho...> - 2006-07-26 20:33:13
|
Make sure properties->optimization "omit frame pointers" is set to "No" for your release build, otherwise the compiler will feel free to do what it wants with ebp. My understanding was that if you ever use _alloca() in a function, though, the compiler would be forced to use ebp as a frame pointer regardless because of the exception handling cleanup issue. This was a strong reason not to use _alloca because the "omit frame pointers" optimization can be a quite significant performance gain. All this may have changed with 7.1, however. -Kevin Wasserman >Date: Tue, 25 Jul 2006 23:12:40 +0000 (GMT) >From: Emmanuel Astier <e_a...@ya...> >Subject: [GD-Windows] Re : Strange prolog function issue >To: Game Development for MS Windows > <gam...@li...> >Message-ID: <200...@we...> >Content-Type: text/plain; charset=utf-8 > >Hi, > >It only happens in release build. And as you said, I suspect a compiler >bug. > >Actually, I don't understand when the compiler decide to switch to a >different prolog for the function, where ebp doesn't have the same meaning. >It is all fine as the function code knows the different ebp meaning, and >has no trouble accessing local vars, but the exception handler seems not to >be aware of the change in the ebp meaning. > >Thanks for your help, >we send a mail to microsoft, we will wait for their anwser... > >Emmanuel > >Ps : Kent, replying to your mails only replies to you, not to the list... |