> But Stephen says that they aren't aligned relative to the top since char's
> only use 1 byte.
My impression was that for any object ({u}char, {u}int, pointer, double) X
in the current stack frame (while we're not in the runtime), then
(&X - stackTop) mod (sizeof X) == 0. The real problem is that
(&X - stackBottom) mod (sizeof X) == 0 is not always true.