Index: src/ic/handler-compiler.h |
diff --git a/src/ic/handler-compiler.h b/src/ic/handler-compiler.h |
index 813b5c897e6ee761aa6170b967f00d3f28d5beea..63ca050ca274a7cbdafd56b1160c627ba4970944 100644 |
--- a/src/ic/handler-compiler.h |
+++ b/src/ic/handler-compiler.h |
@@ -215,13 +215,24 @@ class NamedLoadHandlerCompiler : public PropertyHandlerCompiler { |
class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { |
public: |
+ // All store handlers use StoreWithVectorDescriptor calling convention. |
+ typedef StoreWithVectorDescriptor Descriptor; |
+ |
explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<Map> map, |
Handle<JSObject> holder) |
: PropertyHandlerCompiler(isolate, Code::STORE_IC, map, holder, |
- kCacheOnReceiver) {} |
+ kCacheOnReceiver) { |
+#ifdef DEBUG |
+ if (Descriptor::kPassLastArgsOnStack) { |
+ ZapStackArgumentsRegisterAliases(); |
+ } |
+#endif |
+ } |
virtual ~NamedStoreHandlerCompiler() {} |
+ void ZapStackArgumentsRegisterAliases(); |
+ |
Handle<Code> CompileStoreTransition(Handle<Map> transition, |
Handle<Name> name); |
Handle<Code> CompileStoreField(LookupIterator* it); |