Say, we have a VM, which has a stack. The stack's length must be variable. Then the stack itself must be allocated on heap, because the VM needs to request memory for the stack at runtime. So all the objects in that stack are actually allocated on heap, too. I wonder if this guess holds true for all stack-based languages.
This not a questing specifically for JVM. I just learned that JVM is both stack and register based. My question is that, for languages of only stack-based VMs, is it possible to allocate objects on the OS stack? And if possible, how can that be implemented?