| Index: src/arm64/lithium-codegen-arm64.cc
|
| diff --git a/src/arm64/lithium-codegen-arm64.cc b/src/arm64/lithium-codegen-arm64.cc
|
| index f51b3edbeeae741b3ea05454223f930fd0c09061..2aea802d6a1735fa97a64a70ed55e9a9662fbd6f 100644
|
| --- a/src/arm64/lithium-codegen-arm64.cc
|
| +++ b/src/arm64/lithium-codegen-arm64.cc
|
| @@ -2628,18 +2628,14 @@ void LCodeGen::DoDateField(LDateField* instr) {
|
| Register temp1 = x10;
|
| Register temp2 = x11;
|
| Smi* index = instr->index();
|
| - Label runtime, done;
|
|
|
| DCHECK(object.is(result) && object.Is(x0));
|
| DCHECK(instr->IsMarkedAsCall());
|
|
|
| - DeoptimizeIfSmi(object, instr, Deoptimizer::kSmi);
|
| - __ CompareObjectType(object, temp1, temp1, 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(temp1, Operand(stamp));
|
| @@ -2655,9 +2651,8 @@ void LCodeGen::DoDateField(LDateField* instr) {
|
| __ Bind(&runtime);
|
| __ Mov(x1, Operand(index));
|
| __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2);
|
| + __ Bind(&done);
|
| }
|
| -
|
| - __ Bind(&done);
|
| }
|
|
|
|
|
|
|