
Eliminating the call stack to save RAM - fogus
http://portal.acm.org/citation.cfm?id=1542452.1542461&coll=ACM&dl=ACM&CFID=55373008&CFTOKEN=13170500
======
DarkShikari
This technique is as old as handwritten assembly and anyone who has done
significant assembly coding has probably done it at some point whether they
realize it or not.

What's interesting and new (and presented in this paper) is automating this
concept in a _compiler_.

~~~
owinebarger
Not really. The flattening part is old hat in functional languages, though
this particular formulation is restricted to the special case of "non-
recursive" functions. I don't know about the particular optimizations they
apply to the flattened code.

------
teeja
He he. When I read 'jump' I tend to think of that "G-word" that people argue
about so much.

Then I think of the old saw, "Rules are made to be broken."

------
s800
Maybe we should pass parameters in registers... :-)

------
mey
How is this different then the concept of "inline" in C/C++?

~~~
param
from the 3rd line of the abstract: "Unlike inlining, flattening does not
duplicate the bodies of functions that have multiple callsites. "

~~~
mey
Thanks, sorry will read more carefully in the future.

