Lines Matching defs:destination

54   // the same as the destination, the destination is ignored and
76 // Clear this move's destination to indicate a pending move. The actual
77 // destination is saved on the side.
79 LOperand* destination = moves_[index].destination();
84 // as this one's destination blocks this one so recursively perform all
88 if (other_move.Blocks(destination) && !other_move.IsPending()) {
94 // not be swapped). Since this move's destination is B and there is
103 // pending, so restore its destination.
104 moves_[index].set_destination(destination);
108 if (moves_[index].source()->Equals(destination)) {
118 if (other_move.Blocks(destination)) {
134 LOperand* destination = move.destination();
135 if (destination->IsRegister()) ++destination_uses_[destination->index()];
148 LOperand* destination = moves_[index].destination();
149 if (destination->IsRegister()) {
150 --destination_uses_[destination->index()];
151 DCHECK(destination_uses_[destination->index()] >= 0);
194 // No operand should be the destination for more than one move.
196 LOperand* destination = moves_[i].destination();
198 SLOW_DCHECK(!destination->Equals(moves_[j].destination()));
255 LOperand* destination = moves_[index].destination();
257 EnsureRestored(destination);
259 // Dispatch on the source and destination operand kinds. Not all
262 DCHECK(destination->IsRegister() || destination->IsStackSlot());
264 Operand dst = cgen_->ToOperand(destination);
268 DCHECK(destination->IsRegister() || destination->IsStackSlot());
270 if (destination->IsRegister()) {
271 Register dst = cgen_->ToRegister(destination);
277 Operand dst = cgen_->ToOperand(destination);
284 if (destination->IsRegister()) {
285 Register dst = cgen_->ToRegister(destination);
293 } else if (destination->IsDoubleRegister()) {
298 XMMRegister dst = cgen_->ToDoubleRegister(destination);
308 DCHECK(destination->IsStackSlot());
309 Operand dst = cgen_->ToOperand(destination);
323 if (destination->IsDoubleRegister()) {
324 XMMRegister dst = cgen_->ToDoubleRegister(destination);
327 DCHECK(destination->IsDoubleStackSlot());
328 Operand dst = cgen_->ToOperand(destination);
332 DCHECK(destination->IsDoubleRegister() ||
333 destination->IsDoubleStackSlot());
335 if (destination->IsDoubleRegister()) {
336 XMMRegister dst = cgen_->ToDoubleRegister(destination);
340 Operand dst = cgen_->ToOperand(destination);
354 LOperand* destination = moves_[index].destination();
356 EnsureRestored(destination);
358 // Dispatch on the source and destination operand kinds. Not all
360 if (source->IsRegister() && destination->IsRegister()) {
363 Register dst = cgen_->ToRegister(destination);
366 } else if ((source->IsRegister() && destination->IsStackSlot()) ||
367 (source->IsStackSlot() && destination->IsRegister())) {
373 cgen_->ToRegister(source->IsRegister() ? source : destination);
375 cgen_->ToOperand(source->IsRegister() ? destination : source);
386 } else if (source->IsStackSlot() && destination->IsStackSlot()) {
392 Operand dst = cgen_->ToOperand(destination);
406 } else if (source->IsDoubleRegister() && destination->IsDoubleRegister()) {
410 XMMRegister dst = cgen_->ToDoubleRegister(destination);
414 } else if (source->IsDoubleRegister() || destination->IsDoubleRegister()) {
417 DCHECK(source->IsDoubleStackSlot() || destination->IsDoubleStackSlot());
420 : destination);
422 cgen_->ToOperand(source->IsDoubleRegister() ? destination : source);
426 } else if (source->IsDoubleStackSlot() && destination->IsDoubleStackSlot()) {
433 Operand dst0 = cgen_->ToOperand(destination);
434 Operand dst1 = cgen_->HighOperand(destination);
435 __ movsd(xmm0, dst0); // Save destination in xmm0.
436 __ mov(tmp, src0); // Then use tmp to copy source to destination.
447 // The swap of source and destination has executed a move from source to
448 // destination.
452 // this move's source or destination needs to have their source
457 moves_[i].set_source(destination);
458 } else if (other_move.Blocks(destination)) {
465 if (source->IsRegister() && destination->IsRegister()) {
467 source_uses_[source->index()] = source_uses_[destination->index()];
468 source_uses_[destination->index()] = temp;
470 // We don't have use counts for non-register operands like destination.
473 } else if (destination->IsRegister()) {
474 source_uses_[destination->index()] = CountSourceUses(destination);