4 ms·
A related discussion of SSA vs a simple VM based on symbolic registers is here: https://www.sable.mcgill.ca/soot/tutorial/shimple/index.html https://www.sable.
by veselin 6y ago
A related discussion of SSA vs a simple VM based on symbolic registers is here:
https://www.sable.mcgill.ca/soot/tutorial/shimple/index.html https://www.sable.mcgill.ca/soot/tutorial/shimple/index.html
The SSA form is useful for a few optimizations, but complicates things in many other cases. Also a lot of program analysis can be done without SSA form. Also, SSA seems not to be the fastests in a JIT setting.
- MaxBarraclough 6y agoAs I understand it, SSA makes good sense if you're serious about advanced optimisation, as it makes many optimisations easier to implement and faster to perform. If you're writing a simple JIT that is fast to execute and doesn't do advanced optimistations, you might want to avoid it. The GNU Lightning JIT engine doesn't use SSA, for that reason, but Java HotSpot, .Net, and Mono, all use it internally, as do all major optimising ahead-of-time compilers (GCC, LLVM, etc).