Lines Matching refs:Instruction

29 using Op = Instruction::Op;
69 std::ostream& operator<<(std::ostream& out, const Instruction::Op& opcode) { in operator <<()
71 case Instruction::Op::kReturn: in operator <<()
74 case Instruction::Op::kReturnObject: in operator <<()
77 case Instruction::Op::kMove: in operator <<()
80 case Instruction::Op::kMoveObject: in operator <<()
83 case Instruction::Op::kInvokeVirtual: in operator <<()
86 case Instruction::Op::kInvokeDirect: in operator <<()
89 case Instruction::Op::kInvokeStatic: in operator <<()
92 case Instruction::Op::kInvokeInterface: in operator <<()
95 case Instruction::Op::kBindLabel: in operator <<()
98 case Instruction::Op::kBranchEqz: in operator <<()
101 case Instruction::Op::kBranchNEqz: in operator <<()
104 case Instruction::Op::kNew: in operator <<()
107 case Instruction::Op::kCheckCast: in operator <<()
110 case Instruction::Op::kGetStaticField: in operator <<()
113 case Instruction::Op::kSetStaticField: in operator <<()
116 case Instruction::Op::kGetInstanceField: in operator <<()
119 case Instruction::Op::kSetInstanceField: in operator <<()
174 method.AddInstruction(Instruction::InvokeVirtual(string_length.id, result, Value::Parameter(0))); in WriteTestDexFile()
355 void MethodBuilder::AddInstruction(Instruction instruction) { in AddInstruction()
359 void MethodBuilder::BuildReturn() { AddInstruction(Instruction::OpNoArgs(Op::kReturn)); } in BuildReturn()
362 AddInstruction(Instruction::OpWithArgs( in BuildReturn()
368 AddInstruction(Instruction::OpWithArgs(Op::kMove, target, Value::Immediate(value))); in BuildConst4()
373 AddInstruction(Instruction::OpWithArgs(Op::kMove, target, Value::String(dex_string->orig_index))); in BuildConstString()
383 void MethodBuilder::EncodeInstruction(const Instruction& instruction) { in EncodeInstruction()
385 case Instruction::Op::kReturn: in EncodeInstruction()
387 case Instruction::Op::kReturnObject: in EncodeInstruction()
389 case Instruction::Op::kMove: in EncodeInstruction()
390 case Instruction::Op::kMoveObject: in EncodeInstruction()
392 case Instruction::Op::kInvokeVirtual: in EncodeInstruction()
394 case Instruction::Op::kInvokeDirect: in EncodeInstruction()
396 case Instruction::Op::kInvokeStatic: in EncodeInstruction()
398 case Instruction::Op::kInvokeInterface: in EncodeInstruction()
400 case Instruction::Op::kBindLabel: in EncodeInstruction()
402 case Instruction::Op::kBranchEqz: in EncodeInstruction()
404 case Instruction::Op::kBranchNEqz: in EncodeInstruction()
406 case Instruction::Op::kNew: in EncodeInstruction()
408 case Instruction::Op::kCheckCast: in EncodeInstruction()
410 case Instruction::Op::kGetStaticField: in EncodeInstruction()
411 case Instruction::Op::kSetStaticField: in EncodeInstruction()
412 case Instruction::Op::kGetInstanceField: in EncodeInstruction()
413 case Instruction::Op::kSetInstanceField: in EncodeInstruction()
418 void MethodBuilder::EncodeReturn(const Instruction& instruction, ::dex::Opcode opcode) { in EncodeReturn()
429 void MethodBuilder::EncodeMove(const Instruction& instruction) { in EncodeMove()
430 CHECK(Instruction::Op::kMove == instruction.opcode() || in EncodeMove()
431 Instruction::Op::kMoveObject == instruction.opcode()); in EncodeMove()
452 auto opcode = instruction.opcode() == Instruction::Op::kMove in EncodeMove()
461 void MethodBuilder::EncodeInvoke(const Instruction& instruction, ::dex::Opcode opcode) { in EncodeInvoke()
487 Instruction::Op move_op; in EncodeInvoke()
492 move_op = Instruction::Op::kMoveObject; in EncodeInvoke()
494 move_op = prototype->ArgType(i - 1).is_object() ? Instruction::Op::kMoveObject in EncodeInvoke()
495 : Instruction::Op::kMove; in EncodeInvoke()
498 move_op = prototype->ArgType(i).is_object() ? Instruction::Op::kMoveObject in EncodeInvoke()
499 : Instruction::Op::kMove; in EncodeInvoke()
502 EncodeMove(Instruction::OpWithArgs(move_op, scratch[i], instruction.args()[i])); in EncodeInvoke()
531 void MethodBuilder::EncodeBranch(::dex::Opcode op, const Instruction& instruction) { in EncodeBranch()
545 void MethodBuilder::EncodeNew(const Instruction& instruction) { in EncodeNew()
546 CHECK_EQ(Instruction::Op::kNew, instruction.opcode()); in EncodeNew()
557 void MethodBuilder::EncodeCast(const Instruction& instruction) { in EncodeCast()
558 CHECK_EQ(Instruction::Op::kCheckCast, instruction.opcode()); in EncodeCast()
569 void MethodBuilder::EncodeFieldOp(const Instruction& instruction) { in EncodeFieldOp()
572 case Instruction::Op::kGetStaticField: { in EncodeFieldOp()
582 case Instruction::Op::kSetStaticField: { in EncodeFieldOp()
590 case Instruction::Op::kGetInstanceField: { in EncodeFieldOp()
601 case Instruction::Op::kSetInstanceField: { in EncodeFieldOp()