Index: src/arm/assembler-arm.cc |
diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc |
index 47ea0e20666e2f44621e42959b7094067c43ed79..42990f67240e0ef866e19a3ae455013f1d88c2c5 100644 |
--- a/src/arm/assembler-arm.cc |
+++ b/src/arm/assembler-arm.cc |
@@ -85,6 +85,33 @@ static unsigned CpuFeaturesImpliedByCompiler() { |
} |
+int Register::NumAllocatableRegisters() { |
+ if (CpuFeatures::IsSupported(VFP2)) { |
+ return kMaxNumAllocatableRegisters; |
+ } else { |
+ return kMaxNumAllocatableRegisters - kGPRsPerNonVFP2Double; |
+ } |
+} |
+ |
+ |
+int DoubleRegister::NumAllocatableRegisters() { |
+ if (CpuFeatures::IsSupported(VFP2)) { |
+ return DwVfpRegister::kMaxNumAllocatableRegisters; |
+ } else { |
+ return SoftFloatRegister::kMaxNumAllocatableRegisters; |
+ } |
+} |
+ |
+ |
+const char* DoubleRegister::AllocationIndexToString(int index) { |
+ if (CpuFeatures::IsSupported(VFP2)) { |
+ return DwVfpRegister::AllocationIndexToString(index); |
+ } else { |
+ return SoftFloatRegister::AllocationIndexToString(index); |
+ } |
+} |
+ |
+ |
void CpuFeatures::Probe() { |
unsigned standard_features = static_cast<unsigned>( |
OS::CpuFeaturesImpliedByPlatform()) | CpuFeaturesImpliedByCompiler(); |