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'