Fix class_def_idx increment for FastVerify

Fixes vdex golem benchmarks.

Also fixed logic that was overwriting the expected ClassStatus for
debug builds. This is why the tests were passing but the CHECK was
failing for non debug dex2oat.

Added regression test in dex2oat_test.

Bug: 80309967
Test: test-art-host
Change-Id: I91c48ffbe894ab471572418142fcb4ae85bf0864
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index 1b809d2..decb330 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -1935,11 +1935,10 @@
           // Just update the compiled_classes_ map. The compiler doesn't need to resolve
           // the type.
           ClassReference ref(dex_file, class_def_idx);
-          ClassStatus existing = ClassStatus::kNotReady;
-          DCHECK(compiled_classes_.Get(ref, &existing)) << ref.dex_file->GetLocation();
+          const ClassStatus existing = ClassStatus::kNotReady;
           ClassStateTable::InsertResult result =
              compiled_classes_.Insert(ref, existing, ClassStatus::kVerified);
-          CHECK_EQ(result, ClassStateTable::kInsertResultSuccess);
+          CHECK_EQ(result, ClassStateTable::kInsertResultSuccess) << ref.dex_file->GetLocation();
         } else {
           // Update the class status, so later compilation stages know they don't need to verify
           // the class.
@@ -1962,8 +1961,8 @@
                             class_loader,
                             soa.Self());
       }
+      ++class_def_idx;
     }
-    ++class_def_idx;
   }
   return true;
 }