Changeset View
Changeset View
Standalone View
Standalone View
contrib/llvm/lib/Target/X86/X86AsmPrinter.h
Show All 24 Lines | |||||
class MCStreamer; | class MCStreamer; | ||||
class MCSymbol; | class MCSymbol; | ||||
class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { | class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { | ||||
const X86Subtarget *Subtarget; | const X86Subtarget *Subtarget; | ||||
StackMaps SM; | StackMaps SM; | ||||
FaultMaps FM; | FaultMaps FM; | ||||
std::unique_ptr<MCCodeEmitter> CodeEmitter; | std::unique_ptr<MCCodeEmitter> CodeEmitter; | ||||
bool NeedsRetpoline = false; | |||||
// This utility class tracks the length of a stackmap instruction's 'shadow'. | // This utility class tracks the length of a stackmap instruction's 'shadow'. | ||||
// It is used by the X86AsmPrinter to ensure that the stackmap shadow | // It is used by the X86AsmPrinter to ensure that the stackmap shadow | ||||
// invariants (i.e. no other stackmaps, patchpoints, or control flow within | // invariants (i.e. no other stackmaps, patchpoints, or control flow within | ||||
// the shadow) are met, while outputting a minimal number of NOPs for padding. | // the shadow) are met, while outputting a minimal number of NOPs for padding. | ||||
// | // | ||||
// To minimise the number of NOPs used, the shadow tracker counts the number | // To minimise the number of NOPs used, the shadow tracker counts the number | ||||
// of instruction bytes output since the last stackmap. Only if there are too | // of instruction bytes output since the last stackmap. Only if there are too | ||||
▲ Show 20 Lines • Show All 104 Lines • Show Last 20 Lines |