Refactor runtime support.

Change-Id: Id7470a4105838150d5ceb73ab2c8c83e739660df
diff --git a/src/object.h b/src/object.h
index ad8194a..426a48c 100644
--- a/src/object.h
+++ b/src/object.h
@@ -861,8 +861,17 @@
     SetField32(OFFSET_OF_OBJECT_MEMBER(Method, fp_spill_mask_), fp_spill_mask, false);
   }
 
+  // Is this a CalleSaveMethod or ResolutionMethod and therefore doesn't adhere to normal
+  // conventions for a method of managed code.
+  bool IsRuntimeMethod() const {
+    return GetDexMethodIndex() == DexFile::kDexNoIndex16;
+  }
+
   // Is this a hand crafted method used for something like describing callee saves?
   bool IsCalleeSaveMethod() const {
+    if (!IsRuntimeMethod()) {
+      return false;
+    }
     Runtime* runtime = Runtime::Current();
     bool result = false;
     for (int i = 0; i < Runtime::kLastCalleeSaveType; i++) {
@@ -871,8 +880,6 @@
         break;
       }
     }
-    // Check that if we do think it is phony it looks like the callee save method
-    DCHECK(!result || GetDexMethodIndex() == DexFile::kDexNoIndex16);
     return result;
   }
 
@@ -883,12 +890,6 @@
     return result;
   }
 
-  // Is this a CalleSaveMethod or ResolutionMethod and therefore doesn't adhere to normal
-  // conventions for a method of managed code.
-  bool IsRuntimeMethod() const {
-    return GetDexMethodIndex() == DexFile::kDexNoIndex16;
-  }
-
   // Converts a native PC to a dex PC.  TODO: this is a no-op
   // until we associate a PC mapping table with each method.
   uint32_t ToDexPC(const uintptr_t pc) const;