Add OptimizingCompilerStats to the CodeGenerator class.

Just refactoring, not yet used, but will be used by the incoming patch
series and future CodeGen specific stats.

Change-Id: I7d20489907b82678120518a77bdab9c4cc58f937
Signed-off-by: Serban Constantinescu <serban.constantinescu@linaro.org>
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 503187b..e8304e5 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -531,24 +531,33 @@
   }
 }
 
+void CodeGenerator::MaybeRecordStat(MethodCompilationStat compilation_stat, size_t count) const {
+  if (stats_ != nullptr) {
+    stats_->RecordStat(compilation_stat, count);
+  }
+}
+
 CodeGenerator* CodeGenerator::Create(HGraph* graph,
                                      InstructionSet instruction_set,
                                      const InstructionSetFeatures& isa_features,
-                                     const CompilerOptions& compiler_options) {
+                                     const CompilerOptions& compiler_options,
+                                     OptimizingCompilerStats* stats) {
   switch (instruction_set) {
 #ifdef ART_ENABLE_CODEGEN_arm
     case kArm:
     case kThumb2: {
       return new arm::CodeGeneratorARM(graph,
-          *isa_features.AsArmInstructionSetFeatures(),
-          compiler_options);
+                                      *isa_features.AsArmInstructionSetFeatures(),
+                                      compiler_options,
+                                      stats);
     }
 #endif
 #ifdef ART_ENABLE_CODEGEN_arm64
     case kArm64: {
       return new arm64::CodeGeneratorARM64(graph,
-          *isa_features.AsArm64InstructionSetFeatures(),
-          compiler_options);
+                                          *isa_features.AsArm64InstructionSetFeatures(),
+                                          compiler_options,
+                                          stats);
     }
 #endif
 #ifdef ART_ENABLE_CODEGEN_mips
@@ -561,22 +570,25 @@
 #ifdef ART_ENABLE_CODEGEN_mips64
     case kMips64: {
       return new mips64::CodeGeneratorMIPS64(graph,
-          *isa_features.AsMips64InstructionSetFeatures(),
-          compiler_options);
+                                            *isa_features.AsMips64InstructionSetFeatures(),
+                                            compiler_options,
+                                            stats);
     }
 #endif
 #ifdef ART_ENABLE_CODEGEN_x86
     case kX86: {
       return new x86::CodeGeneratorX86(graph,
-           *isa_features.AsX86InstructionSetFeatures(),
-           compiler_options);
+                                      *isa_features.AsX86InstructionSetFeatures(),
+                                      compiler_options,
+                                      stats);
     }
 #endif
 #ifdef ART_ENABLE_CODEGEN_x86_64
     case kX86_64: {
       return new x86_64::CodeGeneratorX86_64(graph,
-          *isa_features.AsX86_64InstructionSetFeatures(),
-          compiler_options);
+                                            *isa_features.AsX86_64InstructionSetFeatures(),
+                                            compiler_options,
+                                            stats);
     }
 #endif
     default: