Implement subroutine arguments and return values using frame pointers
michaeldiamant opened this issue · 0 comments
michaeldiamant commented
Problem
ABIReturnSubroutine
method parameters are represented by scratch slots in generated TEAL source. For larger programs, scratch slot usage is dominated by ABIReturnSubroutine
and may prevent program compilation.
algorand/go-algorand#4319 + algorand/go-algorand#4304 offer a set of frame pointer opcodes that simplify stack-based management of subroutine arguments. The story requests replacing scratch slot based subroutine parameters with stack-based analogs via frame pointer opcodes.