> Last I checked Go doesn't have any memory placement semantics.
Many OSes like Oberon, Cedar, Topaz, SPIN among others were written in languages without direct support for it, so it is possible to write an OS without it.
The runtime package just needs to offer the services for it, just like many C functions are actually implemented in Assembly.
Theoretically they (or whomever writes an OS in Go) could extend the runtime to add something like `makestack(Type, size IntegerType) Type` to mimic alloca or add in a guarantee that `var b [100]byte` will be allocated on the stack.
(Right now I think it is, but I know there's a Go issue dealing with a function like this, and one of the comments was about potentially creating `a` on the heap and returning an invisible pointer instead of the actual 1e9 bytes.)
I like performance in my systems programming languages and you won't get that if you can't control where your memory lives.