Lines Matching refs:InstructionOperand
47 class InstructionOperand : public ZoneObject {
60 InstructionOperand() : value_(KindField::encode(INVALID)) {} in InstructionOperand() function
61 InstructionOperand(Kind kind, int index) { ConvertTo(kind, index); } in InstructionOperand() function
71 bool Equals(InstructionOperand* other) const { in Equals()
92 typedef ZoneVector<InstructionOperand*> InstructionOperandVector;
94 OStream& operator<<(OStream& os, const InstructionOperand& op);
96 class UnallocatedOperand : public InstructionOperand {
124 : InstructionOperand(UNALLOCATED, 0) { in UnallocatedOperand()
131 : InstructionOperand(UNALLOCATED, 0) { in UnallocatedOperand()
139 : InstructionOperand(UNALLOCATED, 0) { in UnallocatedOperand()
148 : InstructionOperand(UNALLOCATED, 0) { in UnallocatedOperand()
160 static const UnallocatedOperand* cast(const InstructionOperand* op) { in cast()
165 static UnallocatedOperand* cast(InstructionOperand* op) { in cast()
272 MoveOperands(InstructionOperand* source, InstructionOperand* destination) in MoveOperands()
275 InstructionOperand* source() const { return source_; } in source()
276 void set_source(InstructionOperand* operand) { source_ = operand; } in set_source()
278 InstructionOperand* destination() const { return destination_; } in destination()
279 void set_destination(InstructionOperand* operand) { destination_ = operand; } in set_destination()
286 bool Blocks(InstructionOperand* operand) const { in Blocks()
309 InstructionOperand* source_;
310 InstructionOperand* destination_;
315 template <InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
316 class SubKindOperand FINAL : public InstructionOperand {
324 static SubKindOperand* cast(InstructionOperand* op) { in cast()
335 SubKindOperand() : InstructionOperand() {} in SubKindOperand()
337 : InstructionOperand(kOperandKind, index) {} in SubKindOperand()
342 typedef SubKindOperand<InstructionOperand::type, number> name##Operand;
351 void AddMove(InstructionOperand* from, InstructionOperand* to, Zone* zone) { in INSTRUCTION_OPERAND_LIST()
375 const ZoneList<InstructionOperand*>* GetNormalizedOperands() { in GetNormalizedOperands()
389 void RecordPointer(InstructionOperand* op, Zone* zone);
390 void RemovePointer(InstructionOperand* op);
391 void RecordUntagged(InstructionOperand* op, Zone* zone);
396 ZoneList<InstructionOperand*> pointer_operands_;
397 ZoneList<InstructionOperand*> untagged_operands_;
407 InstructionOperand* OutputAt(size_t i) const { in OutputAt()
413 InstructionOperand* Output() const { return OutputAt(0); } in Output()
416 InstructionOperand* InputAt(size_t i) const { in InputAt()
422 InstructionOperand* TempAt(size_t i) const { in TempAt()
443 size_t output_count, InstructionOperand** outputs, in New()
444 size_t input_count, InstructionOperand** inputs, in New()
445 size_t temp_count, InstructionOperand** temps) { in New()
450 InstructionOperand* none = NULL; in New()
508 InstructionOperand** outputs, size_t input_count, in Instruction()
509 InstructionOperand** inputs, size_t temp_count, in Instruction()
510 InstructionOperand** temps) in Instruction()
538 InstructionOperand* operands_[1];
844 void AddGapMove(int index, InstructionOperand* from, InstructionOperand* to);