Add MANAGED to class definition for classes mirrored beween C++ and managed code

The MANAGED attribute causes the classes to be packed to avoid platform specific padding.
Motivated by the recent change to StringClass where the target had an extra trailing word.

Change-Id: I4a8f11845169e61c024914c04623713ced9a9e66
diff --git a/src/dex_cache.h b/src/dex_cache.h
index 0ac2ee1..7662a7d0 100644
--- a/src/dex_cache.h
+++ b/src/dex_cache.h
@@ -17,7 +17,7 @@
 class String;
 union JValue;
 
-class CodeAndDirectMethods : public IntArray {
+class MANAGED CodeAndDirectMethods : public IntArray {
  public:
   void* GetResolvedCode(uint32_t method_idx) const {
     return reinterpret_cast<byte*>(Get(CodeIndex(method_idx)));
@@ -78,7 +78,7 @@
   DISALLOW_IMPLICIT_CONSTRUCTORS(CodeAndDirectMethods);
 };
 
-class DexCache : public ObjectArray<Object> {
+class MANAGED DexCache : public ObjectArray<Object> {
  public:
   void Init(String* location,
             ObjectArray<String>* strings,