| Index: src/ia32/lithium-ia32.cc
 | 
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
 | 
| index fd9cc947284bf31823cff9f998e3bf5c3642785f..9b1ee8d840bc558a02c23d4a46fff30a9b4bad6f 100644
 | 
| --- a/src/ia32/lithium-ia32.cc
 | 
| +++ b/src/ia32/lithium-ia32.cc
 | 
| @@ -44,10 +44,10 @@ LITHIUM_CONCRETE_INSTRUCTION_LIST(DEFINE_COMPILE)
 | 
|  #undef DEFINE_COMPILE
 | 
|  
 | 
|  LOsrEntry::LOsrEntry() {
 | 
| -  for (int i = 0; i < Register::NumAllocatableRegisters(); ++i) {
 | 
| +  for (int i = 0; i < Register::kNumAllocatableRegisters; ++i) {
 | 
|      register_spills_[i] = NULL;
 | 
|    }
 | 
| -  for (int i = 0; i < DoubleRegister::NumAllocatableRegisters(); ++i) {
 | 
| +  for (int i = 0; i < DoubleRegister::kNumAllocatableRegisters; ++i) {
 | 
|      double_register_spills_[i] = NULL;
 | 
|    }
 | 
|  }
 | 
| @@ -460,11 +460,9 @@ LPlatformChunk* LChunkBuilder::Build() {
 | 
|    status_ = BUILDING;
 | 
|  
 | 
|    // Reserve the first spill slot for the state of dynamic alignment.
 | 
| -  if (info()->IsOptimizing()) {
 | 
| -    int alignment_state_index = chunk_->GetNextSpillIndex(false);
 | 
| -    ASSERT_EQ(alignment_state_index, 0);
 | 
| -    USE(alignment_state_index);
 | 
| -  }
 | 
| +  int alignment_state_index = chunk_->GetNextSpillIndex(false);
 | 
| +  ASSERT_EQ(alignment_state_index, 0);
 | 
| +  USE(alignment_state_index);
 | 
|  
 | 
|    const ZoneList<HBasicBlock*>* blocks = graph()->blocks();
 | 
|    for (int i = 0; i < blocks->length(); i++) {
 | 
| @@ -496,12 +494,6 @@ LUnallocated* LChunkBuilder::ToUnallocated(XMMRegister reg) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| -LUnallocated* LChunkBuilder::ToUnallocated(X87TopOfStackRegister reg) {
 | 
| -  return new(zone()) LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER,
 | 
| -      X87TopOfStackRegister::ToAllocationIndex(reg));
 | 
| -}
 | 
| -
 | 
| -
 | 
|  LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) {
 | 
|    return Use(value, ToUnallocated(fixed_register));
 | 
|  }
 | 
| @@ -634,13 +626,6 @@ LInstruction* LChunkBuilder::DefineFixedDouble(
 | 
|  }
 | 
|  
 | 
|  
 | 
| -template<int I, int T>
 | 
| -LInstruction* LChunkBuilder::DefineX87TOS(
 | 
| -    LTemplateInstruction<1, I, T>* instr) {
 | 
| -  return Define(instr, ToUnallocated(x87tos));
 | 
| -}
 | 
| -
 | 
| -
 | 
|  LInstruction* LChunkBuilder::AssignEnvironment(LInstruction* instr) {
 | 
|    HEnvironment* hydrogen_env = current_block_->last_environment();
 | 
|    int argument_index_accumulator = 0;
 | 
| @@ -653,8 +638,6 @@ LInstruction* LChunkBuilder::AssignEnvironment(LInstruction* instr) {
 | 
|  LInstruction* LChunkBuilder::MarkAsCall(LInstruction* instr,
 | 
|                                          HInstruction* hinstr,
 | 
|                                          CanDeoptimize can_deoptimize) {
 | 
| -  info()->MarkAsNonDeferredCalling();
 | 
| -
 | 
|  #ifdef DEBUG
 | 
|    instr->VerifyCall();
 | 
|  #endif
 | 
| @@ -1708,12 +1691,8 @@ LInstruction* LChunkBuilder::DoForceRepresentation(HForceRepresentation* bad) {
 | 
|  LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|    Representation from = instr->from();
 | 
|    Representation to = instr->to();
 | 
| -  // Only mark conversions that might need to allocate as calling rather than
 | 
| -  // all changes. This makes simple, non-allocating conversion not have to force
 | 
| -  // building a stack frame.
 | 
|    if (from.IsTagged()) {
 | 
|      if (to.IsDouble()) {
 | 
| -      info()->MarkAsDeferredCalling();
 | 
|        LOperand* value = UseRegister(instr->value());
 | 
|        // Temp register only necessary for minus zero check.
 | 
|        LOperand* temp = instr->deoptimize_on_minus_zero()
 | 
| @@ -1738,10 +1717,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|      }
 | 
|    } else if (from.IsDouble()) {
 | 
|      if (to.IsTagged()) {
 | 
| -      info()->MarkAsDeferredCalling();
 | 
| -      LOperand* value = CpuFeatures::IsSupported(SSE2)
 | 
| -          ? UseRegisterAtStart(instr->value())
 | 
| -          : UseAtStart(instr->value());
 | 
| +      LOperand* value = UseRegister(instr->value());
 | 
|        LOperand* temp = TempRegister();
 | 
|  
 | 
|        // Make sure that temp and result_temp are different registers.
 | 
| @@ -1759,7 +1735,6 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|            DefineAsRegister(new(zone()) LDoubleToI(value, temp)));
 | 
|      }
 | 
|    } else if (from.IsInteger32()) {
 | 
| -    info()->MarkAsDeferredCalling();
 | 
|      if (to.IsTagged()) {
 | 
|        HValue* val = instr->value();
 | 
|        LOperand* value = UseRegister(val);
 | 
| @@ -2276,17 +2251,8 @@ LInstruction* LChunkBuilder::DoOsrEntry(HOsrEntry* instr) {
 | 
|  
 | 
|  
 | 
|  LInstruction* LChunkBuilder::DoParameter(HParameter* instr) {
 | 
| -  LParameter* result = new(zone()) LParameter;
 | 
| -  if (info()->IsOptimizing()) {
 | 
| -    int spill_index = chunk()->GetParameterStackSlot(instr->index());
 | 
| -    return DefineAsSpilled(result, spill_index);
 | 
| -  } else {
 | 
| -    ASSERT(info()->IsStub());
 | 
| -    CodeStubInterfaceDescriptor* descriptor =
 | 
| -        info()->code_stub()->GetInterfaceDescriptor(info()->isolate());
 | 
| -    Register reg = descriptor->register_params_[instr->index()];
 | 
| -    return DefineFixed(result, reg);
 | 
| -  }
 | 
| +  int spill_index = chunk()->GetParameterStackSlot(instr->index());
 | 
| +  return DefineAsSpilled(new(zone()) LParameter, spill_index);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -2387,7 +2353,6 @@ LInstruction* LChunkBuilder::DoSimulate(HSimulate* instr) {
 | 
|  
 | 
|  
 | 
|  LInstruction* LChunkBuilder::DoStackCheck(HStackCheck* instr) {
 | 
| -  info()->MarkAsDeferredCalling();
 | 
|    if (instr->is_function_entry()) {
 | 
|      LOperand* context = UseFixed(instr->context(), esi);
 | 
|      return MarkAsCall(new(zone()) LStackCheck(context), instr);
 | 
| 
 |