private void markupDexClassOffset(OatHeader oatHeader, Program program, Symbol oatDataSymbol,
			Data dexClassOffsetsData, TaskMonitor monitor, MessageLog log)
			throws Exception, CancelledException {

		ReferenceManager referenceManager = program.getReferenceManager();
		SymbolTable symbolTable = program.getSymbolTable();

		for (int j = 0; j < dexClassOffsetsData.getNumComponents(); ++j) {
			monitor.checkCancelled();
			Data component = dexClassOffsetsData.getComponent(j);
			if (component.getFieldName().startsWith("oat_class_offsets_pointer")) {
				Scalar scalar = component.getScalar(0);
				Address toAddr = oatDataSymbol.getAddress().add(scalar.getUnsignedValue());
				toAddr = OatUtilities.adjustForThumbAsNeeded(oatHeader, program, toAddr, log);
				referenceManager.addMemoryReference(component.getMinAddress(), toAddr, RefType.DATA,
					SourceType.ANALYSIS, 0);
				symbolTable.addExternalEntryPoint(toAddr);
			}
		}
	}
<a href="https://android.googlesource.com/platform/art/+/refs/heads/kitkat-release/runtime/oat_file.h#191">kitkat-release/runtime/oat_file.h</a>
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/oat/oatdexfile/OatDexFile_KitKat.java