private AddressSet getFunctionDifferences(AddressSetView addressSet, TaskMonitor monitor)
			throws CancelledException {

		if (addressSet == null) {
			addressSet = program1.getMemory();
		}

		FunctionIterator iter1 = program1.getListing().getFunctions(addressSet, true);
		AddressSetView addressSet2 = DiffUtility.getCompatibleAddressSet(addressSet, program2);
		FunctionIterator iter2 = program2.getListing().getFunctions(addressSet2, true);

		FunctionComparator c = new FunctionComparator();
		return c.getObjectDiffs(iter1, iter2, monitor);
	}
Determines the addresses where program1 and program2 have different
function information specified. This may be the signature, comment,
stack variables, or register variables.
@param addressSet the addresses to check for differences.
The addresses in this address set should be derived from program1.
@param monitor the task monitor for indicating the progress of
determining differences. This monitor reports the progress to the user.
@return the addresses where the functions differed between program1 and program2.
The addresses in this address set are derived from program1.
@throws CancelledException if the user cancelled the Diff.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiff.java