| Index: src/code-stub-assembler.h
 | 
| diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
 | 
| index 25299b5503ca394048c02d3d3ea6f0333c854ccd..2bc78fffd91ef82f29a766a26992565569d11599 100644
 | 
| --- a/src/code-stub-assembler.h
 | 
| +++ b/src/code-stub-assembler.h
 | 
| @@ -631,7 +631,7 @@ class CodeStubAssembler : public compiler::CodeAssembler {
 | 
|                                        compiler::Node* callable,
 | 
|                                        compiler::Node* object);
 | 
|  
 | 
| -  // LoadIC helpers.
 | 
| +  // Load/StoreIC helpers.
 | 
|    struct LoadICParameters {
 | 
|      LoadICParameters(compiler::Node* context, compiler::Node* receiver,
 | 
|                       compiler::Node* name, compiler::Node* slot,
 | 
| @@ -649,6 +649,15 @@ class CodeStubAssembler : public compiler::CodeAssembler {
 | 
|      compiler::Node* vector;
 | 
|    };
 | 
|  
 | 
| +  struct StoreICParameters : public LoadICParameters {
 | 
| +    StoreICParameters(compiler::Node* context, compiler::Node* receiver,
 | 
| +                      compiler::Node* name, compiler::Node* value,
 | 
| +                      compiler::Node* slot, compiler::Node* vector)
 | 
| +        : LoadICParameters(context, receiver, name, slot, vector),
 | 
| +          value(value) {}
 | 
| +    compiler::Node* value;
 | 
| +  };
 | 
| +
 | 
|    // Load type feedback vector from the stub caller's frame.
 | 
|    compiler::Node* LoadTypeFeedbackVectorForStub();
 | 
|  
 | 
| @@ -660,12 +669,12 @@ class CodeStubAssembler : public compiler::CodeAssembler {
 | 
|    compiler::Node* LoadReceiverMap(compiler::Node* receiver);
 | 
|  
 | 
|    // Checks monomorphic case. Returns {feedback} entry of the vector.
 | 
| -  compiler::Node* TryMonomorphicCase(const LoadICParameters* p,
 | 
| +  compiler::Node* TryMonomorphicCase(compiler::Node* slot,
 | 
| +                                     compiler::Node* vector,
 | 
|                                       compiler::Node* receiver_map,
 | 
|                                       Label* if_handler, Variable* var_handler,
 | 
|                                       Label* if_miss);
 | 
| -  void HandlePolymorphicCase(const LoadICParameters* p,
 | 
| -                             compiler::Node* receiver_map,
 | 
| +  void HandlePolymorphicCase(compiler::Node* receiver_map,
 | 
|                               compiler::Node* feedback, Label* if_handler,
 | 
|                               Variable* var_handler, Label* if_miss,
 | 
|                               int unroll_count);
 | 
| @@ -746,6 +755,7 @@ class CodeStubAssembler : public compiler::CodeAssembler {
 | 
|    void LoadGlobalIC(const LoadICParameters* p);
 | 
|    void KeyedLoadIC(const LoadICParameters* p);
 | 
|    void KeyedLoadICGeneric(const LoadICParameters* p);
 | 
| +  void StoreIC(const StoreICParameters* p);
 | 
|  
 | 
|    void TransitionElementsKind(compiler::Node* object, compiler::Node* map,
 | 
|                                ElementsKind from_kind, ElementsKind to_kind,
 | 
| 
 |