Delete dead FloatingPointHelper functions
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22914034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
17ec357ac7
commit
88e74d525a
@ -613,11 +613,6 @@ class FloatingPointHelper : public AllStatic {
|
||||
BinaryOpIC::TypeInfo right_type,
|
||||
Label* operand_conversion_failure);
|
||||
|
||||
// Assumes that operands are smis or heap numbers and loads them
|
||||
// into xmm0 and xmm1. Operands are in edx and eax.
|
||||
// Leaves operands unchanged.
|
||||
static void LoadSSE2Operands(MacroAssembler* masm);
|
||||
|
||||
// Test if operands are numbers (smi or HeapNumber objects), and load
|
||||
// them into xmm0 and xmm1 if they are. Jump to label not_numbers if
|
||||
// either operand is not a number. Operands are in edx and eax.
|
||||
@ -2461,33 +2456,6 @@ void FloatingPointHelper::LoadFloatOperand(MacroAssembler* masm,
|
||||
}
|
||||
|
||||
|
||||
void FloatingPointHelper::LoadSSE2Operands(MacroAssembler* masm) {
|
||||
Label load_smi_edx, load_eax, load_smi_eax, done;
|
||||
// Load operand in edx into xmm0.
|
||||
__ JumpIfSmi(edx, &load_smi_edx, Label::kNear);
|
||||
__ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
|
||||
|
||||
__ bind(&load_eax);
|
||||
// Load operand in eax into xmm1.
|
||||
__ JumpIfSmi(eax, &load_smi_eax, Label::kNear);
|
||||
__ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
|
||||
__ jmp(&done, Label::kNear);
|
||||
|
||||
__ bind(&load_smi_edx);
|
||||
__ SmiUntag(edx); // Untag smi before converting to float.
|
||||
__ cvtsi2sd(xmm0, edx);
|
||||
__ SmiTag(edx); // Retag smi for heap number overwriting test.
|
||||
__ jmp(&load_eax);
|
||||
|
||||
__ bind(&load_smi_eax);
|
||||
__ SmiUntag(eax); // Untag smi before converting to float.
|
||||
__ cvtsi2sd(xmm1, eax);
|
||||
__ SmiTag(eax); // Retag smi for heap number overwriting test.
|
||||
|
||||
__ bind(&done);
|
||||
}
|
||||
|
||||
|
||||
void FloatingPointHelper::LoadSSE2Operands(MacroAssembler* masm,
|
||||
Label* not_numbers) {
|
||||
Label load_smi_edx, load_eax, load_smi_eax, load_float_eax, done;
|
||||
|
@ -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,
|
||||
@ -1546,40 +1542,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);
|
||||
__ 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.
|
||||
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user