Add explicit compiler option to enable test-specific features.

We can no longer rely on checking the "core.art" image name,
since we plan to remove it and use the shipped boot image.

This option enables test-specific features, such as $noinline$.

Test: ./art/test.py -r --optimizing --64
Bug: 147817558
Change-Id: Iadac6e1b0f46e83efd0551fb8462a6b268ad33d8
diff --git a/compiler/driver/compiler_options_map-inl.h b/compiler/driver/compiler_options_map-inl.h
index e8a425d..e80fb46 100644
--- a/compiler/driver/compiler_options_map-inl.h
+++ b/compiler/driver/compiler_options_map-inl.h
@@ -43,6 +43,7 @@
     }
     options->SetCompilerFilter(compiler_filter);
   }
+  map.AssignIfExists(Base::CompileArtTest, &options->compile_art_test_);
   map.AssignIfExists(Base::HugeMethodMaxThreshold, &options->huge_method_threshold_);
   map.AssignIfExists(Base::LargeMethodMaxThreshold, &options->large_method_threshold_);
   map.AssignIfExists(Base::NumDexMethodsThreshold, &options->num_dex_methods_threshold_);
@@ -110,6 +111,9 @@
           .template WithType<std::string>()
           .IntoKey(Map::CompilerFilter)
 
+      .Define({"--compile-art-test", "--no-compile-art-test"})
+          .WithValues({true, false})
+          .IntoKey(Map::CompileArtTest)
       .Define("--huge-method-max=_")
           .template WithType<unsigned int>()
           .IntoKey(Map::HugeMethodMaxThreshold)