|
![](/i/fill.gif) |
>> Yes, but jumping to a function pushes a return address onto the stack.
>> And they specifically don't want to do that. (Because it would use an
>> unbounded amount of stack.)
>
> Functions in C don't need to return anything.
The idea here is that we jump to one label, then jump to another, then
jump to another, never returning to the "caller".
If we implement this using C functions that never return, an unbounded
amount of stack gets eaten.
Hence, they arranged for each function to *return* the function it would
like to jump to next, rather than actually jumping to it, and the loop I
posted is apparently the magic incantation that implements the jumping.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |