Primary reasons why programming language runtimes use stacks?
- by manuel aldana
Many programming language runtime environments use stacks as their primary storage structure (e.g. see JVM bytecode to runtime example).
Quickly recalling I see following advantages:
Simple structure (pop/push), trivial to implement
Most processors are anyway optimized for stack operations, so it is very fast
Less problems with memory fragmentation, it is always about moving memory-pointer up and down for allocation and freeing complete blocks of memory by resetting the pointer to the last entry offset.
Is the list complete or did I miss something? Are there programming language runtime environments which are not using stacks for storage at all?