Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index 6f45b81082a93fe5eda2d44901872425a49f215c..7f0ed3dbaeaafe00f3924c307a96a6e431d4d7d9 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -4288,7 +4288,7 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
ASSERT_NE(instr->temp(), NULL); |
__ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg, |
ToRegister(instr->temp()), kDontSaveFPRegs); |
- } else if (FLAG_compiled_transitions) { |
+ } else { |
PushSafepointRegistersScope scope(this); |
if (!object_reg.is(rax)) { |
__ movq(rax, object_reg); |
@@ -4298,28 +4298,6 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
__ CallStub(&stub); |
RecordSafepointWithRegisters( |
instr->pointer_map(), 0, Safepoint::kNoLazyDeopt); |
- } else if (IsFastSmiElementsKind(from_kind) && |
- IsFastDoubleElementsKind(to_kind)) { |
- Register fixed_object_reg = ToRegister(instr->temp()); |
- ASSERT(fixed_object_reg.is(rdx)); |
- Register new_map_reg = ToRegister(instr->new_map_temp()); |
- ASSERT(new_map_reg.is(rbx)); |
- __ movq(new_map_reg, to_map, RelocInfo::EMBEDDED_OBJECT); |
- __ movq(fixed_object_reg, object_reg); |
- CallCode(isolate()->builtins()->TransitionElementsSmiToDouble(), |
- RelocInfo::CODE_TARGET, instr); |
- } else if (IsFastDoubleElementsKind(from_kind) && |
- IsFastObjectElementsKind(to_kind)) { |
- Register fixed_object_reg = ToRegister(instr->temp()); |
- ASSERT(fixed_object_reg.is(rdx)); |
- Register new_map_reg = ToRegister(instr->new_map_temp()); |
- ASSERT(new_map_reg.is(rbx)); |
- __ movq(new_map_reg, to_map, RelocInfo::EMBEDDED_OBJECT); |
- __ movq(fixed_object_reg, object_reg); |
- CallCode(isolate()->builtins()->TransitionElementsDoubleToObject(), |
- RelocInfo::CODE_TARGET, instr); |
- } else { |
- UNREACHABLE(); |
} |
__ bind(¬_applicable); |
} |