Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Unified Diff: src/interface-descriptors.h

Issue 2357163003: [ic][ia32][x87] Pass value, slot and vector to StoreIC and KeyedStoreIC through the stack. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/interface-descriptors.h
diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
index e97a600fbe24635620719e2be6e6b29824069ec7..102fb853b68bda2a2ae561eeca3173caf1991752 100644
--- a/src/interface-descriptors.h
+++ b/src/interface-descriptors.h
@@ -324,6 +324,15 @@ class StoreDescriptor : public CallInterfaceDescriptor {
static const Register NameRegister();
static const Register ValueRegister();
static const Register SlotRegister();
+
+#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87
+ static const bool kPassLastArgsOnStack = true;
+#else
+ static const bool kPassLastArgsOnStack = false;
+#endif
+
+ // Pass value and slot through the stack.
+ static const int kStackArgumentsCount = kPassLastArgsOnStack ? 2 : 0;
};
class StoreTransitionDescriptor : public StoreDescriptor {
@@ -336,7 +345,8 @@ class StoreTransitionDescriptor : public StoreDescriptor {
static const Register SlotRegister();
static const Register VectorRegister();
- static bool PassVectorAndSlotOnStack();
+ // Pass value, slot and vector through the stack.
+ static const int kStackArgumentsCount = kPassLastArgsOnStack ? 3 : 0;
};
class StoreWithVectorDescriptor : public StoreDescriptor {
@@ -346,6 +356,9 @@ class StoreWithVectorDescriptor : public StoreDescriptor {
StoreDescriptor)
static const Register VectorRegister();
+
+ // Pass value, slot and vector through the stack.
+ static const int kStackArgumentsCount = kPassLastArgsOnStack ? 3 : 0;
};
class LoadWithVectorDescriptor : public LoadDescriptor {

Powered by Google App Engine
This is Rietveld 408576698