diff --git a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
index c0b337d0a5fa0d80c9ca68c93df70b692fcc46ed..72b6a3bc4a5fbb1833dbcfeded61ff5836ea85ef 100644
--- a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
+++ b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
@@ -14,6 +14,10 @@ namespace TYPO3\CMS\Extensionmanager\Utility;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Service\OpcodeCacheService;
+use TYPO3\CMS\Extensionmanager\Domain\Model\Extension;
+use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException;
 use TYPO3\CMS\Impexp\Utility\ImportExportUtility;
 
 /**
@@ -94,7 +98,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * also processes db updates and clears the cache if the extension asks for it
 	 *
 	 * @param string $extensionKey
-	 * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
+	 * @throws ExtensionManagerException
 	 * @return void
 	 */
 	public function install($extensionKey) {
@@ -120,13 +124,13 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * Helper function to uninstall an extension
 	 *
 	 * @param string $extensionKey
-	 * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
+	 * @throws ExtensionManagerException
 	 * @return void
 	 */
 	public function uninstall($extensionKey) {
 		$dependentExtensions = $this->dependencyUtility->findInstalledExtensionsThatDependOnMe($extensionKey);
 		if (is_array($dependentExtensions) && !empty($dependentExtensions)) {
-			throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(
+			throw new ExtensionManagerException(
 				\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
 					'extensionList.uninstall.dependencyError',
 					'extensionmanager',
@@ -205,19 +209,19 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * @param string $extensionKey
 	 * @access private
 	 * @return array
-	 * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
+	 * @throws ExtensionManagerException
 	 */
 	public function enrichExtensionWithDetails($extensionKey) {
 		$availableExtensions = $this->listUtility->getAvailableExtensions();
 		if (isset($availableExtensions[$extensionKey])) {
 			$extension = $availableExtensions[$extensionKey];
 		} else {
-			throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('Extension ' . $extensionKey . ' is not available', 1342864081);
+			throw new ExtensionManagerException('Extension ' . $extensionKey . ' is not available', 1342864081);
 		}
 		$availableAndInstalledExtensions = $this->listUtility->enrichExtensionsWithEmConfAndTerInformation(array($extensionKey => $extension));
 
 		if (!isset($availableAndInstalledExtensions[$extensionKey])) {
-			throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(
+			throw new ExtensionManagerException(
 				'Please check your uploaded extension "' . $extensionKey . '". The configuration file "ext_emconf.php" seems to be invalid.',
 				1391432222
 			);
@@ -245,7 +249,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 		$extTablesSqlFile = PATH_site . $extension['siteRelPath'] . 'ext_tables.sql';
 		$extTablesSqlContent = '';
 		if (file_exists($extTablesSqlFile)) {
-			$extTablesSqlContent .= \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($extTablesSqlFile);
+			$extTablesSqlContent .= GeneralUtility::getUrl($extTablesSqlFile);
 		}
 		if ($extTablesSqlContent !== '') {
 			$this->updateDbWithExtTablesSql($extTablesSqlContent);
@@ -273,7 +277,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 *
 	 * @param string $extensionKey
 	 * @return mixed
-	 * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
+	 * @throws ExtensionManagerException
 	 */
 	protected function emitTablesDefinitionIsBeingBuiltSignal($extensionKey) {
 		$signalReturn = $this->signalSlotDispatcher->dispatch(__CLASS__, 'tablesDefinitionIsBeingBuilt', array(array(), $extensionKey));
@@ -281,7 +285,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 		$signalReturn = array_values($signalReturn);
 		$sqlString = $signalReturn[0];
 		if (!is_array($sqlString)) {
-			throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(
+			throw new ExtensionManagerException(
 				sprintf(
 					'The signal %s of class %s returned a value of type %s, but array was expected.',
 					'tablesDefinitionIsBeingBuilt',
@@ -300,6 +304,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * @return void
 	 */
 	public function reloadCaches() {
+		GeneralUtility::makeInstance(OpcodeCacheService::class)->clearAllActive();
 		\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadExtLocalconf(FALSE);
 		\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->loadExtensionTables(FALSE);
 	}
@@ -368,7 +373,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * Remove an extension (delete the directory)
 	 *
 	 * @param string $extension
-	 * @throws \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
+	 * @throws ExtensionManagerException
 	 * @return void
 	 */
 	public function removeExtension($extension) {
@@ -382,7 +387,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 				$this->fileHandlingUtility->removeDirectory($absolutePath);
 			}
 		} else {
-			throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException('No valid extension path given.', 1342875724);
+			throw new ExtensionManagerException('No valid extension path given.', 1342875724);
 		}
 	}
 
@@ -409,7 +414,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	protected function getSqlDataDumpForFile($sqlFile) {
 		$sqlData = '';
 		if (file_exists($sqlFile)) {
-			$sqlContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($sqlFile);
+			$sqlContent = GeneralUtility::getUrl($sqlFile);
 			$fieldDefinitions = $this->installToolSqlParser->getFieldDefinitions_fileContent($sqlContent);
 			$sqlData = $this->databaseUtility->dumpStaticTables($fieldDefinitions);
 		}
@@ -421,10 +426,10 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * Checks if an update for an extension is available which also resolves dependencies.
 	 *
 	 * @internal
-	 * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extensionData
+	 * @param Extension $extensionData
 	 * @return bool
 	 */
-	public function isUpdateAvailable(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extensionData) {
+	public function isUpdateAvailable(Extension $extensionData) {
 		return (bool)$this->getUpdateableVersion($extensionData);
 	}
 
@@ -432,11 +437,10 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 * Returns the updateable version for an extension which also resolves dependencies.
 	 *
 	 * @internal
-	 * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extensionData
-	 * @return bool|\TYPO3\CMS\Extensionmanager\Domain\Model\Extension FALSE if no update available otherwise latest
-	 *                                                                 possible update
+	 * @param Extension $extensionData
+	 * @return bool|Extension FALSE if no update available otherwise latest possible update
 	 */
-	public function getUpdateableVersion(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extensionData) {
+	public function getUpdateableVersion(Extension $extensionData) {
 		// Only check for update for TER extensions
 		$version = $extensionData->getIntegerVersion();
 
@@ -487,7 +491,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 		}
 		if ($importFileToUse !== NULL) {
 			/** @var ImportExportUtility $importExportUtility */
-			$importExportUtility = $this->objectManager->get(\TYPO3\CMS\Impexp\Utility\ImportExportUtility::class);
+			$importExportUtility = $this->objectManager->get(ImportExportUtility::class);
 			try {
 				$importResult = $importExportUtility->importT3DFile(PATH_site . $importFileToUse, 0);
 				$this->registry->set('extensionDataImport', $extensionSiteRelPath . 'Initialisation/dataImported', 1);
@@ -522,7 +526,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 		if (!$this->registry->get('extensionDataImport', $extTablesStaticSqlRelFile)) {
 			$extTablesStaticSqlFile = PATH_site . $extTablesStaticSqlRelFile;
 			if (file_exists($extTablesStaticSqlFile)) {
-				$extTablesStaticSqlContent = \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl($extTablesStaticSqlFile);
+				$extTablesStaticSqlContent = GeneralUtility::getUrl($extTablesStaticSqlFile);
 				$this->importStaticSql($extTablesStaticSqlContent);
 			}
 			$this->registry->set('extensionDataImport', $extTablesStaticSqlRelFile, 1);
@@ -554,11 +558,11 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 				$destinationRelPath = $GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir'] . $extensionKey;
 				$destinationAbsolutePath = PATH_site . $destinationRelPath;
 				if (!file_exists($destinationAbsolutePath) &&
-					\TYPO3\CMS\Core\Utility\GeneralUtility::isAllowedAbsPath($destinationAbsolutePath)
+					GeneralUtility::isAllowedAbsPath($destinationAbsolutePath)
 				) {
-					\TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($destinationAbsolutePath);
+					GeneralUtility::mkdir($destinationAbsolutePath);
 				}
-				\TYPO3\CMS\Core\Utility\GeneralUtility::copyDirectory($importRelFolder, $destinationRelPath);
+				GeneralUtility::copyDirectory($importRelFolder, $destinationRelPath);
 				$this->registry->set('extensionDataImport', $importRelFolder, 1);
 				$this->emitAfterExtensionFileImportSignal($destinationAbsolutePath);
 			}