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;