Lines Matching defs:Opcode
60 template <Instruction::Code opcode> bool Opcode();
112 template <Instruction::Code opcode>
113 bool Matcher::Opcode() {
114 return instruction_->Opcode() == opcode;
119 return IsInstructionDirectConst(instruction_->Opcode()) &&
120 (instruction_->Opcode() == Instruction::CONST_WIDE ? instruction_->VRegB_51l() == 0
126 return IsInstructionIPut(instruction_->Opcode()) &&
144 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT);
165 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT);
187 DCHECK(IsInstructionDirectConst(const0->Opcode()));
188 DCHECK((const0->Opcode() == Instruction::CONST_WIDE) ? const0->VRegB_51l() == 0u
190 uint16_t base_mask = IsInstructionConstWide(const0->Opcode()) ? 3u : 1u;
215 DCHECK(IsInstructionIPut(new_iput->Opcode()));
283 &Matcher::Required<&Matcher::Opcode<Instruction::INVOKE_DIRECT>>,
287 &Matcher::Required<&Matcher::Opcode<Instruction::RETURN_VOID>>,
305 instruction->Opcode() != Instruction::RETURN_VOID;
307 if (instruction->Opcode() == Instruction::INVOKE_DIRECT) {
323 DCHECK_EQ(Instruction::At(target_method->GetCodeItem()->insns_)->Opcode(),
348 } else if (IsInstructionDirectConst(instruction->Opcode())) {
354 DCHECK(IsInstructionIPut(instruction->Opcode()));
391 result->opcode = kInlineOpConstructor;
468 Instruction::Code opcode = instruction->Opcode();
470 switch (opcode) {
473 result->opcode = kInlineOpNop;
541 Instruction::Code return_opcode = return_instruction->Opcode();
549 result->opcode = kInlineOpReturnArg;
565 Instruction::Code return_opcode = return_instruction->Opcode();
575 if (instruction->Opcode() == Instruction::CONST_HIGH16) {
586 result->opcode = kInlineOpNonWideConst;
599 Instruction::Code opcode = instruction->Opcode();
600 DCHECK(IsInstructionIGet(opcode));
603 Instruction::Code return_opcode = return_instruction->Opcode();
604 if (!(return_opcode == Instruction::RETURN_WIDE && opcode == Instruction::IGET_WIDE) &&
605 !(return_opcode == Instruction::RETURN_OBJECT && opcode == Instruction::IGET_OBJECT) &&
606 !(return_opcode == Instruction::RETURN && opcode != Instruction::IGET_WIDE &&
607 opcode != Instruction::IGET_OBJECT)) {
623 DCHECK_LT(opcode == Instruction::IGET_WIDE ? dst_reg + 1 : dst_reg, code_item->registers_size_);
647 result->opcode = kInlineOpIGet;
649 data->op_variant = IGetVariant(opcode);
664 Instruction::Code opcode = instruction->Opcode();
665 DCHECK(IsInstructionIPut(opcode));
668 Instruction::Code return_opcode = return_instruction->Opcode();
691 DCHECK_LT(opcode == Instruction::IPUT_WIDE ? src_reg + 1 : src_reg, code_item->registers_size_);
716 result->opcode = kInlineOpIPut;
718 data->op_variant = IPutVariant(opcode);