| 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);
|
|
|