Store zygote compiled code in a shared map.

- Store flags in the ArtMethod to know that it is compiled by the zygote
- Query the map when entering a zygote compiled method from the
interpreter.

Bug: 119800099
Test: boots
Change-Id: Ib1a38266573e28d371034d02d6bb83f9b8b2e317
diff --git a/libdexfile/dex/modifiers.h b/libdexfile/dex/modifiers.h
index 32c06ce..bc232d5 100644
--- a/libdexfile/dex/modifiers.h
+++ b/libdexfile/dex/modifiers.h
@@ -79,6 +79,10 @@
 // Set by the verifier for a method we do not want the compiler to compile.
 static constexpr uint32_t kAccCompileDontBother =     0x02000000;  // method (runtime)
 
+// Used in conjunction with kAccCompileDontBother to mark the method as zygote
+// compiled.
+static constexpr uint32_t kAccZygoteCompiled =        0x00200000;  // method (runtime)
+
 // Set by the verifier for a method that could not be verified to follow structured locking.
 static constexpr uint32_t kAccMustCountLocks =        0x04000000;  // method (runtime)