| Index: src/ia32/lithium-ia32.h
 | 
| ===================================================================
 | 
| --- src/ia32/lithium-ia32.h	(revision 9531)
 | 
| +++ src/ia32/lithium-ia32.h	(working copy)
 | 
| @@ -101,7 +101,7 @@
 | 
|    V(Integer32ToDouble)                          \
 | 
|    V(InvokeFunction)                             \
 | 
|    V(IsConstructCallAndBranch)                   \
 | 
| -  V(IsNullAndBranch)                            \
 | 
| +  V(IsNilAndBranch)                             \
 | 
|    V(IsObjectAndBranch)                          \
 | 
|    V(IsSmiAndBranch)                             \
 | 
|    V(IsUndetectableAndBranch)                    \
 | 
| @@ -615,17 +615,18 @@
 | 
|  };
 | 
|  
 | 
|  
 | 
| -class LIsNullAndBranch: public LControlInstruction<1, 1> {
 | 
| +class LIsNilAndBranch: public LControlInstruction<1, 1> {
 | 
|   public:
 | 
| -  LIsNullAndBranch(LOperand* value, LOperand* temp) {
 | 
| +  LIsNilAndBranch(LOperand* value, LOperand* temp) {
 | 
|      inputs_[0] = value;
 | 
|      temps_[0] = temp;
 | 
|    }
 | 
|  
 | 
| -  DECLARE_CONCRETE_INSTRUCTION(IsNullAndBranch, "is-null-and-branch")
 | 
| -  DECLARE_HYDROGEN_ACCESSOR(IsNullAndBranch)
 | 
| +  DECLARE_CONCRETE_INSTRUCTION(IsNilAndBranch, "is-nil-and-branch")
 | 
| +  DECLARE_HYDROGEN_ACCESSOR(IsNilAndBranch)
 | 
|  
 | 
| -  bool is_strict() const { return hydrogen()->is_strict(); }
 | 
| +  EqualityKind kind() const { return hydrogen()->kind(); }
 | 
| +  NilValue nil() const { return hydrogen()->nil(); }
 | 
|  
 | 
|    virtual void PrintDataTo(StringStream* stream);
 | 
|  };
 | 
| @@ -1230,10 +1231,12 @@
 | 
|  };
 | 
|  
 | 
|  
 | 
| -class LStoreGlobalCell: public LTemplateInstruction<0, 1, 0> {
 | 
| +class LStoreGlobalCell: public LTemplateInstruction<0, 1, 2> {
 | 
|   public:
 | 
| -  explicit LStoreGlobalCell(LOperand* value) {
 | 
| +  explicit LStoreGlobalCell(LOperand* value, LOperand* temp1, LOperand* temp2) {
 | 
|      inputs_[0] = value;
 | 
| +    temps_[0] = temp1;
 | 
| +    temps_[1] = temp2;
 | 
|    }
 | 
|  
 | 
|    DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell")
 | 
| @@ -1798,6 +1801,8 @@
 | 
|      inputs_[0] = value;
 | 
|    }
 | 
|  
 | 
| +  LOperand* value() { return inputs_[0]; }
 | 
| +
 | 
|    DECLARE_CONCRETE_INSTRUCTION(CheckFunction, "check-function")
 | 
|    DECLARE_HYDROGEN_ACCESSOR(CheckFunction)
 | 
|  };
 | 
| @@ -2070,6 +2075,7 @@
 | 
|        graph_(graph),
 | 
|        instructions_(32),
 | 
|        pointer_maps_(8),
 | 
| +      num_double_slots_(0),
 | 
|        inlined_closures_(1) { }
 | 
|  
 | 
|    void AddInstruction(LInstruction* instruction, HBasicBlock* block);
 | 
| @@ -2083,6 +2089,8 @@
 | 
|    int ParameterAt(int index);
 | 
|    int GetParameterStackSlot(int index) const;
 | 
|    int spill_slot_count() const { return spill_slot_count_; }
 | 
| +  int num_double_slots() const { return num_double_slots_; }
 | 
| +
 | 
|    CompilationInfo* info() const { return info_; }
 | 
|    HGraph* graph() const { return graph_; }
 | 
|    const ZoneList<LInstruction*>* instructions() const { return &instructions_; }
 | 
| @@ -2124,6 +2132,7 @@
 | 
|    HGraph* const graph_;
 | 
|    ZoneList<LInstruction*> instructions_;
 | 
|    ZoneList<LPointerMap*> pointer_maps_;
 | 
| +  int num_double_slots_;
 | 
|    ZoneList<Handle<JSFunction> > inlined_closures_;
 | 
|  };
 | 
|  
 | 
| @@ -2259,7 +2268,8 @@
 | 
|        LInstruction* instr, int ast_id);
 | 
|    void ClearInstructionPendingDeoptimizationEnvironment();
 | 
|  
 | 
| -  LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env);
 | 
| +  LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env,
 | 
| +                                  int* argument_index_accumulator);
 | 
|  
 | 
|    void VisitInstruction(HInstruction* current);
 | 
|  
 | 
| 
 |