@Override
			public boolean evaluateContextBefore(VarnodeContext context, Instruction instr) {
				Varnode stackRegVarnode = context.getRegisterVarnode(frameReg);
				Varnode stackValue = context.getValue(stackRegVarnode, true, this);

				if (stackValue != null && context.isSymbol(stackValue) &&
					context.isStackSymbolicSpace(stackValue)) {
					long stackPointerDepth = stackValue.getOffset();
					int size = stackValue.getSize();
					stackPointerDepth = (stackPointerDepth << 8 * (8 - size)) >> 8 * (8 - size);
					setDepth(instr, (int) stackPointerDepth);
				}

				return false;
			}
Follow the flows of the subroutine, accumulating information about the
stack pointer and any other register the stack pointer is assigned to.

@param func
           function to analyze
@param monitor
           monitor to provide feedback and cancel
@throws CancelledException if monitor canceled
Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CallDepthChangeInfo.java