back in the day you could write a function that ends in a call to another function in the same module, and the compiler could optimize out the stack frame for that call
I don't think you can do that with metadata-rich managed code systems like Java or .NET
@coldacid
> actual code compiler
compilers tend to go through several layers ("intermediate representation.") MSIL basically just becomes that MIR instead.
@coldacid you'll see the same thing in the rust and clang compilers. usually language -> parse tree -> ast -> ever degrading cycles of turning the graph in to a stream of code (MIR) -> eventually ends up in things like SSA form (LLVM IR)
Add comment