| Index: src/x64/lithium-codegen-x64.cc | 
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc | 
| index fea7627002095527cc2b0ec1c4e32cc456b30f33..89e311e4614b10cfe000b417a61c3bf7515b9c85 100644 | 
| --- a/src/x64/lithium-codegen-x64.cc | 
| +++ b/src/x64/lithium-codegen-x64.cc | 
| @@ -1332,15 +1332,14 @@ void LCodeGen::DoDateField(LDateField* instr) { | 
| Register object = ToRegister(instr->InputAt(0)); | 
| Register result = ToRegister(instr->result()); | 
| Smi* index = instr->index(); | 
| -  Label runtime, done; | 
| +  Label runtime, done, not_date_object; | 
| ASSERT(object.is(result)); | 
| ASSERT(object.is(rax)); | 
|  | 
| -#ifdef DEBUG | 
| -  __ AbortIfSmi(object); | 
| +  Condition cc = masm()->CheckSmi(object); | 
| +  DeoptimizeIf(cc, instr->environment()); | 
| __ CmpObjectType(object, JS_DATE_TYPE, kScratchRegister); | 
| -  __ Assert(equal, "Trying to get date field from non-date."); | 
| -#endif | 
| +  DeoptimizeIf(not_equal, instr->environment()); | 
|  | 
| if (index->value() == 0) { | 
| __ movq(result, FieldOperand(object, JSDate::kValueOffset)); | 
| @@ -1959,9 +1958,7 @@ void LCodeGen::DoGetCachedArrayIndex(LGetCachedArrayIndex* instr) { | 
| Register input = ToRegister(instr->InputAt(0)); | 
| Register result = ToRegister(instr->result()); | 
|  | 
| -  if (FLAG_debug_code) { | 
| -    __ AbortIfNotString(input); | 
| -  } | 
| +  __ AbortIfNotString(input); | 
|  | 
| __ movl(result, FieldOperand(input, String::kHashFieldOffset)); | 
| ASSERT(String::kHashShift >= kSmiTagSize); | 
|  |