<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">You can manually align the memory, eg.<div>char* memory = malloc(size + alignment - 1);</div><div>memory += alignment;</div><div>memory &amp;= ~(alignment - 1)</div><div>return memory;</div><div><br></div><div>The obvious problem with this is that you can't directly free the result as it will not necessarily represent the start of the allocation, but there are mechanisms for working around that (storing the initial allocation address inline in the allocation itself for instance) but there are various trade offs involved.</div><div><br></div><div>--Oliver<br><div><br><div><div>On Dec 25, 2008, at 3:14 AM, Javed Rabbani wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="color: rgb(102, 0, 204);">Oliver,</span><br style="color: rgb(102, 0, 204);"><br style="color: rgb(102, 0, 204);"><span style="color: rgb(102, 0, 204);">Thanks a great deal for this explanation. I am considering running JS SquirrelFish extreme engine on an ARM-based embedded platform. You are right that posix systems should provide mmap or posix_memalign that will serve the purpose. I am concerned about this issue because in my case, there is no mmap, vm_map etc. to do the job. The only available option is to use standard memory allocation routines. What is the way out for me to deal with such a situation? Obviously, standard malloc() call from within fastMalloc() is not doing anything good for me.<br> <br style="color: rgb(102, 0, 204);"></span><br style="color: rgb(102, 0, 204);"><span style="color: rgb(102, 0, 204);">Regards,</span><br style="color: rgb(102, 0, 204);"><span style="color: rgb(102, 0, 204);">J R Shah</span> &nbsp; <br></blockquote></div><br></div></div></body></html>