Все это звучит очень странно для меня. Статические указатели фреймов обычно используются в языках с лексической областью, таких как функциональные языки и семейство паскалей с их вложенными функциями. Глобальные переменные связываются один раз либо во время компиляции, либо во время выполнения и не должны нуждаться в указателях кадров (1) допустимо, но (2) не существует в C ++, AFAIK.
Я подозреваю, что (3) должен был ссылаться на указатель родительского кадра. Стеки вызовов обычно настраиваются как связанные списки, чтобы отладчики и связанные с ними инструменты могли обходить их, не требуя глубоких знаний о программе.