| Index: src/x64/lithium-x64.h | 
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h | 
| index c3b9db4c592461f6afa3b2137fe54e3f8e283642..31e54370e0a876d92ad4ae4e48e7358feb51a0eb 100644 | 
| --- a/src/x64/lithium-x64.h | 
| +++ b/src/x64/lithium-x64.h | 
| @@ -50,6 +50,7 @@ class LCodeGen; | 
| V(ArithmeticD)                                \ | 
| V(ArithmeticT)                                \ | 
| V(BitI)                                       \ | 
| +  V(BitNotI)                                    \ | 
| V(BoundsCheck)                                \ | 
| V(Branch)                                     \ | 
| V(CallConstantFunction)                       \ | 
| @@ -67,6 +68,7 @@ class LCodeGen; | 
| V(CheckMaps)                                  \ | 
| V(CheckMapValue)                              \ | 
| V(CheckNonSmi)                                \ | 
| +  V(CheckPrototypeMaps)                         \ | 
| V(CheckSmi)                                   \ | 
| V(ClampDToUint8)                              \ | 
| V(ClampIToUint8)                              \ | 
| @@ -1310,6 +1312,18 @@ class LThrow: public LTemplateInstruction<0, 1, 0> { | 
| }; | 
|  | 
|  | 
| +class LBitNotI: public LTemplateInstruction<1, 1, 0> { | 
| + public: | 
| +  explicit LBitNotI(LOperand* value) { | 
| +    inputs_[0] = value; | 
| +  } | 
| + | 
| +  LOperand* value() { return inputs_[0]; } | 
| + | 
| +  DECLARE_CONCRETE_INSTRUCTION(BitNotI, "bit-not-i") | 
| +}; | 
| + | 
| + | 
| class LAddI: public LTemplateInstruction<1, 2, 0> { | 
| public: | 
| LAddI(LOperand* left, LOperand* right) { | 
| @@ -2052,7 +2066,7 @@ class LStoreNamedField: public LTemplateInstruction<0, 2, 1> { | 
|  | 
| virtual void PrintDataTo(StringStream* stream); | 
|  | 
| -  Handle<Map> transition() const { return hydrogen()->transition_map(); } | 
| +  Handle<Map> transition() const { return hydrogen()->transition(); } | 
| Representation representation() const { | 
| return hydrogen()->field_representation(); | 
| } | 
| @@ -2248,6 +2262,24 @@ class LCheckMaps: public LTemplateInstruction<0, 1, 0> { | 
| }; | 
|  | 
|  | 
| +class LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 1> { | 
| + public: | 
| +  explicit LCheckPrototypeMaps(LOperand* temp)  { | 
| +    temps_[0] = temp; | 
| +  } | 
| + | 
| +  LOperand* temp() { return temps_[0]; } | 
| + | 
| +  DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps") | 
| +  DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps) | 
| + | 
| +  ZoneList<Handle<JSObject> >* prototypes() const { | 
| +    return hydrogen()->prototypes(); | 
| +  } | 
| +  ZoneList<Handle<Map> >* maps() const { return hydrogen()->maps(); } | 
| +}; | 
| + | 
| + | 
| class LCheckSmi: public LTemplateInstruction<1, 1, 0> { | 
| public: | 
| explicit LCheckSmi(LOperand* value) { | 
| @@ -2541,7 +2573,7 @@ class LChunkBuilder BASE_EMBEDDED { | 
| bool is_done() const { return status_ == DONE; } | 
| bool is_aborted() const { return status_ == ABORTED; } | 
|  | 
| -  void Abort(BailoutReason reason); | 
| +  void Abort(const char* reason); | 
|  | 
| // Methods for getting operands for Use / Define / Temp. | 
| LUnallocated* ToUnallocated(Register reg); | 
|  |