summaryrefslogtreecommitdiff
path: root/deps/v8/src/arm/constants-arm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/arm/constants-arm.cc')
-rw-r--r--deps/v8/src/arm/constants-arm.cc24
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;
}