mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
SlowOperations: store trace hashes instead of strings
GitOrigin-RevId: 53879d162d687d80b2f35c8f54cf46eb1114bb6b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
23c8ed8cd3
commit
d87848b0a6
@@ -9,15 +9,15 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.util.ThrowableComputable;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringHash;
|
||||
import com.intellij.util.containers.FList;
|
||||
import com.intellij.util.ui.EDT;
|
||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class SlowOperations {
|
||||
private static final Logger LOG = Logger.getInstance(SlowOperations.class);
|
||||
|
||||
@@ -27,7 +27,7 @@ public final class SlowOperations {
|
||||
public static final String GENERIC = "generic";
|
||||
public static final String FAST_TRACK = " fast track ";
|
||||
|
||||
private static final Set<String> ourReportedTraces = new HashSet<>();
|
||||
private static final IntSet ourReportedTraceHashCodes = new IntOpenHashSet();
|
||||
private static final String[] misbehavingFrames = {
|
||||
"org.jetbrains.kotlin.idea.refactoring.introduce.introduceVariable.KotlinIntroduceVariableHandler",
|
||||
"com.intellij.apiwatcher.plugin.presentation.bytecode.UsageHighlighter",
|
||||
@@ -104,7 +104,7 @@ public final class SlowOperations {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!ourReportedTraces.add(stackTrace)) {
|
||||
if (!ourReportedTraceHashCodes.add(StringHash.murmur(stackTrace))) {
|
||||
return;
|
||||
}
|
||||
LOG.error("Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc.");
|
||||
|
||||
Reference in New Issue
Block a user