diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/AbstractStateStorage.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/AbstractStateStorage.java index 6da5a613e651..9b7ba49e1749 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/AbstractStateStorage.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/AbstractStateStorage.java @@ -34,7 +34,9 @@ public abstract class AbstractStateStorage { public void dropMemoryCache() { synchronized (myDataLock) { - myMap.dropMemoryCaches(); + if (myMap.isDirty()) { + myMap.dropMemoryCaches(); + } } } diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMaplet.java b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMaplet.java index b60661c8948d..b6fcaa713052 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMaplet.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMaplet.java @@ -108,7 +108,9 @@ public class PersistentMaplet implements Maplet { public void flush(boolean memoryCachesOnly) { if (memoryCachesOnly) { - myMap.dropMemoryCaches(); + if (myMap.isDirty()) { + myMap.dropMemoryCaches(); + } } else { myMap.force(); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java index b62eb72f2b76..3cfc2966da50 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/PersistentMultiMaplet.java @@ -169,7 +169,9 @@ class PersistentMultiMaplet implements MultiMaplet { public void flush(boolean memoryCachesOnly) { if (memoryCachesOnly) { - myMap.dropMemoryCaches(); + if (myMap.isDirty()) { + myMap.dropMemoryCaches(); + } } else { myMap.force();