Optimize lookup of quickening data.

Use the debug_info_off_ of CodeItem to store the quickening
offset in the vdex.

Impact:
- Code size almost unchanged (1 word saved per dex file in a vdex)
- GetQuickenedInfoOf doesn't show up in simpleperf during app startup

Test: test.py, run-libcore-tests, run-jdwp-tests
Test: 628-vdex
Change-Id: I15c3151feb58980a4c4d7469ca02728e94d36c07
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index e4dd544..fd7ae9f 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -429,6 +429,10 @@
     // optimizations that could break that.
     max_level = optimizer::DexToDexCompilationLevel::kDontDexToDexCompile;
   }
+  if (!VdexFile::CanEncodeQuickenedData(dex_file)) {
+    // Don't do any dex level optimizations if we cannot encode the quickening.
+    return optimizer::DexToDexCompilationLevel::kDontDexToDexCompile;
+  }
   if (klass->IsVerified()) {
     // Class is verified so we can enable DEX-to-DEX compilation for performance.
     return max_level;