src/vs/editor/browser/services/editorWorkerService.ts/EditorWorkerService/computeDiff
class EditorWorkerService:	public async computeDiff(original: URI, modified: URI, options: IDocumentDiffProviderOptions, algorithm: DiffAlgorithmName): Promise<IDocumentDiff | null> {
		const result = await this._workerManager.withWorker().then(client => client.computeDiff(original, modified, options, algorithm));
		if (!result) {
			return null;
		}
		// Convert from space efficient JSON data to rich objects.
		const diff: IDocumentDiff = {
			identical: result.identical,
			quitEarly: result.quitEarly,
			changes: result.changes.map(
				(c) =>
					new LineRangeMapping(
						new LineRange(c[0], c[1]),
						new LineRange(c[2], c[3]),
						c[4]?.map(
							(c) =>
								new RangeMapping(
									new Range(c[0], c[1], c[2], c[3]),
									new Range(c[4], c[5], c[6], c[7])
								)
						)
					)
			),
		};
		return diff;
	}