@Override
			public Long unknownValue(VarnodeContext context, Instruction instruction,
					Varnode node) {
				if (assumeT9EntryAddress && node.isRegister() &&
					context.getRegisterVarnode(t9).contains(node.getAddress())) {
					// if get a T9 Register, need to stop evaluating
					// if can't find the beginning of the function, then must stop and assume something else
					// will pick it up.
					if (func != null) {
						Address funcAddr = func.getEntryPoint();
						Long value = Long.valueOf(funcAddr.getOffset());
						try {
							ProgramContext progContext = program.getProgramContext();
							// if T9 hasn't already been set
							if (progContext.getValue(t9, funcAddr, false) == null) {
								progContext.setRegisterValue(funcAddr, funcAddr,
									new RegisterValue(t9, BigInteger.valueOf(value)));
								// if we do this, need to restart code analysis with function body,
								// since this is not ready.
								AutoAnalysisManager amgr =
									AutoAnalysisManager.getAnalysisManager(program);
								coveredSet.add(func.getBody());
								amgr.codeDefined(coveredSet);
							}
							else {
								// else T9 was set at the beginning of the function
								// something within the function must have set it to
								// an unknown value, so can continue
								return null;
							}
						}
						catch (ContextChangeException e) {
							throw new AssertException("Unexpected Exception", e);
						}
					}
					else {
						//  If there is no function, kick the can to an analyzer that waits for functions
						//  to be created and sets the T9...
					}
					mustStopNow = true;
				}
				return null;
			}
Check for a global GP register symbol or discovered symbol
@param set
Ghidra/Processors/MIPS/src/main/java/ghidra/app/plugin/core/analysis/MipsAddressAnalyzer.java