| Index: src/x64/lithium-x64.h
 | 
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
 | 
| index d43a86a9a530fff772d53911cad66614ed4cd207..1cad9fe97e39ac3ddf92743393ae49768d46f789 100644
 | 
| --- a/src/x64/lithium-x64.h
 | 
| +++ b/src/x64/lithium-x64.h
 | 
| @@ -162,6 +162,7 @@ class LCodeGen;
 | 
|    V(ThisFunction)                               \
 | 
|    V(Throw)                                      \
 | 
|    V(ToFastProperties)                           \
 | 
| +  V(TransitionElementsKind)                     \
 | 
|    V(Typeof)                                     \
 | 
|    V(TypeofIsAndBranch)                          \
 | 
|    V(UnaryMathOperation)                         \
 | 
| @@ -1660,6 +1661,30 @@ class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> {
 | 
|  };
 | 
|  
 | 
|  
 | 
| +class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> {
 | 
| + public:
 | 
| +  LTransitionElementsKind(LOperand* object,
 | 
| +                          LOperand* new_map_temp,
 | 
| +                          LOperand* temp_reg) {
 | 
| +    inputs_[0] = object;
 | 
| +    temps_[0] = new_map_temp;
 | 
| +    temps_[1] = temp_reg;
 | 
| +  }
 | 
| +
 | 
| +  DECLARE_CONCRETE_INSTRUCTION(TransitionElementsKind,
 | 
| +                               "transition-elements-kind")
 | 
| +  DECLARE_HYDROGEN_ACCESSOR(TransitionElementsKind)
 | 
| +
 | 
| +  virtual void PrintDataTo(StringStream* stream);
 | 
| +
 | 
| +  LOperand* object() { return inputs_[0]; }
 | 
| +  LOperand* new_map_reg() { return temps_[0]; }
 | 
| +  LOperand* temp_reg() { return temps_[1]; }
 | 
| +  Handle<Map> original_map() { return hydrogen()->original_map(); }
 | 
| +  Handle<Map> transitioned_map() { return hydrogen()->transitioned_map(); }
 | 
| +};
 | 
| +
 | 
| +
 | 
|  class LStringAdd: public LTemplateInstruction<1, 2, 0> {
 | 
|   public:
 | 
|    LStringAdd(LOperand* left, LOperand* right) {
 | 
| 
 |