mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Revert projectIndexableFilesIfCached as it's actually irrelevant for Rider's perf problems (IDEA-CR-49893)
GitOrigin-RevId: 6b16165148d1898fc3a10c133ffe6821bf9222da
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dce9f881cd
commit
317f3cf470
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user