<div dir="ltr"><div>I&#39;ve put notes on my understanding of extra bytes reserved by alloca when using gcc on github comment below:<br><div><br><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ae8cb1011408487ddca50657241ea5ef3cc1e110">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ae8cb1011408487ddca50657241ea5ef3cc1e110</a><br><br></div><div>AFAICT, it seems that win64 x64 gcc alloca works the same (Don&#39;t remember though if the difference was alloca return value=sp+8 or sp+16).<br><br></div><div>So x64 win64 FFI only works because we force sp before calling externalFunction with:<br><br>    if ((0 + (cStackAlignment())) &gt; 0) {<br>        setsp((calloutState-&gt;argVector));<br>    }</div><br></div>Nicolas<br></div>