Index: src/x64/codegen-x64.cc |
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc |
index f5759b276d1c47d7249047a57ffecb0e5a7170f3..3ba890672b5272decf1971927beec7c3d9f7cdec 100644 |
--- a/src/x64/codegen-x64.cc |
+++ b/src/x64/codegen-x64.cc |
@@ -9932,13 +9932,6 @@ void FloatingPointHelper::LoadSSE2SmiOperands(MacroAssembler* masm) { |
void FloatingPointHelper::LoadSSE2NumberOperands(MacroAssembler* masm) { |
- if (FLAG_debug_code) { |
- // Both arguments can not be smis. That case is handled by smi-only code. |
- Label ok; |
- __ JumpIfNotBothSmi(rax, rdx, &ok); |
- __ Abort("Both arguments smi but not handled by smi-code."); |
- __ bind(&ok); |
- } |
Label load_smi_rdx, load_nonsmi_rax, load_smi_rax, done; |
// Load operand in rdx into xmm0. |
__ JumpIfSmi(rdx, &load_smi_rdx); |
@@ -9952,7 +9945,7 @@ void FloatingPointHelper::LoadSSE2NumberOperands(MacroAssembler* masm) { |
__ bind(&load_smi_rdx); |
__ SmiToInteger32(kScratchRegister, rdx); |
__ cvtlsi2sd(xmm0, kScratchRegister); |
- __ jmp(&load_nonsmi_rax); |
+ __ JumpIfNotSmi(rax, &load_nonsmi_rax); |
__ bind(&load_smi_rax); |
__ SmiToInteger32(kScratchRegister, rax); |
@@ -10058,8 +10051,6 @@ void FloatingPointHelper::LoadNumbersAsIntegers(MacroAssembler* masm) { |
Label done; |
Label rax_is_object; |
Label rdx_is_object; |
- Label rax_is_smi; |
- Label rdx_is_smi; |
__ JumpIfNotSmi(rdx, &rdx_is_object); |
__ SmiToInteger32(rdx, rdx); |
@@ -10071,7 +10062,6 @@ void FloatingPointHelper::LoadNumbersAsIntegers(MacroAssembler* masm) { |
__ bind(&rdx_is_object); |
IntegerConvert(masm, rdx, rdx); // Uses rdi, rcx and rbx. |
__ JumpIfNotSmi(rax, &rax_is_object); |
- __ bind(&rax_is_smi); |
__ SmiToInteger32(rcx, rax); |
__ bind(&done); |