|
|
|
|
|
by jasonzemos
1481 days ago
|
|
After this gained prominence I took a hard read of Koopman's Stack Computers: The New Wave intent on writing an interpreter. I sought some optimization properties that would apply to the modern requirements for ILP, OoE and parallelization at low core frequencies -- none are offered. This manifests in WASM, and the criticism was elaborated very well: http://troubles.md/posts/wasm-is-not-a-stack-machine/ > This essentially makes WebAssembly a register machine without liveness analysis, but not only that, it’s a register machine that isn’t even in SSA form - both of the tools at our disposal to do optimisation are unavailable. In a true, optimising compiler we can recreate that information, but WebAssembly was already emitted by a compiler that generated that information once. |
|
If you are interested in this, you might find these useful.
1) Optimisation Techniques for Stack Based Architectures - Christopher Bailey
2) Investigating Opportunities for Instruction-Level Parallelism for Stack Machine Code - Shi Huibin
3) Second-Generation Stack Computer Architecture - Charles Laforest
[1] https://www-users.cs.york.ac.uk/~chrisb/main-pages/publicati...
[2] https://www-users.cs.york.ac.uk/~chrisb/main-pages/publicati...