Lines Matching defs:opcode

54 constexpr bool IsInstructionDirectConst(Instruction::Code opcode) {
55 return Instruction::CONST_4 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16;
58 constexpr bool IsInstructionConstWide(Instruction::Code opcode) {
59 return Instruction::CONST_WIDE_16 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16;
62 constexpr bool IsInstructionReturn(Instruction::Code opcode) {
63 return Instruction::RETURN_VOID <= opcode && opcode <= Instruction::RETURN_OBJECT;
66 constexpr bool IsInstructionInvoke(Instruction::Code opcode) {
67 return Instruction::INVOKE_VIRTUAL <= opcode && opcode <= Instruction::INVOKE_INTERFACE_RANGE &&
68 opcode != Instruction::RETURN_VOID_NO_BARRIER;
71 constexpr bool IsInstructionQuickInvoke(Instruction::Code opcode) {
72 return opcode == Instruction::INVOKE_VIRTUAL_QUICK ||
73 opcode == Instruction::INVOKE_VIRTUAL_RANGE_QUICK;
76 constexpr bool IsInstructionInvokeStatic(Instruction::Code opcode) {
77 return opcode == Instruction::INVOKE_STATIC || opcode == Instruction::INVOKE_STATIC_RANGE;
80 constexpr bool IsInstructionGoto(Instruction::Code opcode) {
81 return Instruction::GOTO <= opcode && opcode <= Instruction::GOTO_32;
84 constexpr bool IsInstructionIfCc(Instruction::Code opcode) {
85 return Instruction::IF_EQ <= opcode && opcode <= Instruction::IF_LE;
88 constexpr bool IsInstructionIfCcZ(Instruction::Code opcode) {
89 return Instruction::IF_EQZ <= opcode && opcode <= Instruction::IF_LEZ;
139 constexpr bool IsInvokeInstructionRange(Instruction::Code opcode) {
141 DCHECK(IsInstructionInvoke(opcode));
143 return opcode >= Instruction::INVOKE_VIRTUAL_RANGE;
146 constexpr DexInvokeType InvokeInstructionType(Instruction::Code opcode) {
148 DCHECK(IsInstructionInvoke(opcode));
150 return static_cast<DexInvokeType>(IsInvokeInstructionRange(opcode)
151 ? (opcode - Instruction::INVOKE_VIRTUAL_RANGE)
152 : (opcode - Instruction::INVOKE_VIRTUAL));