diff options
Diffstat (limited to 'deps/v8/src/arm/constants-arm.cc')
-rw-r--r-- | deps/v8/src/arm/constants-arm.cc | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/deps/v8/src/arm/constants-arm.cc b/deps/v8/src/arm/constants-arm.cc index 89ff7c085..2e371207e 100644 --- a/deps/v8/src/arm/constants-arm.cc +++ b/deps/v8/src/arm/constants-arm.cc @@ -81,9 +81,27 @@ const char* VFPRegisters::names_[kNumVFPRegisters] = { }; -const char* VFPRegisters::Name(int reg) { +const char* VFPRegisters::Name(int reg, bool is_double) { ASSERT((0 <= reg) && (reg < kNumVFPRegisters)); - return names_[reg]; + return names_[reg + is_double ? kNumVFPSingleRegisters : 0]; +} + + +int VFPRegisters::Number(const char* name, bool* is_double) { + for (int i = 0; i < kNumVFPRegisters; i++) { + if (strcmp(names_[i], name) == 0) { + if (i < kNumVFPSingleRegisters) { + *is_double = false; + return i; + } else { + *is_double = true; + return i - kNumVFPSingleRegisters; + } + } + } + + // No register with the requested name found. + return kNoRegister; } @@ -104,7 +122,7 @@ int Registers::Number(const char* name) { i++; } - // No register with the reguested name found. + // No register with the requested name found. return kNoRegister; } |