Lines Matching refs:Offset
97 uint64_t Offset = 0) { in formatSymbol() argument
104 if (Offset) in formatSymbol()
105 OS << format("+0x%X (0x%" PRIX64 ")", Offset, Address); in formatSymbol()
215 uint64_t Offset) { in getRelocatedSymbol() argument
218 if (RelocationOffset == Offset) in getRelocatedSymbol()
224 bool Decoder::opcode_0xxxxxxx(const uint8_t *OC, unsigned &Offset, in opcode_0xxxxxxx() argument
226 uint8_t Imm = OC[Offset] & 0x7f; in opcode_0xxxxxxx()
228 OC[Offset], in opcode_0xxxxxxx()
231 ++Offset; in opcode_0xxxxxxx()
235 bool Decoder::opcode_10Lxxxxx(const uint8_t *OC, unsigned &Offset, in opcode_10Lxxxxx() argument
237 unsigned Link = (OC[Offset] & 0x20) >> 5; in opcode_10Lxxxxx()
239 | ((OC[Offset + 0] & 0x1f) << 8) in opcode_10Lxxxxx()
240 | ((OC[Offset + 1] & 0xff) << 0); in opcode_10Lxxxxx()
245 OC[Offset + 0], OC[Offset + 1], in opcode_10Lxxxxx()
250 ++Offset, ++Offset; in opcode_10Lxxxxx()
254 bool Decoder::opcode_1100xxxx(const uint8_t *OC, unsigned &Offset, in opcode_1100xxxx() argument
258 OC[Offset], OC[Offset] & 0xf); in opcode_1100xxxx()
261 OC[Offset], OC[Offset] & 0xf); in opcode_1100xxxx()
262 ++Offset; in opcode_1100xxxx()
266 bool Decoder::opcode_11010Lxx(const uint8_t *OC, unsigned &Offset, in opcode_11010Lxx() argument
268 unsigned Link = (OC[Offset] & 0x4) >> 3; in opcode_11010Lxx()
269 unsigned Count = (OC[Offset] & 0x3); in opcode_11010Lxx()
274 SW.startLine() << format("0x%02x ; %s ", OC[Offset], in opcode_11010Lxx()
279 ++Offset; in opcode_11010Lxx()
283 bool Decoder::opcode_11011Lxx(const uint8_t *OC, unsigned &Offset, in opcode_11011Lxx() argument
285 unsigned Link = (OC[Offset] & 0x4) >> 2; in opcode_11011Lxx()
286 unsigned Count = (OC[Offset] & 0x3) + 4; in opcode_11011Lxx()
291 SW.startLine() << format("0x%02x ; %s.w ", OC[Offset], in opcode_11011Lxx()
296 ++Offset; in opcode_11011Lxx()
300 bool Decoder::opcode_11100xxx(const uint8_t *OC, unsigned &Offset, in opcode_11100xxx() argument
302 unsigned High = (OC[Offset] & 0x7); in opcode_11100xxx()
305 SW.startLine() << format("0x%02x ; %s ", OC[Offset], in opcode_11100xxx()
310 ++Offset; in opcode_11100xxx()
314 bool Decoder::opcode_111010xx(const uint8_t *OC, unsigned &Offset, in opcode_111010xx() argument
316 uint16_t Imm = ((OC[Offset + 0] & 0x03) << 8) | ((OC[Offset + 1] & 0xff) << 0); in opcode_111010xx()
319 OC[Offset + 0], OC[Offset + 1], in opcode_111010xx()
323 ++Offset, ++Offset; in opcode_111010xx()
327 bool Decoder::opcode_1110110L(const uint8_t *OC, unsigned &Offset, in opcode_1110110L() argument
329 uint8_t GPRMask = ((OC[Offset + 0] & 0x01) << (Prologue ? 14 : 15)) in opcode_1110110L()
330 | ((OC[Offset + 1] & 0xff) << 0); in opcode_1110110L()
332 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0], in opcode_1110110L()
333 OC[Offset + 1], Prologue ? "push" : "pop"); in opcode_1110110L()
337 ++Offset, ++Offset; in opcode_1110110L()
341 bool Decoder::opcode_11101110(const uint8_t *OC, unsigned &Offset, in opcode_11101110() argument
345 if (OC[Offset + 1] & 0xf0) in opcode_11101110()
347 OC[Offset + 0], OC[Offset + 1]); in opcode_11101110()
351 OC[Offset + 0], OC[Offset + 1], OC[Offset + 1] & 0x0f); in opcode_11101110()
353 ++Offset, ++Offset; in opcode_11101110()
357 bool Decoder::opcode_11101111(const uint8_t *OC, unsigned &Offset, in opcode_11101111() argument
361 if (OC[Offset + 1] & 0xf0) in opcode_11101111()
363 OC[Offset + 0], OC[Offset + 1]); in opcode_11101111()
367 OC[Offset + 0], OC[Offset + 1], OC[Offset + 1] << 2); in opcode_11101111()
369 ++Offset, ++Offset; in opcode_11101111()
373 bool Decoder::opcode_11110101(const uint8_t *OC, unsigned &Offset, in opcode_11110101() argument
375 unsigned Start = (OC[Offset + 1] & 0xf0) >> 4; in opcode_11110101()
376 unsigned End = (OC[Offset + 1] & 0x0f) >> 0; in opcode_11110101()
379 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0], in opcode_11110101()
380 OC[Offset + 1], Prologue ? "vpush" : "vpop"); in opcode_11110101()
384 ++Offset, ++Offset; in opcode_11110101()
388 bool Decoder::opcode_11110110(const uint8_t *OC, unsigned &Offset, in opcode_11110110() argument
390 unsigned Start = (OC[Offset + 1] & 0xf0) >> 4; in opcode_11110110()
391 unsigned End = (OC[Offset + 1] & 0x0f) >> 0; in opcode_11110110()
394 SW.startLine() << format("0x%02x 0x%02x ; %s ", OC[Offset + 0], in opcode_11110110()
395 OC[Offset + 1], Prologue ? "vpush" : "vpop"); in opcode_11110110()
399 ++Offset, ++Offset; in opcode_11110110()
403 bool Decoder::opcode_11110111(const uint8_t *OC, unsigned &Offset, in opcode_11110111() argument
405 uint32_t Imm = (OC[Offset + 1] << 8) | (OC[Offset + 2] << 0); in opcode_11110111()
408 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], in opcode_11110111()
412 ++Offset, ++Offset, ++Offset; in opcode_11110111()
416 bool Decoder::opcode_11111000(const uint8_t *OC, unsigned &Offset, in opcode_11111000() argument
418 uint32_t Imm = (OC[Offset + 1] << 16) in opcode_11111000()
419 | (OC[Offset + 2] << 8) in opcode_11111000()
420 | (OC[Offset + 3] << 0); in opcode_11111000()
424 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], OC[Offset + 3], in opcode_11111000()
427 ++Offset, ++Offset, ++Offset, ++Offset; in opcode_11111000()
431 bool Decoder::opcode_11111001(const uint8_t *OC, unsigned &Offset, in opcode_11111001() argument
433 uint32_t Imm = (OC[Offset + 1] << 8) | (OC[Offset + 2] << 0); in opcode_11111001()
437 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], in opcode_11111001()
440 ++Offset, ++Offset, ++Offset; in opcode_11111001()
444 bool Decoder::opcode_11111010(const uint8_t *OC, unsigned &Offset, in opcode_11111010() argument
446 uint32_t Imm = (OC[Offset + 1] << 16) in opcode_11111010()
447 | (OC[Offset + 2] << 8) in opcode_11111010()
448 | (OC[Offset + 3] << 0); in opcode_11111010()
452 OC[Offset + 0], OC[Offset + 1], OC[Offset + 2], OC[Offset + 3], in opcode_11111010()
455 ++Offset, ++Offset, ++Offset, ++Offset; in opcode_11111010()
459 bool Decoder::opcode_11111011(const uint8_t *OC, unsigned &Offset, in opcode_11111011() argument
461 SW.startLine() << format("0x%02x ; nop\n", OC[Offset]); in opcode_11111011()
462 ++Offset; in opcode_11111011()
466 bool Decoder::opcode_11111100(const uint8_t *OC, unsigned &Offset, in opcode_11111100() argument
468 SW.startLine() << format("0x%02x ; nop.w\n", OC[Offset]); in opcode_11111100()
469 ++Offset; in opcode_11111100()
473 bool Decoder::opcode_11111101(const uint8_t *OC, unsigned &Offset, in opcode_11111101() argument
475 SW.startLine() << format("0x%02x ; b\n", OC[Offset]); in opcode_11111101()
476 ++Offset; in opcode_11111101()
480 bool Decoder::opcode_11111110(const uint8_t *OC, unsigned &Offset, in opcode_11111110() argument
482 SW.startLine() << format("0x%02x ; b.w\n", OC[Offset]); in opcode_11111110()
483 ++Offset; in opcode_11111110()
487 bool Decoder::opcode_11111111(const uint8_t *OC, unsigned &Offset, in opcode_11111111() argument
489 ++Offset; in opcode_11111111()
493 void Decoder::decodeOpcodes(ArrayRef<uint8_t> Opcodes, unsigned Offset, in decodeOpcodes() argument
495 assert((!Prologue || Offset == 0) && "prologue should always use offset 0"); in decodeOpcodes()
498 for (unsigned OI = Offset, OE = Opcodes.size(); !Terminated && OI < OE; ) { in decodeOpcodes()
517 uint64_t Offset = VA - SectionVA; in dumpXDataRecord() local
519 reinterpret_cast<const ulittle32_t *>(Contents.data() + Offset); in dumpXDataRecord()
583 const SectionRef Section, uint64_t Offset, in dumpUnpackedEntry() argument
588 ErrorOr<SymbolRef> Function = getRelocatedSymbol(COFF, Section, Offset); in dumpUnpackedEntry()
592 ErrorOr<SymbolRef> XDataRecord = getRelocatedSymbol(COFF, Section, Offset + 4); in dumpUnpackedEntry()
658 const SectionRef Section, uint64_t Offset, in dumpPackedEntry() argument
664 ErrorOr<SymbolRef> Function = getRelocatedSymbol(COFF, Section, Offset); in dumpPackedEntry()
701 uint64_t Offset = PDataEntrySize * Index; in dumpProcedureDataEntry() local
703 reinterpret_cast<const ulittle32_t *>(Contents.data() + Offset); in dumpProcedureDataEntry()
708 return dumpUnpackedEntry(COFF, Section, Offset, Index, Entry); in dumpProcedureDataEntry()
709 return dumpPackedEntry(COFF, Section, Offset, Index, Entry); in dumpProcedureDataEntry()