summaryrefslogtreecommitdiff
path: root/deps/v8/src/register-configuration.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/register-configuration.cc')
-rw-r--r--deps/v8/src/register-configuration.cc19
1 files changed, 14 insertions, 5 deletions
diff --git a/deps/v8/src/register-configuration.cc b/deps/v8/src/register-configuration.cc
index 28d0ab2cc5..af35fd3b03 100644
--- a/deps/v8/src/register-configuration.cc
+++ b/deps/v8/src/register-configuration.cc
@@ -22,9 +22,13 @@ static const int kAllocatableGeneralCodes[] = {
ALLOCATABLE_GENERAL_REGISTERS(REGISTER_CODE)};
#undef REGISTER_CODE
-static const int kAllocatableDoubleCodes[] = {
#define REGISTER_CODE(R) DoubleRegister::kCode_##R,
+static const int kAllocatableDoubleCodes[] = {
ALLOCATABLE_DOUBLE_REGISTERS(REGISTER_CODE)};
+#if V8_TARGET_ARCH_ARM
+static const int kAllocatableNoVFP32DoubleCodes[] = {
+ ALLOCATABLE_NO_VFP32_DOUBLE_REGISTERS(REGISTER_CODE)};
+#endif // V8_TARGET_ARCH_ARM
#undef REGISTER_CODE
static const char* const kGeneralRegisterNames[] = {
@@ -77,9 +81,7 @@ class ArchDefaultRegisterConfiguration : public RegisterConfiguration {
kMaxAllocatableGeneralRegisterCount,
kMaxAllocatableDoubleRegisterCount,
#elif V8_TARGET_ARCH_ARM
- FLAG_enable_embedded_constant_pool
- ? (kMaxAllocatableGeneralRegisterCount - 1)
- : kMaxAllocatableGeneralRegisterCount,
+ kMaxAllocatableGeneralRegisterCount,
CpuFeatures::IsSupported(VFP32DREGS)
? kMaxAllocatableDoubleRegisterCount
: (ALLOCATABLE_NO_VFP32_DOUBLE_REGISTERS(REGISTER_COUNT) 0),
@@ -101,7 +103,14 @@ class ArchDefaultRegisterConfiguration : public RegisterConfiguration {
#else
#error Unsupported target architecture.
#endif
- kAllocatableGeneralCodes, kAllocatableDoubleCodes,
+ kAllocatableGeneralCodes,
+#if V8_TARGET_ARCH_ARM
+ CpuFeatures::IsSupported(VFP32DREGS)
+ ? kAllocatableDoubleCodes
+ : kAllocatableNoVFP32DoubleCodes,
+#else
+ kAllocatableDoubleCodes,
+#endif
kSimpleFPAliasing ? AliasingKind::OVERLAP : AliasingKind::COMBINE,
kGeneralRegisterNames, kFloatRegisterNames, kDoubleRegisterNames,
kSimd128RegisterNames) {