#include "ABIMacOSX_i386.h"
#include "ABISysV_i386.h"
#include "ABISysV_x86_64.h"
#include "ABIWindows_x86_64.h"
#include "ABIX86.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Target/Process.h"
#include <optional>
usingnamespacelldb;
usingnamespacelldb_private;
LLDB_PLUGIN_DEFINE(…)
void ABIX86::Initialize() { … }
void ABIX86::Terminate() { … }
namespace {
enum RegKind { … };
}
struct RegData { … };
static void
addPartialRegisters(std::vector<DynamicRegisterInfo::Register> ®s,
llvm::ArrayRef<RegData *> subregs, uint32_t base_size,
lldb::Encoding encoding, lldb::Format format,
uint32_t subreg_size, uint32_t subreg_offset = 0) { … }
static void
addCombinedRegisters(std::vector<DynamicRegisterInfo::Register> ®s,
llvm::ArrayRef<RegData *> subregs1,
llvm::ArrayRef<RegData *> subregs2, uint32_t base_size,
lldb::Encoding encoding, lldb::Format format) { … }
BaseRegToRegsMap;
#define GPRh(l) …
#define GPR(r16) …
#define GPR64(n) …
#define STMM(n) …
#define YMM(n) …
BaseRegToRegsMap makeBaseRegMap(bool is64bit) { … }
void ABIX86::AugmentRegisterInfo(
std::vector<DynamicRegisterInfo::Register> ®s) { … }