Lines Matching refs:Decoder
115 const size_t Decoder::PDataEntrySize = sizeof(RuntimeFunction);
118 const Decoder::RingEntry Decoder::Ring[] = {
119 { 0x80, 0x00, 1, &Decoder::opcode_0xxxxxxx }, // UOP_STACK_FREE (16-bit)
120 { 0xc0, 0x80, 2, &Decoder::opcode_10Lxxxxx }, // UOP_POP (32-bit)
121 { 0xf0, 0xc0, 1, &Decoder::opcode_1100xxxx }, // UOP_STACK_SAVE (16-bit)
122 { 0xf8, 0xd0, 1, &Decoder::opcode_11010Lxx }, // UOP_POP (16-bit)
123 { 0xf8, 0xd8, 1, &Decoder::opcode_11011Lxx }, // UOP_POP (32-bit)
124 { 0xf8, 0xe0, 1, &Decoder::opcode_11100xxx }, // UOP_VPOP (32-bit)
125 { 0xfc, 0xe8, 2, &Decoder::opcode_111010xx }, // UOP_STACK_FREE (32-bit)
126 { 0xfe, 0xec, 2, &Decoder::opcode_1110110L }, // UOP_POP (16-bit)
127 { 0xff, 0xee, 2, &Decoder::opcode_11101110 }, // UOP_MICROSOFT_SPECIFIC (16-bit)
132 { 0xff, 0xef, 2, &Decoder::opcode_11101111 }, // UOP_LDRPC_POSTINC (32-bit)
133 { 0xff, 0xf5, 2, &Decoder::opcode_11110101 }, // UOP_VPOP (32-bit)
134 { 0xff, 0xf6, 2, &Decoder::opcode_11110110 }, // UOP_VPOP (32-bit)
135 { 0xff, 0xf7, 3, &Decoder::opcode_11110111 }, // UOP_STACK_RESTORE (16-bit)
136 { 0xff, 0xf8, 4, &Decoder::opcode_11111000 }, // UOP_STACK_RESTORE (16-bit)
137 { 0xff, 0xf9, 3, &Decoder::opcode_11111001 }, // UOP_STACK_RESTORE (32-bit)
138 { 0xff, 0xfa, 4, &Decoder::opcode_11111010 }, // UOP_STACK_RESTORE (32-bit)
139 { 0xff, 0xfb, 1, &Decoder::opcode_11111011 }, // UOP_NOP (16-bit)
140 { 0xff, 0xfc, 1, &Decoder::opcode_11111100 }, // UOP_NOP (32-bit)
141 { 0xff, 0xfd, 1, &Decoder::opcode_11111101 }, // UOP_NOP (16-bit) / END
142 { 0xff, 0xfe, 1, &Decoder::opcode_11111110 }, // UOP_NOP (32-bit) / END
143 { 0xff, 0xff, 1, &Decoder::opcode_11111111 }, // UOP_END
149 const Decoder::RingEntry Decoder::Ring64[] = {
150 { 0xe0, 0x00, 1, &Decoder::opcode_alloc_s },
151 { 0xe0, 0x20, 1, &Decoder::opcode_save_r19r20_x },
152 { 0xc0, 0x40, 1, &Decoder::opcode_save_fplr },
153 { 0xc0, 0x80, 1, &Decoder::opcode_save_fplr_x },
154 { 0xf8, 0xc0, 2, &Decoder::opcode_alloc_m },
155 { 0xfc, 0xc8, 2, &Decoder::opcode_save_regp },
156 { 0xfc, 0xcc, 2, &Decoder::opcode_save_regp_x },
157 { 0xfc, 0xd0, 2, &Decoder::opcode_save_reg },
158 { 0xfe, 0xd4, 2, &Decoder::opcode_save_reg_x },
159 { 0xfe, 0xd6, 2, &Decoder::opcode_save_lrpair },
160 { 0xfe, 0xd8, 2, &Decoder::opcode_save_fregp },
161 { 0xfe, 0xda, 2, &Decoder::opcode_save_fregp_x },
162 { 0xfe, 0xdc, 2, &Decoder::opcode_save_freg },
163 { 0xff, 0xde, 2, &Decoder::opcode_save_freg_x },
164 { 0xff, 0xe0, 4, &Decoder::opcode_alloc_l },
165 { 0xff, 0xe1, 1, &Decoder::opcode_setfp },
166 { 0xff, 0xe2, 2, &Decoder::opcode_addfp },
167 { 0xff, 0xe3, 1, &Decoder::opcode_nop },
168 { 0xff, 0xe4, 1, &Decoder::opcode_end },
169 { 0xff, 0xe5, 1, &Decoder::opcode_end_c },
170 { 0xff, 0xe6, 1, &Decoder::opcode_save_next },
171 { 0xff, 0xe8, 1, &Decoder::opcode_trap_frame },
172 { 0xff, 0xe9, 1, &Decoder::opcode_machine_frame },
173 { 0xff, 0xea, 1, &Decoder::opcode_context },
174 { 0xff, 0xec, 1, &Decoder::opcode_clear_unwound_to_call },
203 void Decoder::printGPRMask(uint16_t GPRMask) { in printGPRMask()
214 void Decoder::printVFPMask(uint32_t VFPMask) { in printVFPMask()
222 Decoder::getSectionContaining(const COFFObjectFile &COFF, uint64_t VA) { in getSectionContaining()
233 ErrorOr<object::SymbolRef> Decoder::getSymbol(const COFFObjectFile &COFF, in getSymbol()
251 ErrorOr<SymbolRef> Decoder::getRelocatedSymbol(const COFFObjectFile &, in getRelocatedSymbol()
262 SymbolRef Decoder::getPreferredSymbol(const COFFObjectFile &COFF, SymbolRef Sym, in getPreferredSymbol()
289 ErrorOr<SymbolRef> Decoder::getSymbolForLocation( in getSymbolForLocation()
326 bool Decoder::opcode_0xxxxxxx(const uint8_t *OC, unsigned &Offset, in opcode_0xxxxxxx()
337 bool Decoder::opcode_10Lxxxxx(const uint8_t *OC, unsigned &Offset, in opcode_10Lxxxxx()
356 bool Decoder::opcode_1100xxxx(const uint8_t *OC, unsigned &Offset, in opcode_1100xxxx()
368 bool Decoder::opcode_11010Lxx(const uint8_t *OC, unsigned &Offset, in opcode_11010Lxx()
385 bool Decoder::opcode_11011Lxx(const uint8_t *OC, unsigned &Offset, in opcode_11011Lxx()
402 bool Decoder::opcode_11100xxx(const uint8_t *OC, unsigned &Offset, in opcode_11100xxx()
416 bool Decoder::opcode_111010xx(const uint8_t *OC, unsigned &Offset, in opcode_111010xx()
429 bool Decoder::opcode_1110110L(const uint8_t *OC, unsigned &Offset, in opcode_1110110L()
443 bool Decoder::opcode_11101110(const uint8_t *OC, unsigned &Offset, in opcode_11101110()
459 bool Decoder::opcode_11101111(const uint8_t *OC, unsigned &Offset, in opcode_11101111()
477 bool Decoder::opcode_11110101(const uint8_t *OC, unsigned &Offset, in opcode_11110101()
492 bool Decoder::opcode_11110110(const uint8_t *OC, unsigned &Offset, in opcode_11110110()
507 bool Decoder::opcode_11110111(const uint8_t *OC, unsigned &Offset, in opcode_11110111()
520 bool Decoder::opcode_11111000(const uint8_t *OC, unsigned &Offset, in opcode_11111000()
535 bool Decoder::opcode_11111001(const uint8_t *OC, unsigned &Offset, in opcode_11111001()
548 bool Decoder::opcode_11111010(const uint8_t *OC, unsigned &Offset, in opcode_11111010()
563 bool Decoder::opcode_11111011(const uint8_t *OC, unsigned &Offset, in opcode_11111011()
570 bool Decoder::opcode_11111100(const uint8_t *OC, unsigned &Offset, in opcode_11111100()
577 bool Decoder::opcode_11111101(const uint8_t *OC, unsigned &Offset, in opcode_11111101()
584 bool Decoder::opcode_11111110(const uint8_t *OC, unsigned &Offset, in opcode_11111110()
591 bool Decoder::opcode_11111111(const uint8_t *OC, unsigned &Offset, in opcode_11111111()
598 bool Decoder::opcode_alloc_s(const uint8_t *OC, unsigned &Offset, in opcode_alloc_s()
608 bool Decoder::opcode_save_r19r20_x(const uint8_t *OC, unsigned &Offset, in opcode_save_r19r20_x()
621 bool Decoder::opcode_save_fplr(const uint8_t *OC, unsigned &Offset, in opcode_save_fplr()
631 bool Decoder::opcode_save_fplr_x(const uint8_t *OC, unsigned &Offset, in opcode_save_fplr_x()
644 bool Decoder::opcode_alloc_m(const uint8_t *OC, unsigned &Offset, in opcode_alloc_m()
657 bool Decoder::opcode_save_regp(const uint8_t *OC, unsigned &Offset, in opcode_save_regp()
672 bool Decoder::opcode_save_regp_x(const uint8_t *OC, unsigned &Offset, in opcode_save_regp_x()
693 bool Decoder::opcode_save_reg(const uint8_t *OC, unsigned &Offset, in opcode_save_reg()
708 bool Decoder::opcode_save_reg_x(const uint8_t *OC, unsigned &Offset, in opcode_save_reg_x()
725 bool Decoder::opcode_save_lrpair(const uint8_t *OC, unsigned &Offset, in opcode_save_lrpair()
741 bool Decoder::opcode_save_fregp(const uint8_t *OC, unsigned &Offset, in opcode_save_fregp()
756 bool Decoder::opcode_save_fregp_x(const uint8_t *OC, unsigned &Offset, in opcode_save_fregp_x()
775 bool Decoder::opcode_save_freg(const uint8_t *OC, unsigned &Offset, in opcode_save_freg()
790 bool Decoder::opcode_save_freg_x(const uint8_t *OC, unsigned &Offset, in opcode_save_freg_x()
806 bool Decoder::opcode_alloc_l(const uint8_t *OC, unsigned &Offset, in opcode_alloc_l()
819 bool Decoder::opcode_setfp(const uint8_t *OC, unsigned &Offset, unsigned Length, in opcode_setfp()
828 bool Decoder::opcode_addfp(const uint8_t *OC, unsigned &Offset, unsigned Length, in opcode_addfp()
840 bool Decoder::opcode_nop(const uint8_t *OC, unsigned &Offset, unsigned Length, in opcode_nop()
847 bool Decoder::opcode_end(const uint8_t *OC, unsigned &Offset, unsigned Length, in opcode_end()
854 bool Decoder::opcode_end_c(const uint8_t *OC, unsigned &Offset, unsigned Length, in opcode_end_c()
861 bool Decoder::opcode_save_next(const uint8_t *OC, unsigned &Offset, in opcode_save_next()
872 bool Decoder::opcode_trap_frame(const uint8_t *OC, unsigned &Offset, in opcode_trap_frame()
879 bool Decoder::opcode_machine_frame(const uint8_t *OC, unsigned &Offset, in opcode_machine_frame()
887 bool Decoder::opcode_context(const uint8_t *OC, unsigned &Offset, in opcode_context()
894 bool Decoder::opcode_clear_unwound_to_call(const uint8_t *OC, unsigned &Offset, in opcode_clear_unwound_to_call()
902 void Decoder::decodeOpcodes(ArrayRef<uint8_t> Opcodes, unsigned Offset, in decodeOpcodes()
932 bool Decoder::dumpXDataRecord(const COFFObjectFile &COFF, in dumpXDataRecord()
1043 bool Decoder::dumpUnpackedEntry(const COFFObjectFile &COFF, in dumpUnpackedEntry()
1111 bool Decoder::dumpPackedEntry(const object::COFFObjectFile &COFF, in dumpPackedEntry()
1209 bool Decoder::dumpPackedARM64Entry(const object::COFFObjectFile &COFF, in dumpPackedARM64Entry()
1337 bool Decoder::dumpProcedureDataEntry(const COFFObjectFile &COFF, in dumpProcedureDataEntry()
1355 void Decoder::dumpProcedureData(const COFFObjectFile &COFF, in dumpProcedureData()
1371 Error Decoder::dumpProcedureData(const COFFObjectFile &COFF) { in dumpProcedureData()