Revert projectIndexableFilesIfCached as it's actually irrelevant for Rider's perf problems (IDEA-CR-49893)

GitOrigin-RevId: 6b16165148d1898fc3a10c133ffe6821bf9222da
This commit is contained in:
Dmitry Jemerov
2019-07-23 21:20:22 +03:00
committed by intellij-monorepo-bot
parent dce9f881cd
commit 317f3cf470
2 changed files with 8 additions and 19 deletions
@@ -1064,14 +1064,15 @@ public final class FileBasedIndexImpl extends FileBasedIndex implements Disposab
if (project == null || myUpdatingFiles.get() > 0) return null;
if (myProjectsBeingUpdated.contains(project)) return null;
ProjectIndexableFilesFilter cachedFilter = projectIndexableFilesIfCached(project);
if (cachedFilter != null) return cachedFilter;
SoftReference<ProjectIndexableFilesFilter> reference = project.getUserData(ourProjectFilesSetKey);
ProjectIndexableFilesFilter data = com.intellij.reference.SoftReference.dereference(reference);
int currentFileModCount = myFilesModCount.get();
if (data != null && data.myModificationCount == currentFileModCount) return data;
if (myCalcIndexableFilesLock.tryLock()) { // make best effort for calculating filter
try {
int currentFileModCount = myFilesModCount.get();
SoftReference<ProjectIndexableFilesFilter> reference = project.getUserData(ourProjectFilesSetKey);
ProjectIndexableFilesFilter data = com.intellij.reference.SoftReference.dereference(reference);
reference = project.getUserData(ourProjectFilesSetKey);
data = com.intellij.reference.SoftReference.dereference(reference);
if (data != null && data.myModificationCount == currentFileModCount) {
return data;
}
@@ -1101,18 +1102,6 @@ public final class FileBasedIndexImpl extends FileBasedIndex implements Disposab
return null; // ok, no filtering
}
@Nullable
public ProjectIndexableFilesFilter projectIndexableFilesIfCached(@Nullable Project project) {
if (project == null || myUpdatingFiles.get() > 0) return null;
if (myProjectsBeingUpdated.contains(project)) return null;
SoftReference<ProjectIndexableFilesFilter> reference = project.getUserData(ourProjectFilesSetKey);
ProjectIndexableFilesFilter data = com.intellij.reference.SoftReference.dereference(reference);
int currentFileModCount = myFilesModCount.get();
if (data != null && data.myModificationCount == currentFileModCount) return data;
return null;
}
@Nullable
private <K, V> TIntHashSet collectFileIdsContainingAllKeys(@NotNull final ID<K, V> indexId,
@NotNull final Collection<? extends K> dataKeys,
@@ -70,7 +70,7 @@ public class FindSymbolParameters {
public static FindSymbolParameters wrap(@NotNull String pattern, @NotNull Project project, boolean searchInLibraries) {
return new FindSymbolParameters(pattern, pattern, searchScopeFor(project, searchInLibraries),
((FileBasedIndexImpl) FileBasedIndex.getInstance()).projectIndexableFilesIfCached(project));
((FileBasedIndexImpl) FileBasedIndex.getInstance()).projectIndexableFiles(project));
}
public static FindSymbolParameters wrap(@NotNull String pattern, @NotNull GlobalSearchScope scope) {
@@ -79,7 +79,7 @@ public class FindSymbolParameters {
public static FindSymbolParameters simple(@NotNull Project project, boolean searchInLibraries) {
return new FindSymbolParameters("", "", searchScopeFor(project, searchInLibraries),
((FileBasedIndexImpl) FileBasedIndex.getInstance()).projectIndexableFilesIfCached(project));
((FileBasedIndexImpl) FileBasedIndex.getInstance()).projectIndexableFiles(project));
}
@NotNull