| Index: src/ia32/lithium-codegen-ia32.h
 | 
| diff --git a/src/ia32/lithium-codegen-ia32.h b/src/ia32/lithium-codegen-ia32.h
 | 
| index 63d15f4d62f7eae12171e753a6b77e7805762bef..44ddaffcd41ab038c00db70110761f8d9bb5331e 100644
 | 
| --- a/src/ia32/lithium-codegen-ia32.h
 | 
| +++ b/src/ia32/lithium-codegen-ia32.h
 | 
| @@ -55,7 +55,6 @@ class LCodeGen BASE_EMBEDDED {
 | 
|          current_instruction_(-1),
 | 
|          instructions_(chunk->instructions()),
 | 
|          deoptimizations_(4, info->zone()),
 | 
| -        jump_table_(4, info->zone()),
 | 
|          deoptimization_literals_(8, info->zone()),
 | 
|          inlined_function_count_(0),
 | 
|          scope_(info->scope()),
 | 
| @@ -65,7 +64,6 @@ class LCodeGen BASE_EMBEDDED {
 | 
|          dynamic_frame_alignment_(false),
 | 
|          osr_pc_offset_(-1),
 | 
|          last_lazy_deopt_pc_(0),
 | 
| -        frame_is_built_(false),
 | 
|          safepoints_(info->zone()),
 | 
|          resolver_(this),
 | 
|          expected_safepoint_kind_(Safepoint::kSimple) {
 | 
| @@ -80,20 +78,10 @@ class LCodeGen BASE_EMBEDDED {
 | 
|    Heap* heap() const { return isolate()->heap(); }
 | 
|    Zone* zone() const { return zone_; }
 | 
|  
 | 
| -  bool NeedsEagerFrame() const {
 | 
| -    return GetStackSlotCount() > 0 ||
 | 
| -        info()->is_non_deferred_calling() ||
 | 
| -        !info()->IsStub();
 | 
| -  }
 | 
| -  bool NeedsDeferredFrame() const {
 | 
| -    return !NeedsEagerFrame() && info()->is_deferred_calling();
 | 
| -  }
 | 
| -
 | 
|    // Support for converting LOperands to assembler types.
 | 
|    Operand ToOperand(LOperand* op) const;
 | 
|    Register ToRegister(LOperand* op) const;
 | 
|    XMMRegister ToDoubleRegister(LOperand* op) const;
 | 
| -  bool IsX87TopOfStack(LOperand* op) const;
 | 
|  
 | 
|    bool IsInteger32(LConstantOperand* op) const;
 | 
|    Immediate ToInteger32Immediate(LOperand* op) const {
 | 
| @@ -102,9 +90,6 @@ class LCodeGen BASE_EMBEDDED {
 | 
|  
 | 
|    Handle<Object> ToHandle(LConstantOperand* op) const;
 | 
|  
 | 
| -  // A utility for instructions that return floating point values on X87.
 | 
| -  void HandleX87FPReturnValue(LInstruction* instr);
 | 
| -
 | 
|    // The operand denoting the second word (the one with a higher address) of
 | 
|    // a double stack slot.
 | 
|    Operand HighOperand(LOperand* op);
 | 
| @@ -137,7 +122,7 @@ class LCodeGen BASE_EMBEDDED {
 | 
|                                         Label* map_check);
 | 
|  
 | 
|    void DoCheckMapCommon(Register reg, Handle<Map> map,
 | 
| -                        CompareMapMode mode, LInstruction* instr);
 | 
| +                        CompareMapMode mode, LEnvironment* env);
 | 
|  
 | 
|    // Parallel move support.
 | 
|    void DoParallelMove(LParallelMove* move);
 | 
| @@ -187,7 +172,7 @@ class LCodeGen BASE_EMBEDDED {
 | 
|                         Register temporary2);
 | 
|  
 | 
|    int GetStackSlotCount() const { return chunk()->spill_slot_count(); }
 | 
| -  int GetParameterCount() const { return info()->num_parameters(); }
 | 
| +  int GetParameterCount() const { return scope()->num_parameters(); }
 | 
|  
 | 
|    void Abort(const char* reason);
 | 
|    void Comment(const char* format, ...);
 | 
| @@ -199,7 +184,9 @@ class LCodeGen BASE_EMBEDDED {
 | 
|    bool GeneratePrologue();
 | 
|    bool GenerateBody();
 | 
|    bool GenerateDeferredCode();
 | 
| -  bool GenerateJumpTable();
 | 
| +  // Pad the reloc info to ensure that we have enough space to patch during
 | 
| +  // deoptimization.
 | 
| +  bool GenerateRelocPadding();
 | 
|    bool GenerateSafepointTable();
 | 
|  
 | 
|    enum SafepointMode {
 | 
| @@ -369,23 +356,10 @@ class LCodeGen BASE_EMBEDDED {
 | 
|    MacroAssembler* const masm_;
 | 
|    CompilationInfo* const info_;
 | 
|  
 | 
| -  struct JumpTableEntry {
 | 
| -    inline JumpTableEntry(Address entry, bool frame, bool is_lazy)
 | 
| -        : label(),
 | 
| -          address(entry),
 | 
| -          needs_frame(frame),
 | 
| -          is_lazy_deopt(is_lazy) { }
 | 
| -    Label label;
 | 
| -    Address address;
 | 
| -    bool needs_frame;
 | 
| -    bool is_lazy_deopt;
 | 
| -  };
 | 
| -
 | 
|    int current_block_;
 | 
|    int current_instruction_;
 | 
|    const ZoneList<LInstruction*>* instructions_;
 | 
|    ZoneList<LEnvironment*> deoptimizations_;
 | 
| -  ZoneList<JumpTableEntry> jump_table_;
 | 
|    ZoneList<Handle<Object> > deoptimization_literals_;
 | 
|    int inlined_function_count_;
 | 
|    Scope* const scope_;
 | 
| @@ -395,7 +369,6 @@ class LCodeGen BASE_EMBEDDED {
 | 
|    bool dynamic_frame_alignment_;
 | 
|    int osr_pc_offset_;
 | 
|    int last_lazy_deopt_pc_;
 | 
| -  bool frame_is_built_;
 | 
|  
 | 
|    // Builder that keeps track of safepoints in the code. The table
 | 
|    // itself is emitted at the end of the generated code.
 | 
| @@ -413,7 +386,6 @@ class LCodeGen BASE_EMBEDDED {
 | 
|        ASSERT(codegen_->expected_safepoint_kind_ == Safepoint::kSimple);
 | 
|        codegen_->masm_->PushSafepointRegisters();
 | 
|        codegen_->expected_safepoint_kind_ = Safepoint::kWithRegisters;
 | 
| -      ASSERT(codegen_->info()->is_calling());
 | 
|      }
 | 
|  
 | 
|      ~PushSafepointRegistersScope() {
 | 
| 
 |