Replace isProcessedConcurrently by MethodProcessor in InlineCandidateProcessor
Change-Id: I094778e8c7b0e054972a28370f951c550acafa18
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index b40b925..ace131b 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -1317,7 +1317,7 @@
stringOptimizer,
method,
code,
- methodProcessor::isProcessedConcurrently,
+ methodProcessor,
inliner,
Suppliers.memoize(
() ->
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliner.java b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliner.java
index 538cba6..c71006f 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliner.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliner.java
@@ -13,6 +13,7 @@
import com.android.tools.r8.ir.code.Instruction;
import com.android.tools.r8.ir.code.InstructionOrPhi;
import com.android.tools.r8.ir.code.Value;
+import com.android.tools.r8.ir.conversion.MethodProcessor;
import com.android.tools.r8.ir.optimize.CodeRewriter;
import com.android.tools.r8.ir.optimize.Inliner;
import com.android.tools.r8.ir.optimize.InliningOracle;
@@ -27,7 +28,6 @@
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -161,7 +161,7 @@
StringOptimizer stringOptimizer,
DexEncodedMethod method,
IRCode code,
- Predicate<DexEncodedMethod> isProcessedConcurrently,
+ MethodProcessor methodProcessor,
Inliner inliner,
Supplier<InliningOracle> defaultOracle) {
@@ -188,7 +188,7 @@
appView,
inliner,
clazz -> isClassEligible(appView, clazz),
- isProcessedConcurrently,
+ methodProcessor,
method,
root);
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
index fe1b092..016e600 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
@@ -35,6 +35,7 @@
import com.android.tools.r8.ir.code.InvokeMethodWithReceiver;
import com.android.tools.r8.ir.code.StaticGet;
import com.android.tools.r8.ir.code.Value;
+import com.android.tools.r8.ir.conversion.MethodProcessor;
import com.android.tools.r8.ir.optimize.Inliner;
import com.android.tools.r8.ir.optimize.Inliner.InlineAction;
import com.android.tools.r8.ir.optimize.Inliner.InliningInfo;
@@ -79,7 +80,7 @@
private final AppView<AppInfoWithLiveness> appView;
private final Inliner inliner;
private final Function<DexClass, EligibilityStatus> isClassEligible;
- private final Predicate<DexEncodedMethod> isProcessedConcurrently;
+ private final MethodProcessor methodProcessor;
private final DexEncodedMethod method;
private final Instruction root;
@@ -105,7 +106,7 @@
AppView<AppInfoWithLiveness> appView,
Inliner inliner,
Function<DexClass, EligibilityStatus> isClassEligible,
- Predicate<DexEncodedMethod> isProcessedConcurrently,
+ MethodProcessor methodProcessor,
DexEncodedMethod method,
Instruction root) {
this.appView = appView;
@@ -113,7 +114,7 @@
this.isClassEligible = isClassEligible;
this.method = method;
this.root = root;
- this.isProcessedConcurrently = isProcessedConcurrently;
+ this.methodProcessor = methodProcessor;
this.receivers = new ClassInlinerReceiverSet(root.outValue());
}
@@ -1055,7 +1056,7 @@
}
private void markSizeForInlining(InvokeMethod invoke, DexEncodedMethod inlinee) {
- assert !isProcessedConcurrently.test(inlinee);
+ assert !methodProcessor.isProcessedConcurrently(inlinee);
if (!exemptFromInstructionLimit(inlinee)) {
if (invoke != null) {
directInlinees.put(invoke, inlinee);
@@ -1072,7 +1073,7 @@
if (!singleTarget.isProgramMethod(appView)) {
return false;
}
- if (isProcessedConcurrently.test(singleTarget)) {
+ if (methodProcessor.isProcessedConcurrently(singleTarget)) {
return false;
}
if (!singleTarget.isInliningCandidate(