Index: src/ia32/interface-descriptors-ia32.cc |
diff --git a/src/ia32/interface-descriptors-ia32.cc b/src/ia32/interface-descriptors-ia32.cc |
index 4724d1eb449e2ebded123164d41119209c807a64..59e93af382641b8bd6ef7c28364fd6bf87962574 100644 |
--- a/src/ia32/interface-descriptors-ia32.cc |
+++ b/src/ia32/interface-descriptors-ia32.cc |
@@ -30,11 +30,22 @@ const Register VectorStoreICTrampolineDescriptor::SlotRegister() { return edi; } |
const Register VectorStoreICDescriptor::VectorRegister() { return ebx; } |
-const Register StoreTransitionDescriptor::MapRegister() { |
- return FLAG_vector_stores ? no_reg : ebx; |
+const Register VectorStoreTransitionDescriptor::SlotRegister() { |
+ return no_reg; |
} |
+const Register VectorStoreTransitionDescriptor::VectorRegister() { |
+ return no_reg; |
+} |
+ |
+ |
+const Register VectorStoreTransitionDescriptor::MapRegister() { return no_reg; } |
+ |
+ |
+const Register StoreTransitionDescriptor::MapRegister() { return ebx; } |
+ |
+ |
const Register LoadGlobalViaContextDescriptor::SlotRegister() { return ebx; } |
@@ -65,17 +76,11 @@ const Register GrowArrayElementsDescriptor::ObjectRegister() { return eax; } |
const Register GrowArrayElementsDescriptor::KeyRegister() { return ebx; } |
-void StoreTransitionDescriptor::InitializePlatformSpecific( |
+void VectorStoreTransitionDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
- Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
- MapRegister()}; |
- |
- // When FLAG_vector_stores is true, we want to pass the map register on the |
- // stack instead of in a register. |
- DCHECK(FLAG_vector_stores || !MapRegister().is(no_reg)); |
- |
- int register_count = FLAG_vector_stores ? 3 : 4; |
- data->InitializePlatformSpecific(register_count, registers); |
+ Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; |
+ // The other three parameters are on the stack in ia32. |
+ data->InitializePlatformSpecific(arraysize(registers), registers); |
} |