Refactor compiler tests around CompilerDriver.

Introduce CommonCompilerDriverTest and inherit that in tests
that need to use CompilerDriver. This is in preparation for
moving the CompilerDriver to dex2oat/.

Test: m test-art-host-gtest
Change-Id: I46cf0bc1df4327569eef5526eeab0781473173a1
diff --git a/compiler/common_compiler_test.h b/compiler/common_compiler_test.h
index a71908e..4f4e49a 100644
--- a/compiler/common_compiler_test.h
+++ b/compiler/common_compiler_test.h
@@ -24,7 +24,6 @@
 
 #include "arch/instruction_set.h"
 #include "arch/instruction_set_features.h"
-#include "base/hash_set.h"
 #include "common_runtime_test.h"
 #include "compiler.h"
 #include "oat_file.h"
@@ -34,11 +33,10 @@
 class ClassLoader;
 }  // namespace mirror
 
-class CompilerDriver;
+class CompiledMethod;
 class CompilerOptions;
 class CumulativeLogger;
 class DexFile;
-class ProfileCompilationInfo;
 class TimingLogger;
 class VerificationResults;
 
@@ -49,16 +47,11 @@
   CommonCompilerTest();
   ~CommonCompilerTest();
 
-  // Create an OatMethod based on pointers (for unit tests).
-  OatFile::OatMethod CreateOatMethod(const void* code);
-
-  void MakeExecutable(ArtMethod* method) REQUIRES_SHARED(Locks::mutator_lock_);
+  void MakeExecutable(ArtMethod* method, const CompiledMethod* compiled_method)
+      REQUIRES_SHARED(Locks::mutator_lock_);
 
   static void MakeExecutable(const void* code_start, size_t code_length);
 
-  void MakeExecutable(ObjPtr<mirror::ClassLoader> class_loader, const char* class_name)
-      REQUIRES_SHARED(Locks::mutator_lock_);
-
  protected:
   void SetUp() override;
 
@@ -67,20 +60,12 @@
   Compiler::Kind GetCompilerKind() const;
   void SetCompilerKind(Compiler::Kind compiler_kind);
 
-  // Get the set of image classes given to the compiler-driver in SetUp.
-  virtual std::unique_ptr<HashSet<std::string>> GetImageClasses();
-
-  virtual ProfileCompilationInfo* GetProfileCompilationInfo();
-
   virtual CompilerFilter::Filter GetCompilerFilter() const {
     return CompilerFilter::kDefaultCompilerFilter;
   }
 
   void TearDown() override;
 
-  void CompileClass(mirror::ClassLoader* class_loader, const char* class_name)
-      REQUIRES_SHARED(Locks::mutator_lock_);
-
   void CompileMethod(ArtMethod* method) REQUIRES_SHARED(Locks::mutator_lock_);
 
   void CompileDirectMethod(Handle<mirror::ClassLoader> class_loader, const char* class_name,
@@ -91,25 +76,12 @@
                             const char* method_name, const char* signature)
       REQUIRES_SHARED(Locks::mutator_lock_);
 
-  void CompileAll(jobject class_loader,
-                  const std::vector<const DexFile*>& dex_files,
-                  TimingLogger* timings) REQUIRES(!Locks::mutator_lock_);
-
   void ApplyInstructionSet();
   void OverrideInstructionSetFeatures(InstructionSet instruction_set, const std::string& variant);
 
-  void CreateCompilerDriver();
-
-  void ReserveImageSpace();
-
-  void UnreserveImageSpace();
-
-  void SetDexFilesForOatFile(const std::vector<const DexFile*>& dex_files);
-
   void ClearBootImageOption();
 
   Compiler::Kind compiler_kind_ = Compiler::kOptimizing;
-  size_t number_of_threads_ = 2u;
 
   InstructionSet instruction_set_ =
       (kRuntimeISA == InstructionSet::kArm) ? InstructionSet::kThumb2 : kRuntimeISA;
@@ -119,12 +91,8 @@
 
   std::unique_ptr<CompilerOptions> compiler_options_;
   std::unique_ptr<VerificationResults> verification_results_;
-  std::unique_ptr<CompilerDriver> compiler_driver_;
 
  private:
-  MemMap image_reservation_;
-  void* inaccessible_page_;
-
   // Chunks must not move their storage after being created - use the node-based std::list.
   std::list<std::vector<uint8_t>> header_code_and_maps_chunks_;
 };