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

Unified Diff: src/interface-descriptors.h

Issue 2397573004: [stubs] Reduce number of StoreTransitionStub instances. (Closed)
Patch Set: Cleanup Created 4 years, 2 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
« no previous file with comments | « src/ic/x64/handler-compiler-x64.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/interface-descriptors.h
diff --git a/src/interface-descriptors.h b/src/interface-descriptors.h
index 76530fcf3889d27ccd2187ba5a21f0478a8a62b6..09dc377338632ad6a7c67cb01955d6a3504b505f 100644
--- a/src/interface-descriptors.h
+++ b/src/interface-descriptors.h
@@ -24,6 +24,7 @@ class PlatformInterfaceDescriptor;
V(LoadGlobalWithVector) \
V(Store) \
V(StoreWithVector) \
+ V(StoreNamedTransition) \
V(StoreTransition) \
V(VarArgFunction) \
V(FastNewClosure) \
@@ -349,6 +350,24 @@ class StoreTransitionDescriptor : public StoreDescriptor {
static const int kStackArgumentsCount = kPassLastArgsOnStack ? 3 : 0;
};
+class StoreNamedTransitionDescriptor : public StoreTransitionDescriptor {
+ public:
+ DEFINE_PARAMETERS(kReceiver, kFieldOffset, kMap, kValue, kSlot, kVector,
+ kName)
+ DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StoreNamedTransitionDescriptor,
+ StoreTransitionDescriptor)
+
+ // Always pass name on the stack.
+ static const bool kPassLastArgsOnStack = true;
+ static const int kStackArgumentsCount =
+ StoreTransitionDescriptor::kStackArgumentsCount + 1;
+
+ static const Register NameRegister() { return no_reg; }
+ static const Register FieldOffsetRegister() {
+ return StoreTransitionDescriptor::NameRegister();
+ }
+};
+
class StoreWithVectorDescriptor : public StoreDescriptor {
public:
DEFINE_PARAMETERS(kReceiver, kName, kValue, kSlot, kVector)
« no previous file with comments | « src/ic/x64/handler-compiler-x64.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698