Make support for interruptibility optional during dirtying
Reduces the amount of work needed when interruptibility isn't needed.
--
MOS_MIGRATED_REVID=108611609
diff --git a/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java b/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java
index cb2a8cc..49bcfa0 100644
--- a/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/EagerInvalidator.java
@@ -88,12 +88,18 @@
EvaluationProgressReceiver invalidationReceiver,
InvalidationState state,
DirtyKeyTracker dirtyKeyTracker,
- ForkJoinPool forkJoinPool) {
+ ForkJoinPool forkJoinPool,
+ boolean supportInterruptions) {
state.update(diff);
return state.isEmpty()
? null
: new DirtyingNodeVisitor(
- graph, invalidationReceiver, state, dirtyKeyTracker, forkJoinPool);
+ graph,
+ invalidationReceiver,
+ state,
+ dirtyKeyTracker,
+ forkJoinPool,
+ supportInterruptions);
}
/**
@@ -126,11 +132,18 @@
EvaluationProgressReceiver invalidationReceiver,
InvalidationState state,
DirtyKeyTracker dirtyKeyTracker,
- ForkJoinPool forkJoinPool)
+ ForkJoinPool forkJoinPool,
+ boolean supportInterruptions)
throws InterruptedException {
DirtyingNodeVisitor visitor =
createInvalidatingVisitorIfNeeded(
- graph, diff, invalidationReceiver, state, dirtyKeyTracker, forkJoinPool);
+ graph,
+ diff,
+ invalidationReceiver,
+ state,
+ dirtyKeyTracker,
+ forkJoinPool,
+ supportInterruptions);
if (visitor != null) {
visitor.run();
}