| 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();
|
|
|