Performance fixes for hot reload when using a prebuilt loader (#6821)

diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index 0249075..304e12c 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -20,6 +20,8 @@
 class DevFSConfig {
   /// Should DevFS assume that symlink targets are stable?
   bool cacheSymlinks = false;
+  /// Should DevFS assume that there are no symlinks to directories?
+  bool noDirectorySymlinks = false;
 }
 
 DevFSConfig get devFSConfig => context[DevFSConfig];
@@ -521,12 +523,12 @@
       Stream<FileSystemEntity> files =
           directory.list(recursive: recursive, followLinks: false);
       await for (FileSystemEntity file in files) {
-        if (file is Link) {
+        if (!devFSConfig.noDirectorySymlinks && (file is Link)) {
+          // Check if this is a symlink to a directory and skip it.
           final String linkPath = file.resolveSymbolicLinksSync();
           final FileSystemEntityType linkType =
               FileStat.statSync(linkPath).type;
           if (linkType == FileSystemEntityType.DIRECTORY) {
-            // Skip links to directories.
             continue;
           }
         }