Add proper experimental option to use a fork join pool. RELNOTES: None PiperOrigin-RevId: 277460008
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java index c2331fb..9b8ea2f 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java
@@ -364,6 +364,15 @@ + " will be evaluated as a unit on Skyframe.") public int nestedSetAsSkyKeyThreshold; + @Option( + name = "experimental_use_fork_join_pool", + defaultValue = "false", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + metadataTags = OptionMetadataTag.EXPERIMENTAL, + effectTags = {OptionEffectTag.EXECUTION}, + help = "If this flag is set, use a fork join pool in the abstract queue visitor.") + public boolean useForkJoinPool; + /** * Converter for jobs: Takes keyword ({@value #FLAG_SYNTAX}). Values must be between 1 and * MAX_JOBS.
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index cafe901..b9a54a9 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1558,6 +1558,7 @@ EvaluationContext.newBuilder() .setKeepGoing(options.getOptions(KeepGoingOption.class).keepGoing) .setNumThreads(options.getOptions(BuildRequestOptions.class).jobs) + .setUseForkJoinPool(options.getOptions(BuildRequestOptions.class).useForkJoinPool) .setEventHander(reporter) .build(); return buildDriver.evaluate(