Lines Matching refs:byte
177 inline bool ArmExidx::GetByte(uint8_t* byte) { in GetByte() argument
182 *byte = data_.front(); in GetByte()
187 inline bool ArmExidx::DecodePrefix_10_00(uint8_t byte) { in DecodePrefix_10_00() argument
188 CHECK((byte >> 4) == 0x8); in DecodePrefix_10_00()
190 uint16_t registers = (byte & 0xf) << 8; in DecodePrefix_10_00()
191 if (!GetByte(&byte)) { in DecodePrefix_10_00()
195 registers |= byte; in DecodePrefix_10_00()
260 inline bool ArmExidx::DecodePrefix_10_01(uint8_t byte) { in DecodePrefix_10_01() argument
261 CHECK((byte >> 4) == 0x9); in DecodePrefix_10_01()
263 uint8_t bits = byte & 0xf; in DecodePrefix_10_01()
291 inline bool ArmExidx::DecodePrefix_10_10(uint8_t byte) { in DecodePrefix_10_10() argument
292 CHECK((byte >> 4) == 0xa); in DecodePrefix_10_10()
297 uint8_t end_reg = byte & 0x7; in DecodePrefix_10_10()
303 if (byte & 0x8) { in DecodePrefix_10_10()
311 if (byte & 0x8) { in DecodePrefix_10_10()
321 if (byte & 0x8) { in DecodePrefix_10_10()
331 for (size_t i = 4; i <= 4 + (byte & 0x7); i++) { in DecodePrefix_10_10()
339 if (byte & 0x8) { in DecodePrefix_10_10()
367 uint8_t byte; in DecodePrefix_10_11_0001() local
368 if (!GetByte(&byte)) { in DecodePrefix_10_11_0001()
372 if (byte == 0) { in DecodePrefix_10_11_0001()
380 if (byte >> 4) { in DecodePrefix_10_11_0001()
395 if (byte & (1 << i)) { in DecodePrefix_10_11_0001()
405 byte &= 0xf; in DecodePrefix_10_11_0001()
406 uint32_t cfa_offset = __builtin_popcount(byte) * 4; in DecodePrefix_10_11_0001()
409 if (byte & (1 << reg)) { in DecodePrefix_10_11_0001()
422 if (byte & (1 << reg)) { in DecodePrefix_10_11_0001()
447 uint8_t byte; in DecodePrefix_10_11_0010() local
449 if (!GetByte(&byte)) { in DecodePrefix_10_11_0010()
453 result |= (byte & 0x7f) << shift; in DecodePrefix_10_11_0010()
455 } while (byte & 0x80); in DecodePrefix_10_11_0010()
476 uint8_t byte; in DecodePrefix_10_11_0011() local
477 if (!GetByte(&byte)) { in DecodePrefix_10_11_0011()
482 uint8_t start_reg = byte >> 4; in DecodePrefix_10_11_0011()
483 uint8_t end_reg = start_reg + (byte & 0xf); in DecodePrefix_10_11_0011()
499 cfa_ += (byte & 0xf) * 8 + 12; in DecodePrefix_10_11_0011()
512 inline bool ArmExidx::DecodePrefix_10_11_1nnn(uint8_t byte) { in DecodePrefix_10_11_1nnn() argument
513 CHECK((byte & ~0x07) == 0xb8); in DecodePrefix_10_11_1nnn()
518 uint8_t last_reg = (byte & 0x7); in DecodePrefix_10_11_1nnn()
533 cfa_ += (byte & 0x7) * 8 + 12; in DecodePrefix_10_11_1nnn()
537 inline bool ArmExidx::DecodePrefix_10(uint8_t byte) { in DecodePrefix_10() argument
538 CHECK((byte >> 6) == 0x2); in DecodePrefix_10()
540 switch ((byte >> 4) & 0x3) { in DecodePrefix_10()
542 return DecodePrefix_10_00(byte); in DecodePrefix_10()
544 return DecodePrefix_10_01(byte); in DecodePrefix_10()
546 return DecodePrefix_10_10(byte); in DecodePrefix_10()
548 switch (byte & 0xf) { in DecodePrefix_10()
558 if (byte & 0x8) { in DecodePrefix_10()
559 return DecodePrefix_10_11_1nnn(byte); in DecodePrefix_10()
567 inline bool ArmExidx::DecodePrefix_11_000(uint8_t byte) { in DecodePrefix_11_000() argument
568 CHECK((byte & ~0x07) == 0xc0); in DecodePrefix_11_000()
570 uint8_t bits = byte & 0x7; in DecodePrefix_11_000()
572 if (!GetByte(&byte)) { in DecodePrefix_11_000()
579 uint8_t start_reg = byte >> 4; in DecodePrefix_11_000()
581 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_000()
595 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_000()
597 if (!GetByte(&byte)) { in DecodePrefix_11_000()
601 if (byte == 0) { in DecodePrefix_11_000()
608 } else if ((byte >> 4) == 0) { in DecodePrefix_11_000()
615 if (byte & (1 << i)) { in DecodePrefix_11_000()
633 cfa_ += __builtin_popcount(byte) * 4; in DecodePrefix_11_000()
647 uint8_t nnn = byte & 0x7; in DecodePrefix_11_000()
661 cfa_ += (byte & 0x7) * 8 + 8; in DecodePrefix_11_000()
666 inline bool ArmExidx::DecodePrefix_11_001(uint8_t byte) { in DecodePrefix_11_001() argument
667 CHECK((byte & ~0x07) == 0xc8); in DecodePrefix_11_001()
669 uint8_t bits = byte & 0x7; in DecodePrefix_11_001()
672 if (!GetByte(&byte)) { in DecodePrefix_11_001()
678 uint8_t start_reg = byte >> 4; in DecodePrefix_11_001()
680 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_001()
694 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_001()
697 if (!GetByte(&byte)) { in DecodePrefix_11_001()
703 uint8_t start_reg = byte >> 4; in DecodePrefix_11_001()
705 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_001()
719 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_001()
731 inline bool ArmExidx::DecodePrefix_11_010(uint8_t byte) { in DecodePrefix_11_010() argument
732 CHECK((byte & ~0x07) == 0xd0); in DecodePrefix_11_010()
738 uint8_t end_reg = byte & 0x7; in DecodePrefix_11_010()
751 cfa_ += (byte & 0x7) * 8 + 8; in DecodePrefix_11_010()
755 inline bool ArmExidx::DecodePrefix_11(uint8_t byte) { in DecodePrefix_11() argument
756 CHECK((byte >> 6) == 0x3); in DecodePrefix_11()
758 switch ((byte >> 3) & 0x7) { in DecodePrefix_11()
760 return DecodePrefix_11_000(byte); in DecodePrefix_11()
762 return DecodePrefix_11_001(byte); in DecodePrefix_11()
764 return DecodePrefix_11_010(byte); in DecodePrefix_11()
777 uint8_t byte; in Decode() local
778 if (!GetByte(&byte)) { in Decode()
782 switch (byte >> 6) { in Decode()
786 int32_t cfa_offset = ((byte & 0x3f) << 2) + 4; in Decode()
798 cfa_ += ((byte & 0x3f) << 2) + 4; in Decode()
803 uint32_t cfa_offset = ((byte & 0x3f) << 2) + 4; in Decode()
815 cfa_ -= ((byte & 0x3f) << 2) + 4; in Decode()
818 return DecodePrefix_10(byte); in Decode()
820 return DecodePrefix_11(byte); in Decode()