Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 3c845cba296438883f75633af7084410e9528df4..8a15bd59e62108ebea0779614582ceac5fbf4e57 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -1930,20 +1930,15 @@ void LCodeGen::DoDateField(LDateField* instr) { |
Register result = ToRegister(instr->result()); |
Register scratch = ToRegister(instr->temp()); |
Smi* index = instr->index(); |
- Label runtime, done; |
DCHECK(object.is(result)); |
DCHECK(object.is(r0)); |
DCHECK(!scratch.is(scratch0())); |
DCHECK(!scratch.is(object)); |
- __ SmiTst(object); |
- DeoptimizeIf(eq, instr, Deoptimizer::kSmi); |
- __ CompareObjectType(object, scratch, scratch, JS_DATE_TYPE); |
- DeoptimizeIf(ne, instr, Deoptimizer::kNotADateObject); |
- |
if (index->value() == 0) { |
__ ldr(result, FieldMemOperand(object, JSDate::kValueOffset)); |
} else { |
+ Label runtime, done; |
if (index->value() < JSDate::kFirstUncachedField) { |
ExternalReference stamp = ExternalReference::date_cache_stamp(isolate()); |
__ mov(scratch, Operand(stamp)); |