Revert "Reduce core image to core-{oj,libart,simple}."

This reverts commit ec91d48cade73c54f7a03c5d53d863bc2490976e.

Reason for revert: Breaks libcore tests.

Change-Id: I0ea55f74635332177eadd9a69fb831e7f5dc16c7
diff --git a/runtime/dexopt_test.cc b/runtime/dexopt_test.cc
index b46c933..f52a0f9 100644
--- a/runtime/dexopt_test.cc
+++ b/runtime/dexopt_test.cc
@@ -46,13 +46,26 @@
   ReserveImageSpace();
 }
 
-bool DexoptTest::Dex2Oat(const std::vector<std::string>& args, std::string* error_msg) {
-  std::vector<std::string> argv;
-  if (!CommonRuntimeTest::StartDex2OatCommandLine(&argv, error_msg)) {
-    return false;
-  }
-
+static std::string ImageLocation() {
   Runtime* runtime = Runtime::Current();
+  const std::vector<gc::space::ImageSpace*>& image_spaces =
+      runtime->GetHeap()->GetBootImageSpaces();
+  if (image_spaces.empty()) {
+    return "";
+  }
+  return image_spaces[0]->GetImageLocation();
+}
+
+bool DexoptTest::Dex2Oat(const std::vector<std::string>& args, std::string* error_msg) {
+  Runtime* runtime = Runtime::Current();
+
+  std::vector<std::string> argv;
+  argv.push_back(runtime->GetCompilerExecutable());
+  if (runtime->IsJavaDebuggable()) {
+    argv.push_back("--debuggable");
+  }
+  runtime->AddCurrentRuntimeFeaturesAsDex2OatArguments(&argv);
+
   if (runtime->GetHiddenApiEnforcementPolicy() != hiddenapi::EnforcementPolicy::kDisabled) {
     argv.push_back("--runtime-arg");
     argv.push_back("-Xhidden-api-checks");
@@ -62,6 +75,11 @@
     argv.push_back("--host");
   }
 
+  argv.push_back("--boot-image=" + ImageLocation());
+
+  std::vector<std::string> compiler_options = runtime->GetCompilerOptions();
+  argv.insert(argv.end(), compiler_options.begin(), compiler_options.end());
+
   argv.insert(argv.end(), args.begin(), args.end());
 
   std::string command_line(android::base::Join(argv, ' '));