protected void advanceAfterFinished() {
		if (instruction == null) { // Frame resulted from an inject
			frame = null;
			return;
		}
		if (frame.isFallThrough()) {
			writeCounter(counter.addWrap(decoder.getLastLengthWithDelays()));
		}
		if (contextreg != Register.NO_CONTEXT) {
			RegisterValue ctx = new RegisterValue(contextreg, BigInteger.ZERO)
					.combineValues(defaultContext.getDefaultValue(contextreg, counter))
					.combineValues(defaultContext.getFlowValue(context))
					.combineValues(getContextAfterCommits());
			writeContext(ctx);
		}
		postExecuteInstruction();
		frame = null;
		instruction = null;
	}
Resolve a finished instruction, advancing the program counter if necessary
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/emu/DefaultPcodeThread.java