ART: Disable CHA for AoT

App images and boot image CHA do not interact well. If boot image
methods have been marked single-implementation, but lose that
status when compiling an app image, that information is not
retained, and after loading the image at runtime, the state will
be inconsistent. As a workaround, disable CHA during AoT.

Modify expectations of run-test 616-cha.

Bug: 34193647
Test: m test-art-host
Change-Id: I53eacd97c66645c20318c71568fffb1219b0dc61
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index d06ba78..e5ed8ae 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -371,7 +371,9 @@
       quick_generic_jni_trampoline_(nullptr),
       quick_to_interpreter_bridge_trampoline_(nullptr),
       image_pointer_size_(kRuntimePointerSize),
-      cha_(new ClassHierarchyAnalysis()) {
+      cha_(Runtime::Current()->IsAotCompiler() ? nullptr : new ClassHierarchyAnalysis()) {
+  // For CHA disabled during Aot, see b/34193647.
+
   CHECK(intern_table_ != nullptr);
   static_assert(kFindArrayCacheSize == arraysize(find_array_class_cache_),
                 "Array cache size wrong.");