| Index: src/arm/lithium-arm.cc
 | 
| diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc
 | 
| index f44ca98aad059da26ffb7bfeb6aa320d9247e5ca..42036737333877b8c3f39a0ceb43dea3457c6943 100644
 | 
| --- a/src/arm/lithium-arm.cc
 | 
| +++ b/src/arm/lithium-arm.cc
 | 
| @@ -42,10 +42,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;
 | 
|    }
 | 
|  }
 | 
| @@ -612,7 +612,6 @@ LInstruction* LChunkBuilder::AssignEnvironment(LInstruction* instr) {
 | 
|  LInstruction* LChunkBuilder::MarkAsCall(LInstruction* instr,
 | 
|                                          HInstruction* hinstr,
 | 
|                                          CanDeoptimize can_deoptimize) {
 | 
| -  info()->MarkAsNonDeferredCalling();
 | 
|  #ifdef DEBUG
 | 
|    instr->VerifyCall();
 | 
|  #endif
 | 
| @@ -1695,7 +1694,6 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|    Representation to = instr->to();
 | 
|    if (from.IsTagged()) {
 | 
|      if (to.IsDouble()) {
 | 
| -      info()->MarkAsDeferredCalling();
 | 
|        LOperand* value = UseRegister(instr->value());
 | 
|        LNumberUntagD* res = new(zone()) LNumberUntagD(value);
 | 
|        return AssignEnvironment(DefineAsRegister(res));
 | 
| @@ -1720,7 +1718,6 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|      }
 | 
|    } else if (from.IsDouble()) {
 | 
|      if (to.IsTagged()) {
 | 
| -      info()->MarkAsDeferredCalling();
 | 
|        LOperand* value = UseRegister(instr->value());
 | 
|        LOperand* temp1 = TempRegister();
 | 
|        LOperand* temp2 = TempRegister();
 | 
| @@ -1740,7 +1737,6 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
 | 
|        return AssignEnvironment(DefineAsRegister(res));
 | 
|      }
 | 
|    } else if (from.IsInteger32()) {
 | 
| -    info()->MarkAsDeferredCalling();
 | 
|      if (to.IsTagged()) {
 | 
|        HValue* val = instr->value();
 | 
|        LOperand* value = UseRegisterAtStart(val);
 | 
| @@ -1978,16 +1974,7 @@ LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) {
 | 
|          (instr->representation().IsDouble() &&
 | 
|           ((elements_kind == EXTERNAL_FLOAT_ELEMENTS) ||
 | 
|            (elements_kind == EXTERNAL_DOUBLE_ELEMENTS))));
 | 
| -    // float->double conversion on non-VFP2 requires an extra scratch
 | 
| -    // register. For convenience, just mark the elements register as "UseTemp"
 | 
| -    // so that it can be used as a temp during the float->double conversion
 | 
| -    // after it's no longer needed after the float load.
 | 
| -    bool needs_temp =
 | 
| -        !CpuFeatures::IsSupported(VFP2) &&
 | 
| -        (elements_kind == EXTERNAL_FLOAT_ELEMENTS);
 | 
| -    LOperand* external_pointer = needs_temp
 | 
| -        ? UseTempRegister(instr->elements())
 | 
| -        : UseRegister(instr->elements());
 | 
| +    LOperand* external_pointer = UseRegister(instr->elements());
 | 
|      result = new(zone()) LLoadKeyed(external_pointer, key);
 | 
|    }
 | 
|  
 | 
| @@ -2205,17 +2192,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);
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |