Chromium Code Reviews| Index: src/x64/code-stubs-x64.cc |
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
| index ad33a8c6319b7a0a5919b7be75458068a1d1f929..41507d158d19a3011036da42fdeeb94fa1b0b771 100644 |
| --- a/src/x64/code-stubs-x64.cc |
| +++ b/src/x64/code-stubs-x64.cc |
| @@ -560,7 +560,6 @@ class FloatingPointHelper : public AllStatic { |
| // Leaves rdx and rax unchanged. SmiOperands assumes both are smis. |
| // NumberOperands assumes both are smis or heap numbers. |
| static void LoadSSE2SmiOperands(MacroAssembler* masm); |
| - static void LoadSSE2NumberOperands(MacroAssembler* masm); |
| static void LoadSSE2UnknownOperands(MacroAssembler* masm, |
| Label* not_numbers); |
| @@ -569,9 +568,6 @@ class FloatingPointHelper : public AllStatic { |
| static void LoadAsIntegers(MacroAssembler* masm, |
| Label* operand_conversion_failure, |
| Register heap_number_map); |
| - // As above, but we know the operands to be numbers. In that case, |
| - // conversion can't fail. |
| - static void LoadNumbersAsIntegers(MacroAssembler* masm); |
| // Tries to convert two values to smis losslessly. |
| // This fails if either argument is not a Smi nor a HeapNumber, |
| @@ -1548,40 +1544,6 @@ void TranscendentalCacheStub::GenerateOperation( |
| // Input: rdx, rax are the left and right objects of a bit op. |
| // Output: rax, rcx are left and right integers for a bit op. |
| -void FloatingPointHelper::LoadNumbersAsIntegers(MacroAssembler* masm) { |
| - // Check float operands. |
| - Label done; |
| - Label rax_is_smi; |
| - Label rax_is_object; |
| - Label rdx_is_object; |
| - |
| - __ JumpIfNotSmi(rdx, &rdx_is_object); |
| - __ SmiToInteger32(rdx, rdx); |
| - __ JumpIfSmi(rax, &rax_is_smi); |
| - |
| - __ bind(&rax_is_object); |
| - DoubleToIStub stub1(rax, rcx, HeapNumber::kValueOffset - kHeapObjectTag, |
| - true); |
| - __ call(stub1.GetCode(masm->isolate()), RelocInfo::CODE_TARGET); |
| - |
| - __ jmp(&done); |
| - |
| - __ bind(&rdx_is_object); |
| - DoubleToIStub stub2(rdx, rdx, HeapNumber::kValueOffset - kHeapObjectTag, |
| - true); |
| - __ call(stub1.GetCode(masm->isolate()), RelocInfo::CODE_TARGET); |
|
Jakob Kummerow
2013/08/23 08:31:48
This was actually a bug: should have read "stub2".
|
| - __ JumpIfNotSmi(rax, &rax_is_object); |
| - |
| - __ bind(&rax_is_smi); |
| - __ SmiToInteger32(rcx, rax); |
| - |
| - __ bind(&done); |
| - __ movl(rax, rdx); |
| -} |
| - |
| - |
| -// Input: rdx, rax are the left and right objects of a bit op. |
| -// Output: rax, rcx are left and right integers for a bit op. |
| // Jump to conversion_failure: rdx and rax are unchanged. |
| void FloatingPointHelper::LoadAsIntegers(MacroAssembler* masm, |
| Label* conversion_failure, |
| @@ -1645,30 +1607,6 @@ void FloatingPointHelper::LoadSSE2SmiOperands(MacroAssembler* masm) { |
| } |
| -void FloatingPointHelper::LoadSSE2NumberOperands(MacroAssembler* masm) { |
| - Label load_smi_rdx, load_nonsmi_rax, load_smi_rax, done; |
| - // Load operand in rdx into xmm0. |
| - __ JumpIfSmi(rdx, &load_smi_rdx); |
| - __ movsd(xmm0, FieldOperand(rdx, HeapNumber::kValueOffset)); |
| - // Load operand in rax into xmm1. |
| - __ JumpIfSmi(rax, &load_smi_rax); |
| - __ bind(&load_nonsmi_rax); |
| - __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); |
| - __ jmp(&done); |
| - |
| - __ bind(&load_smi_rdx); |
| - __ SmiToInteger32(kScratchRegister, rdx); |
| - __ cvtlsi2sd(xmm0, kScratchRegister); |
| - __ JumpIfNotSmi(rax, &load_nonsmi_rax); |
| - |
| - __ bind(&load_smi_rax); |
| - __ SmiToInteger32(kScratchRegister, rax); |
| - __ cvtlsi2sd(xmm1, kScratchRegister); |
| - |
| - __ bind(&done); |
| -} |
| - |
| - |
| void FloatingPointHelper::LoadSSE2UnknownOperands(MacroAssembler* masm, |
| Label* not_numbers) { |
| Label load_smi_rdx, load_nonsmi_rax, load_smi_rax, load_float_rax, done; |