Lines Matching refs:bytecode
25 Opcode OpcodeFromBytecode(u2 bytecode) { in OpcodeFromBytecode() argument
26 Opcode opcode = Opcode(bytecode & 0xff); in OpcodeFromBytecode()
104 size_t GetWidthFromBytecode(const u2* bytecode) { in GetWidthFromBytecode() argument
106 if (*bytecode == kPackedSwitchSignature) { in GetWidthFromBytecode()
107 width = 4 + bytecode[1] * 2; in GetWidthFromBytecode()
108 } else if (*bytecode == kSparseSwitchSignature) { in GetWidthFromBytecode()
109 width = 2 + bytecode[1] * 4; in GetWidthFromBytecode()
110 } else if (*bytecode == kArrayDataSignature) { in GetWidthFromBytecode()
111 u2 elemWidth = bytecode[1]; in GetWidthFromBytecode()
112 u4 len = bytecode[2] | (((u4)bytecode[3]) << 16); in GetWidthFromBytecode()
117 GetFormatFromOpcode(OpcodeFromBytecode(bytecode[0]))); in GetWidthFromBytecode()
147 Instruction DecodeInstruction(const u2* bytecode) { in DecodeInstruction() argument
148 u2 inst = bytecode[0]; in DecodeInstruction()
173 dec.vA = s2(bytecode[1]); // sign-extend 16-bit value in DecodeInstruction()
179 dec.vB = bytecode[1]; in DecodeInstruction()
184 dec.vB = s2(bytecode[1]); // sign-extend 16-bit value in DecodeInstruction()
191 dec.vB = bytecode[1]; in DecodeInstruction()
195 dec.vB = bytecode[1] & 0xff; in DecodeInstruction()
196 dec.vC = bytecode[1] >> 8; in DecodeInstruction()
200 dec.vB = bytecode[1] & 0xff; in DecodeInstruction()
201 dec.vC = s1(bytecode[1] >> 8); // sign-extend 8-bit value in DecodeInstruction()
207 dec.vC = s2(bytecode[1]); // sign-extend 16-bit value in DecodeInstruction()
213 dec.vC = bytecode[1]; in DecodeInstruction()
216 dec.vA = FetchU4(bytecode + 1); in DecodeInstruction()
221 dec.vB = FetchU4(bytecode + 1); in DecodeInstruction()
224 dec.vA = bytecode[1]; in DecodeInstruction()
225 dec.vB = bytecode[2]; in DecodeInstruction()
229 dec.vB = FetchU4(bytecode + 1); in DecodeInstruction()
235 dec.vB = bytecode[1]; in DecodeInstruction()
237 u2 regList = bytecode[2]; in DecodeInstruction()
276 dec.vB = bytecode[1]; in DecodeInstruction()
277 dec.vC = bytecode[2]; in DecodeInstruction()
282 dec.vB = bytecode[1]; // vB meth@BBBB in DecodeInstruction()
284 u2 regList = bytecode[2]; in DecodeInstruction()
290 dec.arg[4] = bytecode[3]; // vH proto@HHHH in DecodeInstruction()
296 dec.vB = bytecode[1]; in DecodeInstruction()
297 dec.vC = bytecode[2]; in DecodeInstruction()
298 dec.arg[4] = bytecode[3]; // vH proto@HHHH in DecodeInstruction()
302 dec.vB_wide = FetchU8(bytecode + 1); in DecodeInstruction()