| 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);
|
|
|