Rename inParameters to inFlow
Change-Id: Iccbb51431e7daf53b3c91f48a2129c5336504902
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagatorOptimizationInfoPopulator.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagatorOptimizationInfoPopulator.java
index 4a19396..6b05437 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagatorOptimizationInfoPopulator.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagatorOptimizationInfoPopulator.java
@@ -164,7 +164,7 @@
assert monomorphicMethodState.getParameterStates().stream()
.filter(ParameterState::isConcrete)
.map(ParameterState::asConcrete)
- .noneMatch(ConcreteParameterState::hasInParameters);
+ .noneMatch(ConcreteParameterState::hasInFlow);
if (monomorphicMethodState.size() > 0) {
getSimpleFeedback()
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomArrayTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomArrayTypeParameterState.java
index 3ba87ce..e3a242f 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomArrayTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomArrayTypeParameterState.java
@@ -44,7 +44,6 @@
if (nullability.isMaybeNull()) {
return unknown();
}
- return new ConcreteArrayTypeParameterState(
- nullability, concreteParameterState.copyInParameters());
+ return new ConcreteArrayTypeParameterState(nullability, concreteParameterState.copyInFlow());
}
}
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomClassTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomClassTypeParameterState.java
index 2ae85ed..2d4dd2b 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomClassTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomClassTypeParameterState.java
@@ -49,6 +49,6 @@
return abstractValue.isUnknown() && widenedDynamicType.isUnknown()
? unknown()
: new ConcreteClassTypeParameterState(
- abstractValue, widenedDynamicType, concreteParameterState.copyInParameters());
+ abstractValue, widenedDynamicType, concreteParameterState.copyInFlow());
}
}
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomReceiverParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomReceiverParameterState.java
index aa331f8..e9ef27f 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomReceiverParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/BottomReceiverParameterState.java
@@ -44,7 +44,6 @@
if (dynamicType.isUnknown()) {
return unknown();
}
- return new ConcreteReceiverParameterState(
- dynamicType, concreteParameterState.copyInParameters());
+ return new ConcreteReceiverParameterState(dynamicType, concreteParameterState.copyInFlow());
}
}
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteArrayTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteArrayTypeParameterState.java
index 801ada2..97803d0 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteArrayTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteArrayTypeParameterState.java
@@ -27,21 +27,20 @@
this(nullability, Collections.emptySet());
}
- public ConcreteArrayTypeParameterState(
- Nullability nullability, Set<MethodParameter> inParameters) {
- super(inParameters);
+ public ConcreteArrayTypeParameterState(Nullability nullability, Set<MethodParameter> inFlow) {
+ super(inFlow);
this.nullability = nullability;
assert !isEffectivelyBottom() : "Must use BottomArrayTypeParameterState instead";
assert !isEffectivelyUnknown() : "Must use UnknownParameterState instead";
}
@Override
- public ParameterState clearInParameters() {
- if (hasInParameters()) {
+ public ParameterState clearInFlow() {
+ if (hasInFlow()) {
if (nullability.isBottom()) {
return bottomArrayTypeParameter();
}
- internalClearInParameters();
+ internalClearInFlow();
}
assert !isEffectivelyBottom();
return this;
@@ -81,7 +80,7 @@
}
public boolean isEffectivelyBottom() {
- return nullability.isBottom() && !hasInParameters();
+ return nullability.isBottom() && !hasInFlow();
}
public boolean isEffectivelyUnknown() {
@@ -90,7 +89,7 @@
@Override
public ParameterState mutableCopy() {
- return new ConcreteArrayTypeParameterState(nullability, copyInParameters());
+ return new ConcreteArrayTypeParameterState(nullability, copyInFlow());
}
@Override
@@ -105,11 +104,11 @@
if (nullability.isUnknown()) {
return unknown();
}
- boolean inParametersChanged = mutableJoinInParameters(parameterState);
- if (widenInParameters(appView)) {
+ boolean inFlowChanged = mutableJoinInFlow(parameterState);
+ if (widenInFlow(appView)) {
return unknown();
}
- if (inParametersChanged) {
+ if (inFlowChanged) {
onChangedAction.execute();
}
return this;
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteClassTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteClassTypeParameterState.java
index 93683aa..5c6d7a4 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteClassTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteClassTypeParameterState.java
@@ -30,8 +30,8 @@
}
public ConcreteClassTypeParameterState(
- AbstractValue abstractValue, DynamicType dynamicType, Set<MethodParameter> inParameters) {
- super(inParameters);
+ AbstractValue abstractValue, DynamicType dynamicType, Set<MethodParameter> inFlow) {
+ super(inFlow);
this.abstractValue = abstractValue;
this.dynamicType = dynamicType;
assert !isEffectivelyBottom() : "Must use BottomClassTypeParameterState instead";
@@ -39,13 +39,13 @@
}
@Override
- public ParameterState clearInParameters() {
- if (hasInParameters()) {
+ public ParameterState clearInFlow() {
+ if (hasInFlow()) {
if (abstractValue.isBottom()) {
assert dynamicType.isBottom();
return bottomClassTypeParameter();
}
- internalClearInParameters();
+ internalClearInFlow();
}
assert !isEffectivelyBottom();
return this;
@@ -86,7 +86,7 @@
}
public boolean isEffectivelyBottom() {
- return abstractValue.isBottom() && dynamicType.isBottom() && !hasInParameters();
+ return abstractValue.isBottom() && dynamicType.isBottom() && !hasInFlow();
}
public boolean isEffectivelyUnknown() {
@@ -95,7 +95,7 @@
@Override
public ParameterState mutableCopy() {
- return new ConcreteClassTypeParameterState(abstractValue, dynamicType, copyInParameters());
+ return new ConcreteClassTypeParameterState(abstractValue, dynamicType, copyInFlow());
}
@Override
@@ -119,13 +119,11 @@
if (abstractValue.isUnknown() && dynamicType.isUnknown()) {
return unknown();
}
- boolean inParametersChanged = mutableJoinInParameters(parameterState);
- if (widenInParameters(appView)) {
+ boolean inFlowChanged = mutableJoinInFlow(parameterState);
+ if (widenInFlow(appView)) {
return unknown();
}
- if (abstractValue != oldAbstractValue
- || !dynamicType.equals(oldDynamicType)
- || inParametersChanged) {
+ if (abstractValue != oldAbstractValue || !dynamicType.equals(oldDynamicType) || inFlowChanged) {
onChangedAction.execute();
}
return this;
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteParameterState.java
index ed3873f..4e95fed 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteParameterState.java
@@ -21,33 +21,33 @@
RECEIVER
}
- private Set<MethodParameter> inParameters;
+ private Set<MethodParameter> inFlow;
- ConcreteParameterState(Set<MethodParameter> inParameters) {
- this.inParameters = inParameters;
+ ConcreteParameterState(Set<MethodParameter> inFlow) {
+ this.inFlow = inFlow;
}
- public abstract ParameterState clearInParameters();
+ public abstract ParameterState clearInFlow();
- void internalClearInParameters() {
- inParameters = Collections.emptySet();
+ void internalClearInFlow() {
+ inFlow = Collections.emptySet();
}
- public Set<MethodParameter> copyInParameters() {
- if (inParameters.isEmpty()) {
- assert inParameters == Collections.<MethodParameter>emptySet();
- return inParameters;
+ public Set<MethodParameter> copyInFlow() {
+ if (inFlow.isEmpty()) {
+ assert inFlow == Collections.<MethodParameter>emptySet();
+ return inFlow;
}
- return new HashSet<>(inParameters);
+ return new HashSet<>(inFlow);
}
- public boolean hasInParameters() {
- return !inParameters.isEmpty();
+ public boolean hasInFlow() {
+ return !inFlow.isEmpty();
}
- public Set<MethodParameter> getInParameters() {
- assert inParameters.isEmpty() || inParameters instanceof HashSet<?>;
- return inParameters;
+ public Set<MethodParameter> getInFlow() {
+ assert inFlow.isEmpty() || inFlow instanceof HashSet<?>;
+ return inFlow;
}
public abstract ConcreteParameterStateKind getKind();
@@ -130,24 +130,23 @@
appView, concreteParameterState.asPrimitiveParameter(), parameterType, onChangedAction);
}
- boolean mutableJoinInParameters(ConcreteParameterState parameterState) {
- if (parameterState.inParameters.isEmpty()) {
+ boolean mutableJoinInFlow(ConcreteParameterState parameterState) {
+ if (parameterState.inFlow.isEmpty()) {
return false;
}
- if (inParameters.isEmpty()) {
- assert inParameters == Collections.<MethodParameter>emptySet();
- inParameters = new HashSet<>();
+ if (inFlow.isEmpty()) {
+ assert inFlow == Collections.<MethodParameter>emptySet();
+ inFlow = new HashSet<>();
}
- return inParameters.addAll(parameterState.inParameters);
+ return inFlow.addAll(parameterState.inFlow);
}
/**
* Returns true if the in-parameters set should be widened to unknown, in which case the entire
* parameter state must be widened to unknown.
*/
- boolean widenInParameters(AppView<AppInfoWithLiveness> appView) {
- return inParameters != null
- && inParameters.size()
- > appView.options().callSiteOptimizationOptions().getMaxNumberOfInParameters();
+ boolean widenInFlow(AppView<AppInfoWithLiveness> appView) {
+ return inFlow != null
+ && inFlow.size() > appView.options().callSiteOptimizationOptions().getMaxInFlowSize();
}
}
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcretePrimitiveTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcretePrimitiveTypeParameterState.java
index c0fc006..6a90616 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcretePrimitiveTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcretePrimitiveTypeParameterState.java
@@ -22,8 +22,8 @@
}
public ConcretePrimitiveTypeParameterState(
- AbstractValue abstractValue, Set<MethodParameter> inParameters) {
- super(inParameters);
+ AbstractValue abstractValue, Set<MethodParameter> inFlow) {
+ super(inFlow);
this.abstractValue = abstractValue;
assert !isEffectivelyBottom() : "Must use BottomPrimitiveTypeParameterState instead";
assert !isEffectivelyUnknown() : "Must use UnknownParameterState instead";
@@ -34,12 +34,12 @@
}
@Override
- public ParameterState clearInParameters() {
- if (hasInParameters()) {
+ public ParameterState clearInFlow() {
+ if (hasInFlow()) {
if (abstractValue.isBottom()) {
return bottomPrimitiveTypeParameter();
}
- internalClearInParameters();
+ internalClearInFlow();
}
assert !isEffectivelyBottom();
return this;
@@ -47,7 +47,7 @@
@Override
public ParameterState mutableCopy() {
- return new ConcretePrimitiveTypeParameterState(abstractValue, copyInParameters());
+ return new ConcretePrimitiveTypeParameterState(abstractValue, copyInFlow());
}
@SuppressWarnings("ReferenceEquality")
@@ -65,11 +65,11 @@
if (abstractValue.isUnknown()) {
return unknown();
}
- boolean inParametersChanged = mutableJoinInParameters(parameterState);
- if (widenInParameters(appView)) {
+ boolean inFlowChanged = mutableJoinInFlow(parameterState);
+ if (widenInFlow(appView)) {
return unknown();
}
- if (abstractValue != oldAbstractValue || inParametersChanged) {
+ if (abstractValue != oldAbstractValue || inFlowChanged) {
onChangedAction.execute();
}
return this;
@@ -86,7 +86,7 @@
}
public boolean isEffectivelyBottom() {
- return abstractValue.isBottom() && !hasInParameters();
+ return abstractValue.isBottom() && !hasInFlow();
}
public boolean isEffectivelyUnknown() {
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReceiverParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReceiverParameterState.java
index 4da32d6..5a321a3 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReceiverParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReceiverParameterState.java
@@ -22,21 +22,20 @@
this(dynamicType, Collections.emptySet());
}
- public ConcreteReceiverParameterState(
- DynamicType dynamicType, Set<MethodParameter> inParameters) {
- super(inParameters);
+ public ConcreteReceiverParameterState(DynamicType dynamicType, Set<MethodParameter> inFlow) {
+ super(inFlow);
this.dynamicType = dynamicType;
assert !isEffectivelyBottom() : "Must use BottomReceiverParameterState instead";
assert !isEffectivelyUnknown() : "Must use UnknownParameterState instead";
}
@Override
- public ParameterState clearInParameters() {
- if (hasInParameters()) {
+ public ParameterState clearInFlow() {
+ if (hasInFlow()) {
if (dynamicType.isBottom()) {
return bottomReceiverParameter();
}
- internalClearInParameters();
+ internalClearInFlow();
}
assert !isEffectivelyBottom();
return this;
@@ -63,7 +62,7 @@
}
public boolean isEffectivelyBottom() {
- return dynamicType.isBottom() && !hasInParameters();
+ return dynamicType.isBottom() && !hasInFlow();
}
public boolean isEffectivelyUnknown() {
@@ -82,7 +81,7 @@
@Override
public ParameterState mutableCopy() {
- return new ConcreteReceiverParameterState(dynamicType, copyInParameters());
+ return new ConcreteReceiverParameterState(dynamicType, copyInFlow());
}
@Override
@@ -99,11 +98,11 @@
if (dynamicType.isUnknown()) {
return unknown();
}
- boolean inParametersChanged = mutableJoinInParameters(parameterState);
- if (widenInParameters(appView)) {
+ boolean inFlowChanged = mutableJoinInFlow(parameterState);
+ if (widenInFlow(appView)) {
return unknown();
}
- if (!dynamicType.equals(oldDynamicType) || inParametersChanged) {
+ if (!dynamicType.equals(oldDynamicType) || inFlowChanged) {
onChangedAction.execute();
}
return this;
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReferenceTypeParameterState.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReferenceTypeParameterState.java
index 30506a0..da2056a 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReferenceTypeParameterState.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/ConcreteReferenceTypeParameterState.java
@@ -14,8 +14,8 @@
public abstract class ConcreteReferenceTypeParameterState extends ConcreteParameterState {
- ConcreteReferenceTypeParameterState(Set<MethodParameter> inParameters) {
- super(inParameters);
+ ConcreteReferenceTypeParameterState(Set<MethodParameter> inFlow) {
+ super(inFlow);
}
public abstract DynamicType getDynamicType();
diff --git a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/InParameterFlowPropagator.java b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/InParameterFlowPropagator.java
index c9794f5..ff0bd01 100644
--- a/src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/InParameterFlowPropagator.java
+++ b/src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/InParameterFlowPropagator.java
@@ -203,12 +203,12 @@
// No need to create a node for a parameter that doesn't depend on any other parameters
// (unless some other parameter depends on this parameter).
- if (!concreteParameterState.hasInParameters()) {
+ if (!concreteParameterState.hasInFlow()) {
return;
}
ParameterNode node = getOrCreateParameterNode(method, parameterIndex, methodState);
- for (MethodParameter inParameter : concreteParameterState.getInParameters()) {
+ for (MethodParameter inParameter : concreteParameterState.getInFlow()) {
ProgramMethod enclosingMethod = getEnclosingMethod(inParameter);
if (enclosingMethod == null) {
// This is a parameter of a single caller inlined method. Since this method has been
@@ -247,7 +247,7 @@
if (!node.getState().isUnknown()) {
assert node.getState() == concreteParameterState;
- node.setState(concreteParameterState.clearInParameters());
+ node.setState(concreteParameterState.clearInFlow());
}
}
diff --git a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
index 8ee6237..319d053 100644
--- a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
+++ b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
@@ -107,7 +107,7 @@
if (monomorphicMethodState.getParameterState(i).isConcrete()) {
ConcreteParameterState concreteParameterState =
monomorphicMethodState.getParameterState(i).asConcrete();
- if (concreteParameterState.hasInParameters()) {
+ if (concreteParameterState.hasInFlow()) {
monomorphicMethodState.setParameterState(i, ParameterState.unknown());
}
}
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index e0ba332..02e6e1d 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -1647,7 +1647,7 @@
enabled = false;
}
- public int getMaxNumberOfInParameters() {
+ public int getMaxInFlowSize() {
return 10;
}