Consistently use WorkStealingPool
Bug: 67338394
Change-Id: Iefa4f3323eebb3939313df1a577aa4bcf2ec5739
diff --git a/src/main/java/com/android/tools/r8/utils/ThreadUtils.java b/src/main/java/com/android/tools/r8/utils/ThreadUtils.java
index a2bfeda..8fe3af6 100644
--- a/src/main/java/com/android/tools/r8/utils/ThreadUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/ThreadUtils.java
@@ -27,11 +27,8 @@
}
public static ExecutorService getExecutorService(int threads) {
- if (threads == 1) {
- return Executors.newSingleThreadExecutor();
- } else {
- return Executors.newWorkStealingPool(threads);
- }
+ // Don't use Executors.newSingleThreadExecutor() when threads == 1, see b/67338394.
+ return Executors.newWorkStealingPool(threads);
}
public static ExecutorService getExecutorService(InternalOptions options) {
@@ -40,7 +37,6 @@
// This heuristic is based on measurements on a 32 core (hyper-threaded) machine.
threads = Integer.min(Runtime.getRuntime().availableProcessors(), 16) / 2;
}
- // Don't use Executors.newSingleThreadExecutor() when threads == 1, see b/67338394.
- return Executors.newWorkStealingPool(threads);
+ return getExecutorService(threads);
}
}