Update asm to version 9.7.1
Fixes: b/376816511
Change-Id: Ia0d8528a50dd33038e7bd4461d97cc76f8735fc4
diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
index 0f59b8b..885332f 100644
--- a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
+++ b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
@@ -392,7 +392,7 @@
}
object Versions {
- const val asmVersion = "9.7"
+ const val asmVersion = "9.7.1"
const val errorproneVersion = "2.18.0"
const val fastUtilVersion = "7.2.1"
const val gsonVersion = "2.10.1"
diff --git a/src/main/java/com/android/tools/r8/cf/CfVersion.java b/src/main/java/com/android/tools/r8/cf/CfVersion.java
index 73fb34d..4567e7f 100644
--- a/src/main/java/com/android/tools/r8/cf/CfVersion.java
+++ b/src/main/java/com/android/tools/r8/cf/CfVersion.java
@@ -50,9 +50,11 @@
public static final CfVersion V22_PREVIEW = new CfVersion(Opcodes.V22 | Opcodes.V_PREVIEW);
public static final CfVersion V23 = new CfVersion(Opcodes.V23);
public static final CfVersion V23_PREVIEW = new CfVersion(Opcodes.V23 | Opcodes.V_PREVIEW);
+ public static final CfVersion V24 = new CfVersion(Opcodes.V24);
+ public static final CfVersion V24_PREVIEW = new CfVersion(Opcodes.V24 | Opcodes.V_PREVIEW);
// Tentatively support next class file version for testing with JDK and ASM head.
- public static final CfVersion V24 = new CfVersion(68);
- public static final CfVersion V24_PREVIEW = new CfVersion(68 | Opcodes.V_PREVIEW);
+ public static final CfVersion V25 = new CfVersion(69);
+ public static final CfVersion V25_PREVIEW = new CfVersion(69 | Opcodes.V_PREVIEW);
private final int version;
@@ -79,7 +81,8 @@
CfVersion.V20,
CfVersion.V21,
CfVersion.V22,
- CfVersion.V23
+ CfVersion.V23,
+ CfVersion.V24
};
// Private constructor in case we want to canonicalize versions.
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 76d22ef..aa2c66c 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -180,7 +180,7 @@
}
}
- public static final CfVersion SUPPORTED_CF_VERSION = CfVersion.V24;
+ public static final CfVersion SUPPORTED_CF_VERSION = CfVersion.V25;
public static final int SUPPORTED_DEX_VERSION =
AndroidApiLevel.LATEST.getDexVersion().getIntValue();
diff --git a/src/test/java/com/android/tools/r8/cf/ClassFileVersion68Test.java b/src/test/java/com/android/tools/r8/cf/ClassFileVersion68Test.java
index 12dd840..4fc2adc 100644
--- a/src/test/java/com/android/tools/r8/cf/ClassFileVersion68Test.java
+++ b/src/test/java/com/android/tools/r8/cf/ClassFileVersion68Test.java
@@ -4,7 +4,6 @@
package com.android.tools.r8.cf;
-import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
@@ -34,8 +33,7 @@
this.parameters = parameters;
}
- // Update ASM once it has a release with v24 support.
- @Test(expected = CompilationFailedException.class)
+ @Test
public void test() throws Exception {
testForD8(parameters.getBackend())
.addProgramClassFileData(transformer(TestClass.class).setVersion(CfVersion.V24).transform())
diff --git a/src/test/java/com/android/tools/r8/cf/ClassFileVersion69Test.java b/src/test/java/com/android/tools/r8/cf/ClassFileVersion69Test.java
new file mode 100644
index 0000000..f1e7569
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/cf/ClassFileVersion69Test.java
@@ -0,0 +1,53 @@
+// Copyright (c) 2024, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package com.android.tools.r8.cf;
+
+import com.android.tools.r8.CompilationFailedException;
+import com.android.tools.r8.TestBase;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.utils.AndroidApiLevel;
+import com.android.tools.r8.utils.StringUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class ClassFileVersion69Test extends TestBase {
+
+ static final String EXPECTED = StringUtils.lines("Hello, world");
+
+ private final TestParameters parameters;
+
+ @Parameterized.Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters()
+ .withDefaultRuntimes()
+ .enableApiLevelsForCf()
+ .withApiLevel(AndroidApiLevel.B)
+ .build();
+ }
+
+ public ClassFileVersion69Test(TestParameters parameters) {
+ this.parameters = parameters;
+ }
+
+ // Update ASM once it has a release with v25 support.
+ @Test(expected = CompilationFailedException.class)
+ public void test() throws Exception {
+ testForD8(parameters.getBackend())
+ .addProgramClassFileData(transformer(TestClass.class).setVersion(CfVersion.V25).transform())
+ .setMinApi(parameters)
+ .run(parameters.getRuntime(), TestClass.class)
+ .assertSuccessWithOutput(EXPECTED);
+ }
+
+ static class TestClass {
+
+ public static void main(String[] args) {
+ System.out.println("Hello, world");
+ }
+ }
+}
diff --git a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
index 0608acb..7ed8df4 100644
--- a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
@@ -221,8 +221,8 @@
public static final String R8_TEST_BUCKET = "r8-test-results";
- public static final String ASM_JAR = BUILD_DIR + "deps/asm-9.7.jar";
- public static final String ASM_UTIL_JAR = BUILD_DIR + "deps/asm-util-9.7.jar";
+ public static final String ASM_JAR = BUILD_DIR + "deps/asm-9.7.1.jar";
+ public static final String ASM_UTIL_JAR = BUILD_DIR + "deps/asm-util-9.7.1.jar";
public static final String LINE_SEPARATOR = StringUtils.LINE_SEPARATOR;
public static final String CLASSPATH_SEPARATOR = File.pathSeparator;
diff --git a/third_party/dependencies.tar.gz.sha1 b/third_party/dependencies.tar.gz.sha1
index eacd0fe..c68f31b 100644
--- a/third_party/dependencies.tar.gz.sha1
+++ b/third_party/dependencies.tar.gz.sha1
@@ -1 +1 @@
-69699e487d7f4e51da88351227dd09a2eb3147f1
\ No newline at end of file
+29c74f72dedf594b5b240a66d85e431807a3a71f
\ No newline at end of file
diff --git a/tools/asmifier.py b/tools/asmifier.py
index 30412c1..58397d8 100755
--- a/tools/asmifier.py
+++ b/tools/asmifier.py
@@ -10,7 +10,7 @@
import sys
import utils
-ASM_VERSION = '9.7'
+ASM_VERSION = '9.7.1'
ASM_JAR = os.path.join(utils.DEPENDENCIES_DIR, 'org', 'ow2', 'asm', 'asm',
ASM_VERSION, 'asm-' + ASM_VERSION + '.jar')
ASM_UTIL_JAR = os.path.join(utils.DEPENDENCIES_DIR, 'org', 'ow2', 'asm',
diff --git a/tools/create_local_maven_with_dependencies.py b/tools/create_local_maven_with_dependencies.py
index 0df88f7..cb5928f 100755
--- a/tools/create_local_maven_with_dependencies.py
+++ b/tools/create_local_maven_with_dependencies.py
@@ -21,7 +21,7 @@
]
ANDRDID_SUPPORT_VERSION = '25.4.0'
-ASM_VERSION = '9.7' # When updating update tools/asmifier.py and Toolhelper as well.
+ASM_VERSION = '9.7.1' # When updating update tools/asmifier.py and Toolhelper as well.
ESPRESSO_VERSION = '3.0.0'
FASTUTIL_VERSION = '7.2.1'
KOTLIN_METADATA_VERSION = '2.0.0'