Home | History | Annotate | Download | only in dex

Lines Matching refs:code

54 constexpr bool IsInstructionDirectConst(Instruction::Code opcode) {
58 constexpr bool IsInstructionConstWide(Instruction::Code opcode) {
62 constexpr bool IsInstructionReturn(Instruction::Code opcode) {
66 constexpr bool IsInstructionInvoke(Instruction::Code opcode) {
71 constexpr bool IsInstructionQuickInvoke(Instruction::Code opcode) {
76 constexpr bool IsInstructionInvokeStatic(Instruction::Code opcode) {
80 constexpr bool IsInstructionGoto(Instruction::Code opcode) {
84 constexpr bool IsInstructionIfCc(Instruction::Code opcode) {
88 constexpr bool IsInstructionIfCcZ(Instruction::Code opcode) {
92 constexpr bool IsInstructionIGet(Instruction::Code code) {
93 return Instruction::IGET <= code && code <= Instruction::IGET_SHORT;
96 constexpr bool IsInstructionIPut(Instruction::Code code) {
97 return Instruction::IPUT <= code && code <= Instruction::IPUT_SHORT;
100 constexpr bool IsInstructionSGet(Instruction::Code code) {
101 return Instruction::SGET <= code && code <= Instruction::SGET_SHORT;
104 constexpr bool IsInstructionSPut(Instruction::Code code) {
105 return Instruction::SPUT <= code && code <= Instruction::SPUT_SHORT;
108 constexpr bool IsInstructionAGet(Instruction::Code code) {
109 return Instruction::AGET <= code && code <= Instruction::AGET_SHORT;
112 constexpr bool IsInstructionAPut(Instruction::Code code) {
113 return Instruction::APUT <= code && code <= Instruction::APUT_SHORT;
116 constexpr bool IsInstructionIGetOrIPut(Instruction::Code code) {
117 return Instruction::IGET <= code && code <= Instruction::IPUT_SHORT;
120 constexpr bool IsInstructionIGetQuickOrIPutQuick(Instruction::Code code) {
121 return (code >= Instruction::IGET_QUICK && code <= Instruction::IPUT_OBJECT_QUICK) ||
122 (code >= Instruction::IPUT_BOOLEAN_QUICK && code <= Instruction::IGET_SHORT_QUICK);
125 constexpr bool IsInstructionSGetOrSPut(Instruction::Code code) {
126 return Instruction::SGET <= code && code <= Instruction::SPUT_SHORT;
129 constexpr bool IsInstructionAGetOrAPut(Instruction::Code code) {
130 return Instruction::AGET <= code && code <= Instruction::APUT_SHORT;
133 constexpr bool IsInstructionBinOp2Addr(Instruction::Code code) {
134 return Instruction::ADD_INT_2ADDR <= code && code <= Instruction::REM_DOUBLE_2ADDR;
137 constexpr bool IsInvokeInstructionRange(Instruction::Code opcode) {
142 constexpr DexInvokeType InvokeInstructionType(Instruction::Code opcode) {
149 constexpr DexMemAccessType IGetMemAccessType(Instruction::Code code) {
150 DCHECK(IsInstructionIGet(code));
151 return static_cast<DexMemAccessType>(code - Instruction::IGET);
154 constexpr DexMemAccessType IPutMemAccessType(Instruction::Code code) {
155 DCHECK(IsInstructionIPut(code));
156 return static_cast<DexMemAccessType>(code - Instruction::IPUT);
159 constexpr DexMemAccessType SGetMemAccessType(Instruction::Code code) {
160 DCHECK(IsInstructionSGet(code));
161 return static_cast<DexMemAccessType>(code - Instruction::SGET);
164 constexpr DexMemAccessType SPutMemAccessType(Instruction::Code code) {
165 DCHECK(IsInstructionSPut(code));
166 return static_cast<DexMemAccessType>(code - Instruction::SPUT);
169 constexpr DexMemAccessType AGetMemAccessType(Instruction::Code code) {
170 DCHECK(IsInstructionAGet(code));
171 return static_cast<DexMemAccessType>(code - Instruction::AGET);
174 constexpr DexMemAccessType APutMemAccessType(Instruction::Code code) {
175 DCHECK(IsInstructionAPut(code));
176 return static_cast<DexMemAccessType>(code - Instruction::APUT);
179 constexpr DexMemAccessType IGetOrIPutMemAccessType(Instruction::Code code) {
180 DCHECK(IsInstructionIGetOrIPut(code));
181 return (code >= Instruction::IPUT) ? IPutMemAccessType(code) : IGetMemAccessType(code);
184 inline DexMemAccessType IGetQuickOrIPutQuickMemAccessType(Instruction::Code code) {
185 DCHECK(IsInstructionIGetQuickOrIPutQuick(code));
186 switch (code) {
202 LOG(FATAL) << code;
207 constexpr DexMemAccessType SGetOrSPutMemAccessType(Instruction::Code code) {
208 DCHECK(IsInstructionSGetOrSPut(code));
209 return (code >= Instruction::SPUT) ? SPutMemAccessType(code) : SGetMemAccessType(code);
212 constexpr DexMemAccessType AGetOrAPutMemAccessType(Instruction::Code code) {
213 DCHECK(IsInstructionAGetOrAPut(code));
214 return (code >= Instruction::APUT) ? APutMemAccessType(code) : AGetMemAccessType(code);