4 ms·
so why does it allocate extra space? "A value of 16 is subtracted from esp." What's the purpose of that?
by GoToRO 10y ago
so why does it allocate extra space? "A value of 16 is subtracted from esp." What's the purpose of that?
- jmgao 10y agoThere are some SSE instructions that crash if they're used with arguments that aren't 16 byte aligned. All of the ones I can think of have a version that supports unaligned access at a performance penalty, so it's basically just a choice by the ABI to require the stack to be 16 byte aligned at function call boundaries, so that functions don't have to verify that their stack frame has the proper alignment.
- GoToRO 10y agoapparently "stack alignment" is a thing.