Would it be possible to use alloca() when available ? This would make allocations equivalent to just a pointer adjust.