Revert "Introduce MoveDouble to the X64 MacroAssembler" (r17383)
The direction is to use "movl, movq, movp" instead of introducing new Macro assembler instructions. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/101083002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
e8175a3e9f
commit
7744134643
@ -422,7 +422,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject(
|
|||||||
// Non-hole double, copy value into a heap number.
|
// Non-hole double, copy value into a heap number.
|
||||||
__ AllocateHeapNumber(rax, r15, &gc_required);
|
__ AllocateHeapNumber(rax, r15, &gc_required);
|
||||||
// rax: new heap number
|
// rax: new heap number
|
||||||
__ MoveDouble(FieldOperand(rax, HeapNumber::kValueOffset), r14);
|
__ movq(FieldOperand(rax, HeapNumber::kValueOffset), r14);
|
||||||
__ movp(FieldOperand(r11,
|
__ movp(FieldOperand(r11,
|
||||||
r9,
|
r9,
|
||||||
times_pointer_size,
|
times_pointer_size,
|
||||||
|
@ -3417,10 +3417,10 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
|||||||
__ LoadFromSafepointRegisterSlot(input_reg, input_reg);
|
__ LoadFromSafepointRegisterSlot(input_reg, input_reg);
|
||||||
|
|
||||||
__ bind(&allocated);
|
__ bind(&allocated);
|
||||||
__ MoveDouble(tmp2, FieldOperand(input_reg, HeapNumber::kValueOffset));
|
__ movq(tmp2, FieldOperand(input_reg, HeapNumber::kValueOffset));
|
||||||
__ shl(tmp2, Immediate(1));
|
__ shl(tmp2, Immediate(1));
|
||||||
__ shr(tmp2, Immediate(1));
|
__ shr(tmp2, Immediate(1));
|
||||||
__ MoveDouble(FieldOperand(tmp, HeapNumber::kValueOffset), tmp2);
|
__ movq(FieldOperand(tmp, HeapNumber::kValueOffset), tmp2);
|
||||||
__ StoreToSafepointRegisterSlot(input_reg, tmp);
|
__ StoreToSafepointRegisterSlot(input_reg, tmp);
|
||||||
|
|
||||||
__ bind(&done);
|
__ bind(&done);
|
||||||
|
@ -841,9 +841,6 @@ class MacroAssembler: public Assembler {
|
|||||||
void Pop(Register dst) { pop(dst); }
|
void Pop(Register dst) { pop(dst); }
|
||||||
void PushReturnAddressFrom(Register src) { push(src); }
|
void PushReturnAddressFrom(Register src) { push(src); }
|
||||||
void PopReturnAddressTo(Register dst) { pop(dst); }
|
void PopReturnAddressTo(Register dst) { pop(dst); }
|
||||||
void MoveDouble(Register dst, const Operand& src) { movq(dst, src); }
|
|
||||||
void MoveDouble(const Operand& dst, Register src) { movq(dst, src); }
|
|
||||||
|
|
||||||
void Move(Register dst, ExternalReference ext) {
|
void Move(Register dst, ExternalReference ext) {
|
||||||
movp(dst, reinterpret_cast<Address>(ext.address()),
|
movp(dst, reinterpret_cast<Address>(ext.address()),
|
||||||
RelocInfo::EXTERNAL_REFERENCE);
|
RelocInfo::EXTERNAL_REFERENCE);
|
||||||
|
Loading…
Reference in New Issue
Block a user