Hi everyone,
I'm trying to understand the GVM bytecode, while I got some problem on understanding its handling of stack frames.
In the paper <A Parallel Virtual Machine for Efficient Scheme Compilation: .... JUMP and COND instructions cause the stack pointer to be recalculated, while LABEL instructions recalculated the frame pointer...
While I can hardly understand these description, with the ".gvm" I can hardly understand how backend should do with given instruction.
I do read the the c backend implementation, it uses one "fp" pointer and calculate stackpointer based on that. But the other operations the it uses is too difficult to understand without any documents, so I'll be grateful if anyone could give me a concrete example on gambit's stack handling.