Change dex cache to be java object instead of array, add pointer to dex file in dex cache.

Generic clean up to facilitate having GDB macros for Pretty* helper functions.

Improved cleanliness of DexCache since having it as an object array was not the best solution.

Fixed a bug in InOrderWalk caused by ResolveType sometimes allocating classes.

Rename C++ Method to AbstractMethod and add two new classes Constructor, Method which both inherit from AbstractMethod.

Rename done to have the C++ code be closer to the java code.

Change-Id: I4995b4c5e47a3822192b08afa24a639d3b1f4da9
diff --git a/src/compiler/codegen/GenInvoke.cc b/src/compiler/codegen/GenInvoke.cc
index ba580f8..3cc7c93 100644
--- a/src/compiler/codegen/GenInvoke.cc
+++ b/src/compiler/codegen/GenInvoke.cc
@@ -193,7 +193,7 @@
       break;
     case 1:  // Get method->dex_cache_resolved_methods_
       loadWordDisp(cUnit, rARG0,
-        Method::DexCacheResolvedMethodsOffset().Int32Value(),
+        AbstractMethod::DexCacheResolvedMethodsOffset().Int32Value(),
         rARG0);
       // Set up direct code if known.
       if (directCode != 0) {
@@ -224,7 +224,7 @@
 #if !defined(TARGET_X86)
     case 3:  // Grab the code from the method*
       if (directCode == 0) {
-        loadWordDisp(cUnit, rARG0, Method::GetCodeOffset().Int32Value(),
+        loadWordDisp(cUnit, rARG0, AbstractMethod::GetCodeOffset().Int32Value(),
                      rINVOKE_TGT);
       }
       break;
@@ -273,7 +273,7 @@
       break;
 #if !defined(TARGET_X86)
     case 4: // Get the compiled code address [uses rARG0, sets rINVOKE_TGT]
-      loadWordDisp(cUnit, rARG0, Method::GetCodeOffset().Int32Value(),
+      loadWordDisp(cUnit, rARG0, AbstractMethod::GetCodeOffset().Int32Value(),
                    rINVOKE_TGT);
       break;
 #endif