Don't compile non-prejit a method marked as pre-compiled.

Such methods should only be compiled with the `prejit` flag. Otherwise
they could end up with two different generated code, which is
incompatible with the JIT zygote implementation.

Test: boot aosp eng build
Bug: 325663683
Change-Id: I1300ac5cdeae0042112a177ff76b6f16539c7871
diff --git a/runtime/jit/jit.cc b/runtime/jit/jit.cc
index 54a56f2..90e9095 100644
--- a/runtime/jit/jit.cc
+++ b/runtime/jit/jit.cc
@@ -163,6 +163,13 @@
     compilation_kind = CompilationKind::kBaseline;
   }
 
+  if (method->IsPreCompiled() && !prejit) {
+    VLOG(jit) << "JIT not compiling " << method->PrettyMethod()
+              << " due to method marked pre-compile,"
+              << " and the compilation request isn't for pre-compilation.";
+    return false;
+  }
+
   // If we're asked to compile baseline, but we cannot allocate profiling infos,
   // change the compilation kind to optimized.
   if ((compilation_kind == CompilationKind::kBaseline) &&
@@ -1366,6 +1373,7 @@
   if (thread_pool_ == nullptr) {
     return;
   }
+
   // We arrive here after a baseline compiled code has reached its baseline
   // hotness threshold. If we're not only using the baseline compiler, enqueue a compilation
   // task that will compile optimize the method.