• Home
  • Raw
  • Download

Lines Matching refs:byte

176 inline bool ArmExidx::GetByte(uint8_t* byte) {  in GetByte()  argument
181 *byte = data_.front(); in GetByte()
186 inline bool ArmExidx::DecodePrefix_10_00(uint8_t byte) { in DecodePrefix_10_00() argument
187 CHECK((byte >> 4) == 0x8); in DecodePrefix_10_00()
189 uint16_t registers = (byte & 0xf) << 8; in DecodePrefix_10_00()
190 if (!GetByte(&byte)) { in DecodePrefix_10_00()
194 registers |= byte; in DecodePrefix_10_00()
259 inline bool ArmExidx::DecodePrefix_10_01(uint8_t byte) { in DecodePrefix_10_01() argument
260 CHECK((byte >> 4) == 0x9); in DecodePrefix_10_01()
262 uint8_t bits = byte & 0xf; in DecodePrefix_10_01()
290 inline bool ArmExidx::DecodePrefix_10_10(uint8_t byte) { in DecodePrefix_10_10() argument
291 CHECK((byte >> 4) == 0xa); in DecodePrefix_10_10()
296 uint8_t end_reg = byte & 0x7; in DecodePrefix_10_10()
302 if (byte & 0x8) { in DecodePrefix_10_10()
310 if (byte & 0x8) { in DecodePrefix_10_10()
320 if (byte & 0x8) { in DecodePrefix_10_10()
330 for (size_t i = 4; i <= 4 + (byte & 0x7); i++) { in DecodePrefix_10_10()
338 if (byte & 0x8) { in DecodePrefix_10_10()
366 uint8_t byte; in DecodePrefix_10_11_0001() local
367 if (!GetByte(&byte)) { in DecodePrefix_10_11_0001()
371 if (byte == 0) { in DecodePrefix_10_11_0001()
379 if (byte >> 4) { in DecodePrefix_10_11_0001()
394 if (byte & (1 << i)) { in DecodePrefix_10_11_0001()
404 byte &= 0xf; in DecodePrefix_10_11_0001()
405 uint32_t cfa_offset = __builtin_popcount(byte) * 4; in DecodePrefix_10_11_0001()
408 if (byte & (1 << reg)) { in DecodePrefix_10_11_0001()
421 if (byte & (1 << reg)) { in DecodePrefix_10_11_0001()
446 uint8_t byte; in DecodePrefix_10_11_0010() local
448 if (!GetByte(&byte)) { in DecodePrefix_10_11_0010()
452 result |= (byte & 0x7f) << shift; in DecodePrefix_10_11_0010()
454 } while (byte & 0x80); in DecodePrefix_10_11_0010()
475 uint8_t byte; in DecodePrefix_10_11_0011() local
476 if (!GetByte(&byte)) { in DecodePrefix_10_11_0011()
481 uint8_t start_reg = byte >> 4; in DecodePrefix_10_11_0011()
482 uint8_t end_reg = start_reg + (byte & 0xf); in DecodePrefix_10_11_0011()
498 cfa_ += (byte & 0xf) * 8 + 12; in DecodePrefix_10_11_0011()
511 inline bool ArmExidx::DecodePrefix_10_11_1nnn(uint8_t byte) { in DecodePrefix_10_11_1nnn() argument
512 CHECK((byte & ~0x07) == 0xb8); in DecodePrefix_10_11_1nnn()
517 uint8_t last_reg = (byte & 0x7); in DecodePrefix_10_11_1nnn()
532 cfa_ += (byte & 0x7) * 8 + 12; in DecodePrefix_10_11_1nnn()
536 inline bool ArmExidx::DecodePrefix_10(uint8_t byte) { in DecodePrefix_10() argument
537 CHECK((byte >> 6) == 0x2); in DecodePrefix_10()
539 switch ((byte >> 4) & 0x3) { in DecodePrefix_10()
541 return DecodePrefix_10_00(byte); in DecodePrefix_10()
543 return DecodePrefix_10_01(byte); in DecodePrefix_10()
545 return DecodePrefix_10_10(byte); in DecodePrefix_10()
547 switch (byte & 0xf) { in DecodePrefix_10()
557 if (byte & 0x8) { in DecodePrefix_10()
558 return DecodePrefix_10_11_1nnn(byte); in DecodePrefix_10()
566 inline bool ArmExidx::DecodePrefix_11_000(uint8_t byte) { in DecodePrefix_11_000() argument
567 CHECK((byte & ~0x07) == 0xc0); in DecodePrefix_11_000()
569 uint8_t bits = byte & 0x7; in DecodePrefix_11_000()
571 if (!GetByte(&byte)) { in DecodePrefix_11_000()
578 uint8_t start_reg = byte >> 4; in DecodePrefix_11_000()
580 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_000()
594 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_000()
596 if (!GetByte(&byte)) { in DecodePrefix_11_000()
600 if (byte == 0) { in DecodePrefix_11_000()
607 } else if ((byte >> 4) == 0) { in DecodePrefix_11_000()
614 if (byte & (1 << i)) { in DecodePrefix_11_000()
632 cfa_ += __builtin_popcount(byte) * 4; in DecodePrefix_11_000()
646 uint8_t nnn = byte & 0x7; in DecodePrefix_11_000()
660 cfa_ += (byte & 0x7) * 8 + 8; in DecodePrefix_11_000()
665 inline bool ArmExidx::DecodePrefix_11_001(uint8_t byte) { in DecodePrefix_11_001() argument
666 CHECK((byte & ~0x07) == 0xc8); in DecodePrefix_11_001()
668 uint8_t bits = byte & 0x7; in DecodePrefix_11_001()
671 if (!GetByte(&byte)) { in DecodePrefix_11_001()
677 uint8_t start_reg = byte >> 4; in DecodePrefix_11_001()
679 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_001()
693 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_001()
696 if (!GetByte(&byte)) { in DecodePrefix_11_001()
702 uint8_t start_reg = byte >> 4; in DecodePrefix_11_001()
704 uint8_t end_reg = byte & 0xf; in DecodePrefix_11_001()
718 cfa_ += (byte & 0xf) * 8 + 8; in DecodePrefix_11_001()
730 inline bool ArmExidx::DecodePrefix_11_010(uint8_t byte) { in DecodePrefix_11_010() argument
731 CHECK((byte & ~0x07) == 0xd0); in DecodePrefix_11_010()
737 uint8_t end_reg = byte & 0x7; in DecodePrefix_11_010()
750 cfa_ += (byte & 0x7) * 8 + 8; in DecodePrefix_11_010()
754 inline bool ArmExidx::DecodePrefix_11(uint8_t byte) { in DecodePrefix_11() argument
755 CHECK((byte >> 6) == 0x3); in DecodePrefix_11()
757 switch ((byte >> 3) & 0x7) { in DecodePrefix_11()
759 return DecodePrefix_11_000(byte); in DecodePrefix_11()
761 return DecodePrefix_11_001(byte); in DecodePrefix_11()
763 return DecodePrefix_11_010(byte); in DecodePrefix_11()
776 uint8_t byte; in Decode() local
777 if (!GetByte(&byte)) { in Decode()
781 switch (byte >> 6) { in Decode()
785 int32_t cfa_offset = ((byte & 0x3f) << 2) + 4; in Decode()
797 cfa_ += ((byte & 0x3f) << 2) + 4; in Decode()
802 uint32_t cfa_offset = ((byte & 0x3f) << 2) + 4; in Decode()
814 cfa_ -= ((byte & 0x3f) << 2) + 4; in Decode()
817 return DecodePrefix_10(byte); in Decode()
819 return DecodePrefix_11(byte); in Decode()