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)