Как реализовать alloca () с использованием встроенного ассемблера x86 в таких языках, как D, C и C ++? Я хочу создать слегка измененную версию, но сначала мне нужно узнать, как реализована стандартная версия. Чтение разборки из компиляторов не помогает, потому что они выполняют так много оптимизаций, и я просто хочу каноническую форму.
Редактировать: Я предполагаю, что самое сложное в том, что я хочу, чтобы у этого был нормальный синтаксис вызова функции, то есть использование голой функции или чего-то подобного, чтобы она выглядела как обычная alloca ().
Редактировать # 2: Ах, черт возьми, вы можете предположить, что мы не опускаем указатель кадра.