algorand/pyteal

Implement subroutine arguments and return values using frame pointers

michaeldiamant opened this issue · 0 comments

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.

Solution

Dependencies

Urgency