Remove recordModeling flag
Was always true with no flags to turn it off.
Bug: b/293592205
Change-Id: Ib159bc29f79be361205d341c06d23af1d73c4bfb
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index e1e8b82..495a99c 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -770,7 +770,6 @@
appView.appInfo().notifyMinifierFinished();
if (!options.isMinifying()
- && appView.options().testing.enableRecordModeling
&& appView.appInfo().app().getFlags().hasReadRecordReferenceFromProgramClass()) {
new Minifier(appView.withLiveness())
.replaceDexItemBasedConstString(executorService, timing);
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordCfToCfRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordCfToCfRewriter.java
index d1803d3..14c854b 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordCfToCfRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordCfToCfRewriter.java
@@ -31,9 +31,7 @@
private final AppView<?> appView;
public static RecordCfToCfRewriter create(AppView<?> appView) {
- if (appView.enableWholeProgramOptimizations()
- && appView.options().isGeneratingClassFiles()
- && appView.options().testing.enableRecordModeling) {
+ if (appView.enableWholeProgramOptimizations() && appView.options().isGeneratingClassFiles()) {
return new RecordCfToCfRewriter(appView);
}
return null;
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordDesugaring.java
index bdbd423..ff9fb1a 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordDesugaring.java
@@ -400,8 +400,7 @@
ArrayList<CfInstruction> instructions = new ArrayList<>();
instructions.add(new CfInvoke(Opcodes.INVOKESPECIAL, getFieldsAsObjects, false));
instructions.add(new CfConstClass(recordInvokeDynamic.getRecordType(), true));
- if (appView.options().testing.enableRecordModeling
- && appView.enableWholeProgramOptimizations()) {
+ if (appView.enableWholeProgramOptimizations()) {
instructions.add(
new CfDexItemBasedConstString(
recordInvokeDynamic.getRecordType(),
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordFieldValuesRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordFieldValuesRewriter.java
index 394241a..40b217e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/records/RecordFieldValuesRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/records/RecordFieldValuesRewriter.java
@@ -36,9 +36,7 @@
private final IRConverter irConverter;
public static RecordFieldValuesRewriter create(AppView<AppInfoWithLiveness> appView) {
- if (appView.enableWholeProgramOptimizations()
- && appView.options().isGeneratingDex()
- && appView.options().testing.enableRecordModeling) {
+ if (appView.enableWholeProgramOptimizations() && appView.options().isGeneratingDex()) {
return new RecordFieldValuesRewriter(appView);
}
return null;
diff --git a/src/main/java/com/android/tools/r8/ir/synthetic/RecordCfCodeProvider.java b/src/main/java/com/android/tools/r8/ir/synthetic/RecordCfCodeProvider.java
index 1d328aa..6621432 100644
--- a/src/main/java/com/android/tools/r8/ir/synthetic/RecordCfCodeProvider.java
+++ b/src/main/java/com/android/tools/r8/ir/synthetic/RecordCfCodeProvider.java
@@ -76,7 +76,6 @@
// 1 : the array to return
// 2+: spills
return appView.enableWholeProgramOptimizations()
- && appView.options().testing.enableRecordModeling
? generateCfCodeWithRecordModeling()
: generateCfCodeWithArray();
}
diff --git a/src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java b/src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java
index c07de40..7e988c4 100644
--- a/src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java
+++ b/src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java
@@ -193,8 +193,7 @@
@Override
public void registerCallSite(DexCallSite callSite) {
super.registerCallSiteExceptBootstrapArgs(callSite);
- if (isInvokeDynamicOnRecord(callSite, appViewWithClassHierarchy, getContext())
- && appViewWithClassHierarchy.options().testing.enableRecordModeling) {
+ if (isInvokeDynamicOnRecord(callSite, appViewWithClassHierarchy, getContext())) {
registerRecordCallSiteBootstrapArgs(callSite);
} else {
super.registerCallSiteBootstrapArgs(callSite, 0, callSite.bootstrapArgs.size());
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 93162ce..6c81818 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -2410,10 +2410,6 @@
public boolean testEnableTestAssertions = false;
public boolean keepMetadataInR8IfNotRewritten = true;
- // If set, pruned record fields are not used in hashCode/equals/toString and toString prints
- // minified field names instead of original field names.
- public boolean enableRecordModeling = true;
-
// Flag to allow processing of resources in D8. A data resource consumer still needs to be
// specified.
public boolean enableD8ResourcesPassThrough = false;