| Index: src/ia32/lithium-codegen-ia32.h | 
| diff --git a/src/ia32/lithium-codegen-ia32.h b/src/ia32/lithium-codegen-ia32.h | 
| index f4542eecddb4511f032125605c8d572281a1450d..d7718937428eff65ed227cf39377bc4d1bcbe9df 100644 | 
| --- a/src/ia32/lithium-codegen-ia32.h | 
| +++ b/src/ia32/lithium-codegen-ia32.h | 
| @@ -38,7 +38,6 @@ class LCodeGen: public LCodeGenBase { | 
| support_aligned_spilled_doubles_(false), | 
| osr_pc_offset_(-1), | 
| frame_is_built_(false), | 
| -        x87_stack_(assembler), | 
| safepoints_(info->zone()), | 
| resolver_(this), | 
| expected_safepoint_kind_(Safepoint::kSimple) { | 
| @@ -67,7 +66,6 @@ class LCodeGen: public LCodeGenBase { | 
| Operand ToOperand(LOperand* op) const; | 
| Register ToRegister(LOperand* op) const; | 
| XMMRegister ToDoubleRegister(LOperand* op) const; | 
| -  X87Register ToX87Register(LOperand* op) const; | 
|  | 
| bool IsInteger32(LConstantOperand* op) const; | 
| bool IsSmi(LConstantOperand* op) const; | 
| @@ -76,36 +74,6 @@ class LCodeGen: public LCodeGenBase { | 
| } | 
| double ToDouble(LConstantOperand* op) const; | 
|  | 
| -  // Support for non-sse2 (x87) floating point stack handling. | 
| -  // These functions maintain the mapping of physical stack registers to our | 
| -  // virtual registers between instructions. | 
| -  enum X87OperandType { kX87DoubleOperand, kX87FloatOperand, kX87IntOperand }; | 
| - | 
| -  void X87Mov(X87Register reg, Operand src, | 
| -      X87OperandType operand = kX87DoubleOperand); | 
| -  void X87Mov(Operand src, X87Register reg, | 
| -      X87OperandType operand = kX87DoubleOperand); | 
| - | 
| -  void X87PrepareBinaryOp( | 
| -      X87Register left, X87Register right, X87Register result); | 
| - | 
| -  void X87LoadForUsage(X87Register reg); | 
| -  void X87LoadForUsage(X87Register reg1, X87Register reg2); | 
| -  void X87PrepareToWrite(X87Register reg) { x87_stack_.PrepareToWrite(reg); } | 
| -  void X87CommitWrite(X87Register reg) { x87_stack_.CommitWrite(reg); } | 
| - | 
| -  void X87Fxch(X87Register reg, int other_slot = 0) { | 
| -    x87_stack_.Fxch(reg, other_slot); | 
| -  } | 
| -  void X87Free(X87Register reg) { | 
| -    x87_stack_.Free(reg); | 
| -  } | 
| - | 
| - | 
| -  bool X87StackEmpty() { | 
| -    return x87_stack_.depth() == 0; | 
| -  } | 
| - | 
| Handle<Object> ToHandle(LConstantOperand* op) const; | 
|  | 
| // The operand denoting the second word (the one with a higher address) of | 
| @@ -265,7 +233,6 @@ class LCodeGen: public LCodeGenBase { | 
|  | 
| Register ToRegister(int index) const; | 
| XMMRegister ToDoubleRegister(int index) const; | 
| -  X87Register ToX87Register(int index) const; | 
| int32_t ToRepresentation(LConstantOperand* op, const Representation& r) const; | 
| int32_t ToInteger32(LConstantOperand* op) const; | 
| ExternalReference ToExternalReference(LConstantOperand* op) const; | 
| @@ -313,15 +280,6 @@ class LCodeGen: public LCodeGenBase { | 
| LEnvironment* env, | 
| NumberUntagDMode mode = NUMBER_CANDIDATE_IS_ANY_TAGGED); | 
|  | 
| -  void EmitNumberUntagDNoSSE2( | 
| -      Register input, | 
| -      Register temp, | 
| -      X87Register res_reg, | 
| -      bool allow_undefined_as_nan, | 
| -      bool deoptimize_on_minus_zero, | 
| -      LEnvironment* env, | 
| -      NumberUntagDMode mode = NUMBER_CANDIDATE_IS_ANY_TAGGED); | 
| - | 
| // Emits optimized code for typeof x == "y".  Modifies input register. | 
| // Returns the condition on which a final split to | 
| // true and false label should be made, to optimize fallthrough. | 
| @@ -369,12 +327,6 @@ class LCodeGen: public LCodeGenBase { | 
| // register, or a stack slot operand. | 
| void EmitPushTaggedOperand(LOperand* operand); | 
|  | 
| -  void X87Fld(Operand src, X87OperandType opts); | 
| - | 
| -  void EmitFlushX87ForDeopt(); | 
| -  void FlushX87StackIfNecessary(LInstruction* instr) { | 
| -    x87_stack_.FlushIfNecessary(instr, this); | 
| -  } | 
| friend class LGapResolver; | 
|  | 
| #ifdef _MSC_VER | 
| @@ -397,56 +349,6 @@ class LCodeGen: public LCodeGenBase { | 
| int osr_pc_offset_; | 
| bool frame_is_built_; | 
|  | 
| -  class X87Stack { | 
| -   public: | 
| -    explicit X87Stack(MacroAssembler* masm) | 
| -        : stack_depth_(0), is_mutable_(true), masm_(masm) { } | 
| -    explicit X87Stack(const X87Stack& other) | 
| -        : stack_depth_(other.stack_depth_), is_mutable_(false), masm_(masm()) { | 
| -      for (int i = 0; i < stack_depth_; i++) { | 
| -        stack_[i] = other.stack_[i]; | 
| -      } | 
| -    } | 
| -    bool operator==(const X87Stack& other) const { | 
| -      if (stack_depth_ != other.stack_depth_) return false; | 
| -      for (int i = 0; i < stack_depth_; i++) { | 
| -        if (!stack_[i].is(other.stack_[i])) return false; | 
| -      } | 
| -      return true; | 
| -    } | 
| -    bool Contains(X87Register reg); | 
| -    void Fxch(X87Register reg, int other_slot = 0); | 
| -    void Free(X87Register reg); | 
| -    void PrepareToWrite(X87Register reg); | 
| -    void CommitWrite(X87Register reg); | 
| -    void FlushIfNecessary(LInstruction* instr, LCodeGen* cgen); | 
| -    void LeavingBlock(int current_block_id, LGoto* goto_instr); | 
| -    int depth() const { return stack_depth_; } | 
| -    void pop() { | 
| -      ASSERT(is_mutable_); | 
| -      stack_depth_--; | 
| -    } | 
| -    void push(X87Register reg) { | 
| -      ASSERT(is_mutable_); | 
| -      ASSERT(stack_depth_ < X87Register::kNumAllocatableRegisters); | 
| -      stack_[stack_depth_] = reg; | 
| -      stack_depth_++; | 
| -    } | 
| - | 
| -    MacroAssembler* masm() const { return masm_; } | 
| -    Isolate* isolate() const { return masm_->isolate(); } | 
| - | 
| -   private: | 
| -    int ArrayIndex(X87Register reg); | 
| -    int st2idx(int pos); | 
| - | 
| -    X87Register stack_[X87Register::kNumAllocatableRegisters]; | 
| -    int stack_depth_; | 
| -    bool is_mutable_; | 
| -    MacroAssembler* masm_; | 
| -  }; | 
| -  X87Stack x87_stack_; | 
| - | 
| // Builder that keeps track of safepoints in the code. The table | 
| // itself is emitted at the end of the generated code. | 
| SafepointTableBuilder safepoints_; | 
| @@ -485,11 +387,10 @@ class LCodeGen: public LCodeGenBase { | 
|  | 
| class LDeferredCode : public ZoneObject { | 
| public: | 
| -  explicit LDeferredCode(LCodeGen* codegen, const LCodeGen::X87Stack& x87_stack) | 
| +  explicit LDeferredCode(LCodeGen* codegen) | 
| : codegen_(codegen), | 
| external_exit_(NULL), | 
| -        instruction_index_(codegen->current_instruction_), | 
| -        x87_stack_(x87_stack) { | 
| +        instruction_index_(codegen->current_instruction_) { | 
| codegen->AddDeferredCode(this); | 
| } | 
|  | 
| @@ -502,7 +403,6 @@ class LDeferredCode : public ZoneObject { | 
| Label* exit() { return external_exit_ != NULL ? external_exit_ : &exit_; } | 
| Label* done() { return codegen_->NeedsDeferredFrame() ? &done_ : exit(); } | 
| int instruction_index() const { return instruction_index_; } | 
| -  const LCodeGen::X87Stack& x87_stack() const { return x87_stack_; } | 
|  | 
| protected: | 
| LCodeGen* codegen() const { return codegen_; } | 
| @@ -515,7 +415,6 @@ class LDeferredCode : public ZoneObject { | 
| Label* external_exit_; | 
| Label done_; | 
| int instruction_index_; | 
| -  LCodeGen::X87Stack x87_stack_; | 
| }; | 
|  | 
| } }  // namespace v8::internal | 
|  |