3 ms·
I’d like to hear more about the compiled stack. In extremely latency sensitive applications, the mix of stack and instruction cacheline faults can cause signif
by CoolGuySteve 7y ago
I’d like to hear more about the compiled stack.
In extremely latency sensitive applications, the mix of stack and instruction cacheline faults can cause significant overhead.
- zozbot234 7y agoNo cache lines on a 6502, though!
- CoolGuySteve 7y agoI'm talking about modern architectures
- aidenn0 7y agoI've only heard this term used with PIC development tools. It makes all local variables have a fixed place in RAM. This obviously removes support for recursion. A naive implementation would cause this to explode memory usage. However, you can analyze your entire program and any variables (including across function boundaries) that are never live at the same time are now allowed to share storage. Now you never push or pop variables to your stack, and your dynamic stack size is only the maximum call depth (no frame pointer needed because you don't have any on-stack variables, so you only save the return pointer to the stack).