| Index: src/codegen-ia32.h
 | 
| ===================================================================
 | 
| --- src/codegen-ia32.h	(revision 629)
 | 
| +++ src/codegen-ia32.h	(working copy)
 | 
| @@ -238,7 +238,12 @@
 | 
|    Label* true_target() const  { return state_->true_target(); }
 | 
|    Label* false_target() const  { return state_->false_target(); }
 | 
|  
 | 
| +  // Track loop nesting level.
 | 
| +  int loop_nesting() const { return loop_nesting_; }
 | 
| +  void IncrementLoopNesting() { loop_nesting_++; }
 | 
| +  void DecrementLoopNesting() { loop_nesting_--; }
 | 
|  
 | 
| +
 | 
|    // Node visitors.
 | 
|  #define DEF_VISIT(type) \
 | 
|    void Visit##type(type* node);
 | 
| @@ -287,6 +292,7 @@
 | 
|    void ToBoolean(Label* true_target, Label* false_target);
 | 
|  
 | 
|    void GenericBinaryOperation(Token::Value op,
 | 
| +      StaticType* type,
 | 
|        const OverwriteMode overwrite_mode = NO_OVERWRITE);
 | 
|  
 | 
|    void Comparison(Condition cc, bool strict = false);
 | 
| @@ -297,6 +303,7 @@
 | 
|    bool IsInlineSmi(Literal* literal);
 | 
|    void SmiComparison(Condition cc,  Handle<Object> value, bool strict = false);
 | 
|    void SmiOperation(Token::Value op,
 | 
| +                    StaticType* type,
 | 
|                      Handle<Object> value,
 | 
|                      bool reversed,
 | 
|                      OverwriteMode overwrite_mode);
 | 
| @@ -412,6 +419,7 @@
 | 
|    CodeGenState* state_;
 | 
|    bool is_inside_try_;
 | 
|    int break_stack_height_;
 | 
| +  int loop_nesting_;
 | 
|  
 | 
|    // Labels
 | 
|    Label function_return_;
 | 
| 
 |