On 30-Jul-09, at 8:54 PM, Eli Friedman wrote:> On Thu, Jul 30, 2009 at 5:32 PM, Peter Shugalev<peter at shugalev.com> > wrote: >> Though the most problematic stuff is the lack of 'shadow zone' >> support >> in Win64 ABI. Or maybe I haven't figured out how to turn this on. In >> Win64 any function can treat 32 bytes of stack (RSP+08h..RSP+28h just >> after the call instruction) as scratch data. VC++ compiler stores >> arguments passed in registers there. In debug builds this doesn't get >> optimized away. > > Wow, that's really strange... I'm pretty sure that simply isn't > implemented.Anton K has a patch for this that we have been using successfully internally but he is still working out issues with regards to certain parameter types, in particular MMX/SSE params, that I believe he was going to fix before committing it. I'm sure he'll weigh into this discussion. Stefanus -- Stefanus Du Toit <stefanus.dutoit at rapidmind.com> RapidMind Inc. phone: +1 519 885 5455 x116 -- fax: +1 519 885 1463
Stefanus Du Toit wrote:> On 30-Jul-09, at 8:54 PM, Eli Friedman wrote: >> On Thu, Jul 30, 2009 at 5:32 PM, Peter Shugalev<peter at shugalev.com> >> wrote: >>> Though the most problematic stuff is the lack of 'shadow zone' >>> support >>> in Win64 ABI. Or maybe I haven't figured out how to turn this on. In >>> Win64 any function can treat 32 bytes of stack (RSP+08h..RSP+28h just >>> after the call instruction) as scratch data. VC++ compiler stores >>> arguments passed in registers there. In debug builds this doesn't get >>> optimized away. >> Wow, that's really strange... I'm pretty sure that simply isn't >> implemented. > > Anton K has a patch for this that we have been using successfully > internally but he is still working out issues with regards to certain > parameter types, in particular MMX/SSE params, that I believe he was > going to fix before committing it. I'm sure he'll weigh into this > discussion.Working patch even if incomplete would be great. I'll be out of discussion for a week or so but since this is a "stopper" bug for me I'd appreciate posting work in progress here.
Hello, Peter> Working patch even if incomplete would be great. I'll be out of > discussion for a week or so but since this is a "stopper" bug for me I'd > appreciate posting work in progress here.There is the version of the patch which seems to implement most of all weird win64 stuff. I will cleanup it and commit it as soon as I will return from vacations (within next few days). -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University