LLDB  mainline
RegisterContextPOSIX_x86.cpp
Go to the documentation of this file.
1 //===-- RegisterContextPOSIX_x86.cpp --------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include <cerrno>
10 #include <cstdint>
11 #include <cstring>
12 
13 #include "lldb/Target/Process.h"
14 #include "lldb/Target/Target.h"
15 #include "lldb/Target/Thread.h"
18 #include "lldb/Utility/Endian.h"
20 #include "lldb/Utility/Scalar.h"
21 #include "llvm/Support/Compiler.h"
22 
24 #include "RegisterContext_x86.h"
25 
26 using namespace lldb_private;
27 using namespace lldb;
28 
38  LLDB_INVALID_REGNUM, // Register sets must be terminated with
39  // LLDB_INVALID_REGNUM.
40 };
41 static_assert((sizeof(g_gpr_regnums_i386) / sizeof(g_gpr_regnums_i386[0])) -
42  1 ==
44  "g_gpr_regnums_i386 has wrong number of register infos");
45 
56  LLDB_INVALID_REGNUM // Register sets must be terminated with
57  // LLDB_INVALID_REGNUM.
58 };
59 static_assert((sizeof(g_lldb_regnums_i386) / sizeof(g_lldb_regnums_i386[0])) -
60  1 ==
62  "g_lldb_regnums_i386 has wrong number of register infos");
63 
67  LLDB_INVALID_REGNUM // Register sets must be terminated with
68  // LLDB_INVALID_REGNUM.
69 };
70 static_assert((sizeof(g_avx_regnums_i386) / sizeof(g_avx_regnums_i386[0])) -
71  1 ==
73  " g_avx_regnums_i386 has wrong number of register infos");
74 
75 static const uint32_t g_gpr_regnums_x86_64[] = {
84  lldb_r8d_x86_64, // Low 32 bits or r8
85  lldb_r9d_x86_64, // Low 32 bits or r9
86  lldb_r10d_x86_64, // Low 32 bits or r10
87  lldb_r11d_x86_64, // Low 32 bits or r11
88  lldb_r12d_x86_64, // Low 32 bits or r12
89  lldb_r13d_x86_64, // Low 32 bits or r13
90  lldb_r14d_x86_64, // Low 32 bits or r14
91  lldb_r15d_x86_64, // Low 32 bits or r15
94  lldb_r8w_x86_64, // Low 16 bits or r8
95  lldb_r9w_x86_64, // Low 16 bits or r9
96  lldb_r10w_x86_64, // Low 16 bits or r10
97  lldb_r11w_x86_64, // Low 16 bits or r11
98  lldb_r12w_x86_64, // Low 16 bits or r12
99  lldb_r13w_x86_64, // Low 16 bits or r13
100  lldb_r14w_x86_64, // Low 16 bits or r14
101  lldb_r15w_x86_64, // Low 16 bits or r15
105  lldb_r8l_x86_64, // Low 8 bits or r8
106  lldb_r9l_x86_64, // Low 8 bits or r9
107  lldb_r10l_x86_64, // Low 8 bits or r10
108  lldb_r11l_x86_64, // Low 8 bits or r11
109  lldb_r12l_x86_64, // Low 8 bits or r12
110  lldb_r13l_x86_64, // Low 8 bits or r13
111  lldb_r14l_x86_64, // Low 8 bits or r14
112  lldb_r15l_x86_64, // Low 8 bits or r15
113  LLDB_INVALID_REGNUM // Register sets must be terminated with
114  // LLDB_INVALID_REGNUM.
115 };
116 static_assert((sizeof(g_gpr_regnums_x86_64) / sizeof(g_gpr_regnums_x86_64[0])) -
117  1 ==
119  "g_gpr_regnums_x86_64 has wrong number of register infos");
120 
121 static const uint32_t g_lldb_regnums_x86_64[] = {
137  LLDB_INVALID_REGNUM // Register sets must be terminated with
138  // LLDB_INVALID_REGNUM.
139 };
140 static_assert((sizeof(g_lldb_regnums_x86_64) /
141  sizeof(g_lldb_regnums_x86_64[0])) -
142  1 ==
144  "g_lldb_regnums_x86_64 has wrong number of register infos");
145 
146 static const uint32_t g_avx_regnums_x86_64[] = {
151  LLDB_INVALID_REGNUM // Register sets must be terminated with
152  // LLDB_INVALID_REGNUM.
153 };
154 static_assert((sizeof(g_avx_regnums_x86_64) / sizeof(g_avx_regnums_x86_64[0])) -
155  1 ==
157  "g_avx_regnums_x86_64 has wrong number of register infos");
158 
175 
196 
229 
278 
283 
288 
305 
322 
339 
356 
357 // Number of register sets provided by this context.
359 
360 static const RegisterSet g_reg_sets_i386[k_num_register_sets] = {
361  {"General Purpose Registers", "gpr", k_num_gpr_registers_i386,
363  {"Floating Point Registers", "fpu", k_num_fpr_registers_i386,
365  {"Advanced Vector Extensions", "avx", k_num_avx_registers_i386,
367 
368 static const RegisterSet g_reg_sets_x86_64[k_num_register_sets] = {
369  {"General Purpose Registers", "gpr", k_num_gpr_registers_x86_64,
371  {"Floating Point Registers", "fpu", k_num_fpr_registers_x86_64,
373  {"Advanced Vector Extensions", "avx", k_num_avx_registers_x86_64,
375 
377  return reg <= m_reg_info.last_gpr; // GPR's come first.
378 }
379 
381  return (m_reg_info.first_fpr <= reg && reg <= m_reg_info.last_fpr);
382 }
383 
385  return (m_reg_info.first_ymm <= reg && reg <= m_reg_info.last_ymm);
386 }
387 
388 bool RegisterContextPOSIX_x86::IsFPR(unsigned reg, FPRType fpr_type) {
389  bool generic_fpr = IsFPR(reg);
390 
391  if (fpr_type == eXSAVE)
392  return generic_fpr || IsAVX(reg);
393  return generic_fpr;
394 }
395 
397  Thread &thread, uint32_t concrete_frame_idx,
398  RegisterInfoInterface *register_info)
399  : RegisterContext(thread, concrete_frame_idx) {
400  m_register_info_up.reset(register_info);
401 
402  switch (register_info->m_target_arch.GetMachine()) {
403  case llvm::Triple::x86:
421  break;
422  case llvm::Triple::x86_64:
440  break;
441  default:
442  assert(false && "Unhandled target architecture.");
443  break;
444  }
445 
446  ::memset(&m_fpr, 0, sizeof(FPR));
447 
449 }
450 
452 
454  if (m_fpr_type == eNotValid) {
455  // TODO: Use assembly to call cpuid on the inferior and query ebx or ecx
456  m_fpr_type = eXSAVE; // extended floating-point registers, if available
457  if (!ReadFPR())
458  m_fpr_type = eFXSAVE; // assume generic floating-point registers
459  }
460  return m_fpr_type;
461 }
462 
464 
466 
468  assert(reg < m_reg_info.num_registers && "Invalid register number.");
469  return GetRegisterInfo()[reg].byte_offset;
470 }
471 
473  assert(reg < m_reg_info.num_registers && "Invalid register number.");
474  return GetRegisterInfo()[reg].byte_size;
475 }
476 
478  size_t num_registers =
480  if (GetFPRType() == eXSAVE)
481  return num_registers + m_reg_info.num_avx_registers;
482  return num_registers;
483 }
484 
486  return m_register_info_up->GetGPRSize();
487 }
488 
490  return GetRegisterInfo()[m_reg_info.first_fpr].byte_offset;
491 }
492 
494  // Commonly, this method is overridden and g_register_infos is copied and
495  // specialized. So, use GetRegisterInfo() rather than g_register_infos in
496  // this scope.
497  return m_register_info_up->GetRegisterInfo();
498 }
499 
500 const RegisterInfo *
502  if (reg < m_reg_info.num_registers)
503  return &GetRegisterInfo()[reg];
504  else
505  return nullptr;
506 }
507 
509  size_t sets = 0;
510  for (size_t set = 0; set < k_num_register_sets; ++set) {
512  ++sets;
513  }
514 
515  return sets;
516 }
517 
518 const RegisterSet *RegisterContextPOSIX_x86::GetRegisterSet(size_t set) {
520  switch (m_register_info_up->m_target_arch.GetMachine()) {
521  case llvm::Triple::x86:
522  return &g_reg_sets_i386[set];
523  case llvm::Triple::x86_64:
524  return &g_reg_sets_x86_64[set];
525  default:
526  assert(false && "Unhandled target architecture.");
527  return nullptr;
528  }
529  }
530  return nullptr;
531 }
532 
533 const char *RegisterContextPOSIX_x86::GetRegisterName(unsigned reg) {
534  assert(reg < m_reg_info.num_registers && "Invalid register offset.");
535  return GetRegisterInfo()[reg].name;
536 }
537 
538 // Parse ymm registers and into xmm.bytes and ymmh.bytes.
540  lldb::ByteOrder byte_order) {
541  if (!IsAVX(reg))
542  return false;
543 
544  if (byte_order == eByteOrderLittle) {
545  uint32_t reg_no = reg - m_reg_info.first_ymm;
546  YMMToXState(m_ymm_set.ymm[reg_no],
547  m_fpr.fxsave.xmm[reg_no].bytes,
548  m_fpr.xsave.ymmh[reg_no].bytes);
549  return true;
550  }
551 
552  return false; // unsupported or invalid byte order
553 }
554 
555 // Concatenate xmm.bytes with ymmh.bytes
557  lldb::ByteOrder byte_order) {
558  if (!IsAVX(reg))
559  return false;
560 
561  if (byte_order == eByteOrderLittle) {
562  uint32_t reg_no = reg - m_reg_info.first_ymm;
563  m_ymm_set.ymm[reg_no] = XStateToYMM(
564  m_fpr.fxsave.xmm[reg_no].bytes,
565  m_fpr.xsave.ymmh[reg_no].bytes);
566  return true;
567  }
568 
569  return false; // unsupported or invalid byte order
570 }
571 
573  // Note: Extended register sets are assumed to be at the end of g_reg_sets...
575 
576  if (GetFPRType() == eXSAVE) // ...and to start with AVX registers.
577  ++num_sets;
578  return (set_index < num_sets);
579 }
lldb_private::lldb_st1_i386
@ lldb_st1_i386
Definition: lldb-x86-register-enums.h:68
lldb_private::RegisterInfoInterface::m_target_arch
lldb_private::ArchSpec m_target_arch
Definition: RegisterInfoInterface.h:65
lldb_private::lldb_xmm13_x86_64
@ lldb_xmm13_x86_64
Definition: lldb-x86-register-enums.h:266
lldb_private::lldb_ymm15_x86_64
@ lldb_ymm15_x86_64
Definition: lldb-x86-register-enums.h:287
RegisterContextPOSIX_x86::GetFPRType
FPRType GetFPRType()
Definition: RegisterContextPOSIX_x86.cpp:453
RegisterContextPOSIX_x86::g_invalidate_rsi
static uint32_t g_invalidate_rsi[]
Definition: RegisterContextPOSIX_x86.h:97
lldb_private::lldb_bx_x86_64
@ lldb_bx_x86_64
Definition: lldb-x86-register-enums.h:185
lldb_private::lldb_mxcsr_x86_64
@ lldb_mxcsr_x86_64
Definition: lldb-x86-register-enums.h:235
RegisterContextPOSIX_x86::g_contained_rsi
static uint32_t g_contained_rsi[]
Definition: RegisterContextPOSIX_x86.h:80
lldb_private::lldb_xmm6_i386
@ lldb_xmm6_i386
Definition: lldb-x86-register-enums.h:89
RegisterContextPOSIX_x86::g_invalidate_eax
static uint32_t g_invalidate_eax[]
Definition: RegisterContextPOSIX_x86.h:66
RegisterContextPOSIX_x86::g_contained_st2_32
static uint32_t g_contained_st2_32[]
Definition: RegisterContextPOSIX_x86.h:117
lldb_private::lldb_ymm12_x86_64
@ lldb_ymm12_x86_64
Definition: lldb-x86-register-enums.h:284
lldb_private::lldb_mm6_x86_64
@ lldb_mm6_x86_64
Definition: lldb-x86-register-enums.h:251
RegisterContextPOSIX_x86::g_invalidate_st2_64
static uint32_t g_invalidate_st2_64[]
Definition: RegisterContextPOSIX_x86.h:144
RegisterContextPOSIX_x86::g_invalidate_r12
static uint32_t g_invalidate_r12[]
Definition: RegisterContextPOSIX_x86.h:104
lldb_private::k_num_fpr_registers_x86_64
@ k_num_fpr_registers_x86_64
Definition: lldb-x86-register-enums.h:315
Scalar.h
lldb_private::lldb_cl_i386
@ lldb_cl_i386
Definition: lldb-x86-register-enums.h:50
lldb_private::lldb_r9w_x86_64
@ lldb_r9w_x86_64
Definition: lldb-x86-register-enums.h:193
RegisterContextPOSIX_x86::g_contained_edx
static uint32_t g_contained_edx[]
Definition: RegisterContextPOSIX_x86.h:60
RegisterContextPOSIX_x86::g_invalidate_ecx
static uint32_t g_invalidate_ecx[]
Definition: RegisterContextPOSIX_x86.h:68
lldb_private::lldb_ah_i386
@ lldb_ah_i386
Definition: lldb-x86-register-enums.h:44
lldb_private::lldb_foseg_i386
@ lldb_foseg_i386
Definition: lldb-x86-register-enums.h:63
lldb_private::lldb_mxcsrmask_x86_64
@ lldb_mxcsrmask_x86_64
Definition: lldb-x86-register-enums.h:236
RegisterContextPOSIX_x86::g_invalidate_st7_64
static uint32_t g_invalidate_st7_64[]
Definition: RegisterContextPOSIX_x86.h:149
lldb_private::lldb_ymm3_x86_64
@ lldb_ymm3_x86_64
Definition: lldb-x86-register-enums.h:275
lldb_private::lldb_xmm14_x86_64
@ lldb_xmm14_x86_64
Definition: lldb-x86-register-enums.h:267
lldb_private::lldb_ymm4_x86_64
@ lldb_ymm4_x86_64
Definition: lldb-x86-register-enums.h:276
lldb_private::lldb_esp_i386
@ lldb_esp_i386
Definition: lldb-x86-register-enums.h:25
RegisterContextPOSIX_x86::g_contained_ebx
static uint32_t g_contained_ebx[]
Definition: RegisterContextPOSIX_x86.h:58
LLDB_INVALID_REGNUM
#define LLDB_INVALID_REGNUM
Definition: lldb-defines.h:91
lldb_private::lldb_r15d_x86_64
@ lldb_r15d_x86_64
Definition: lldb-x86-register-enums.h:183
lldb_private::lldb_dr0_i386
@ lldb_dr0_i386
Definition: lldb-x86-register-enums.h:117
RegisterContextPOSIX_x86::g_invalidate_r11
static uint32_t g_invalidate_r11[]
Definition: RegisterContextPOSIX_x86.h:103
RegisterContextPOSIX_x86::g_invalidate_esi
static uint32_t g_invalidate_esi[]
Definition: RegisterContextPOSIX_x86.h:71
lldb_private::lldb_xmm3_i386
@ lldb_xmm3_i386
Definition: lldb-x86-register-enums.h:86
RegisterContextPOSIX_x86::RegInfo::last_fpr
uint32_t last_fpr
Definition: RegisterContextPOSIX_x86.h:160
lldb_private::lldb_r14l_x86_64
@ lldb_r14l_x86_64
Definition: lldb-x86-register-enums.h:218
lldb_private::lldb_di_i386
@ lldb_di_i386
Definition: lldb-x86-register-enums.h:40
lldb_private::lldb_dr0_x86_64
@ lldb_dr0_x86_64
Definition: lldb-x86-register-enums.h:303
lldb_private::ArchSpec::GetMachine
llvm::Triple::ArchType GetMachine() const
Returns a machine family for the current architecture.
Definition: ArchSpec.cpp:667
lldb_private::lldb_mm3_x86_64
@ lldb_mm3_x86_64
Definition: lldb-x86-register-enums.h:248
RegisterContextPOSIX_x86::g_contained_st6_32
static uint32_t g_contained_st6_32[]
Definition: RegisterContextPOSIX_x86.h:121
lldb_private::YMMToXState
void YMMToXState(const YMMReg &input, void *xmm_bytes, void *ymmh_bytes)
Definition: RegisterContext_x86.h:381
RegisterContextPOSIX_x86::g_contained_r11
static uint32_t g_contained_r11[]
Definition: RegisterContextPOSIX_x86.h:86
g_lldb_regnums_i386
const uint32_t g_lldb_regnums_i386[]
Definition: RegisterContextPOSIX_x86.cpp:46
lldb_private::lldb_r11_x86_64
@ lldb_r11_x86_64
Definition: lldb-x86-register-enums.h:153
lldb_private::lldb_st3_i386
@ lldb_st3_i386
Definition: lldb-x86-register-enums.h:70
lldb_private::lldb_bpl_x86_64
@ lldb_bpl_x86_64
Definition: lldb-x86-register-enums.h:210
lldb_private::lldb_rbp_x86_64
@ lldb_rbp_x86_64
Definition: lldb-x86-register-enums.h:148
RegisterContextPOSIX_x86::g_invalidate_r14
static uint32_t g_invalidate_r14[]
Definition: RegisterContextPOSIX_x86.h:106
lldb_private::lldb_mxcsrmask_i386
@ lldb_mxcsrmask_i386
Definition: lldb-x86-register-enums.h:66
lldb_private::lldb_dh_i386
@ lldb_dh_i386
Definition: lldb-x86-register-enums.h:47
lldb_private::lldb_r15l_x86_64
@ lldb_r15l_x86_64
Definition: lldb-x86-register-enums.h:219
k_num_register_sets
@ k_num_register_sets
Definition: RegisterContextPOSIX_x86.cpp:358
lldb_private::lldb_ymm2_x86_64
@ lldb_ymm2_x86_64
Definition: lldb-x86-register-enums.h:274
lldb_private::lldb_r13_x86_64
@ lldb_r13_x86_64
Definition: lldb-x86-register-enums.h:155
RegisterContextPOSIX_x86::RegInfo::last_xmm
uint32_t last_xmm
Definition: RegisterContextPOSIX_x86.h:167
lldb_private::lldb_fiseg_i386
@ lldb_fiseg_i386
Definition: lldb-x86-register-enums.h:61
lldb_private::k_num_gpr_registers_i386
@ k_num_gpr_registers_i386
Definition: lldb-x86-register-enums.h:128
RegisterContextPOSIX_x86::g_invalidate_st6_32
static uint32_t g_invalidate_st6_32[]
Definition: RegisterContextPOSIX_x86.h:130
lldb_private::lldb_ymm4_i386
@ lldb_ymm4_i386
Definition: lldb-x86-register-enums.h:98
lldb_private::lldb_bp_x86_64
@ lldb_bp_x86_64
Definition: lldb-x86-register-enums.h:190
RegisterContextPOSIX_x86::m_fpr
lldb_private::FPR m_fpr
Definition: RegisterContextPOSIX_x86.h:182
RegisterContextPOSIX_x86::g_invalidate_st3_64
static uint32_t g_invalidate_st3_64[]
Definition: RegisterContextPOSIX_x86.h:145
RegisterContextPOSIX_x86::g_contained_st5_64
static uint32_t g_contained_st5_64[]
Definition: RegisterContextPOSIX_x86.h:138
RegisterContextPOSIX_x86::g_invalidate_edi
static uint32_t g_invalidate_edi[]
Definition: RegisterContextPOSIX_x86.h:70
lldb_private::lldb_r10_x86_64
@ lldb_r10_x86_64
Definition: lldb-x86-register-enums.h:152
lldb_private::lldb_r12w_x86_64
@ lldb_r12w_x86_64
Definition: lldb-x86-register-enums.h:196
lldb_private::lldb_fop_x86_64
@ lldb_fop_x86_64
Definition: lldb-x86-register-enums.h:228
lldb_private::lldb_r11w_x86_64
@ lldb_r11w_x86_64
Definition: lldb-x86-register-enums.h:195
lldb_private::lldb_st0_i386
@ lldb_st0_i386
Definition: lldb-x86-register-enums.h:67
RegisterContextPOSIX_x86::RegInfo::last_ymm
uint32_t last_ymm
Definition: RegisterContextPOSIX_x86.h:169
lldb_private::RegisterInfoInterface
Definition: RegisterInfoInterface.h:21
lldb_private::lldb_ebx_x86_64
@ lldb_ebx_x86_64
Definition: lldb-x86-register-enums.h:169
lldb_private::k_last_gpr_x86_64
@ k_last_gpr_x86_64
Definition: lldb-x86-register-enums.h:222
lldb_private::lldb_xmm1_i386
@ lldb_xmm1_i386
Definition: lldb-x86-register-enums.h:84
lldb_private::lldb_ymm9_x86_64
@ lldb_ymm9_x86_64
Definition: lldb-x86-register-enums.h:281
g_lldb_regnums_x86_64
static const uint32_t g_lldb_regnums_x86_64[]
Definition: RegisterContextPOSIX_x86.cpp:121
k_num_extended_register_sets
@ k_num_extended_register_sets
Definition: RegisterContextPOSIX_x86.cpp:358
lldb_private::lldb_r13w_x86_64
@ lldb_r13w_x86_64
Definition: lldb-x86-register-enums.h:197
RegisterContextPOSIX_x86::RegisterContextPOSIX_x86
RegisterContextPOSIX_x86(lldb_private::Thread &thread, uint32_t concrete_frame_idx, lldb_private::RegisterInfoInterface *register_info)
Definition: RegisterContextPOSIX_x86.cpp:396
RegisterContextPOSIX_x86::GetRegisterOffset
virtual unsigned GetRegisterOffset(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:467
lldb_private::lldb_ebp_x86_64
@ lldb_ebp_x86_64
Definition: lldb-x86-register-enums.h:174
RegisterContextPOSIX_x86::g_contained_st6_64
static uint32_t g_contained_st6_64[]
Definition: RegisterContextPOSIX_x86.h:139
lldb_private::lldb_eax_i386
@ lldb_eax_i386
Definition: lldb-x86-register-enums.h:18
lldb_private::lldb_ymm3_i386
@ lldb_ymm3_i386
Definition: lldb-x86-register-enums.h:97
RegisterContextPOSIX_x86::g_contained_r14
static uint32_t g_contained_r14[]
Definition: RegisterContextPOSIX_x86.h:89
RegisterContextPOSIX_x86::g_contained_st7_32
static uint32_t g_contained_st7_32[]
Definition: RegisterContextPOSIX_x86.h:122
lldb_private::lldb_r14_x86_64
@ lldb_r14_x86_64
Definition: lldb-x86-register-enums.h:156
RegisterContextPOSIX_x86::g_invalidate_rbx
static uint32_t g_invalidate_rbx[]
Definition: RegisterContextPOSIX_x86.h:93
RegisterContextPOSIX_x86::IsFPR
bool IsFPR(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:380
RegisterContextPOSIX_x86::m_ymm_set
lldb_private::YMM m_ymm_set
Definition: RegisterContextPOSIX_x86.h:184
lldb_private::lldb_st1_x86_64
@ lldb_st1_x86_64
Definition: lldb-x86-register-enums.h:238
lldb_private::lldb_mm0_i386
@ lldb_mm0_i386
Definition: lldb-x86-register-enums.h:75
lldb_private::lldb_r8_x86_64
@ lldb_r8_x86_64
Definition: lldb-x86-register-enums.h:150
lldb_private::lldb_ymm7_i386
@ lldb_ymm7_i386
Definition: lldb-x86-register-enums.h:101
lldb_private::lldb_foseg_x86_64
@ lldb_foseg_x86_64
Definition: lldb-x86-register-enums.h:232
lldb_private::lldb_ymm1_i386
@ lldb_ymm1_i386
Definition: lldb-x86-register-enums.h:95
lldb_private::FXSAVE::xmm
XMMReg xmm[16]
Definition: RegisterContext_x86.h:287
lldb_private::lldb_xmm7_x86_64
@ lldb_xmm7_x86_64
Definition: lldb-x86-register-enums.h:260
RegisterValue.h
lldb_private::lldb_fooff_x86_64
@ lldb_fooff_x86_64
Definition: lldb-x86-register-enums.h:233
lldb_private::lldb_mm7_x86_64
@ lldb_mm7_x86_64
Definition: lldb-x86-register-enums.h:252
lldb_private::lldb_cl_x86_64
@ lldb_cl_x86_64
Definition: lldb-x86-register-enums.h:206
RegisterContextPOSIX_x86::g_contained_r13
static uint32_t g_contained_r13[]
Definition: RegisterContextPOSIX_x86.h:88
lldb_private::lldb_xmm7_i386
@ lldb_xmm7_i386
Definition: lldb-x86-register-enums.h:90
lldb_private::lldb_mm2_i386
@ lldb_mm2_i386
Definition: lldb-x86-register-enums.h:77
RegisterContextPOSIX_x86::g_contained_esi
static uint32_t g_contained_esi[]
Definition: RegisterContextPOSIX_x86.h:62
lldb_private::lldb_st5_i386
@ lldb_st5_i386
Definition: lldb-x86-register-enums.h:72
lldb_private::lldb_dil_x86_64
@ lldb_dil_x86_64
Definition: lldb-x86-register-enums.h:208
lldb_private::lldb_st6_x86_64
@ lldb_st6_x86_64
Definition: lldb-x86-register-enums.h:243
RegisterContextPOSIX_x86::g_contained_edi
static uint32_t g_contained_edi[]
Definition: RegisterContextPOSIX_x86.h:61
lldb_private::lldb_mm5_x86_64
@ lldb_mm5_x86_64
Definition: lldb-x86-register-enums.h:250
RegisterContextPOSIX_x86::m_register_info_up
std::unique_ptr< lldb_private::RegisterInfoInterface > m_register_info_up
Definition: RegisterContextPOSIX_x86.h:186
lldb_private::lldb_cs_x86_64
@ lldb_cs_x86_64
Definition: lldb-x86-register-enums.h:160
lldb_private::lldb_ymm5_i386
@ lldb_ymm5_i386
Definition: lldb-x86-register-enums.h:99
lldb_private::lldb_st3_x86_64
@ lldb_st3_x86_64
Definition: lldb-x86-register-enums.h:240
lldb_private::lldb_r13d_x86_64
@ lldb_r13d_x86_64
Definition: lldb-x86-register-enums.h:181
RegisterContextPOSIX_x86::g_contained_r12
static uint32_t g_contained_r12[]
Definition: RegisterContextPOSIX_x86.h:87
RegisterContextPOSIX_x86::g_contained_rdx
static uint32_t g_contained_rdx[]
Definition: RegisterContextPOSIX_x86.h:78
lldb_private::lldb_bh_x86_64
@ lldb_bh_x86_64
Definition: lldb-x86-register-enums.h:201
RegisterContextPOSIX_x86::m_reg_info
RegInfo m_reg_info
Definition: RegisterContextPOSIX_x86.h:179
RegisterContextPOSIX_x86::eFXSAVE
@ eFXSAVE
Definition: RegisterContextPOSIX_x86.h:52
lldb_private::lldb_ymm0_i386
@ lldb_ymm0_i386
Definition: lldb-x86-register-enums.h:94
lldb_private::lldb_fiseg_x86_64
@ lldb_fiseg_x86_64
Definition: lldb-x86-register-enums.h:229
lldb_private::lldb_xmm2_x86_64
@ lldb_xmm2_x86_64
Definition: lldb-x86-register-enums.h:255
lldb_private::lldb_r14d_x86_64
@ lldb_r14d_x86_64
Definition: lldb-x86-register-enums.h:182
Process.h
lldb_private::k_last_fpr_x86_64
@ k_last_fpr_x86_64
Definition: lldb-x86-register-enums.h:269
RegisterContextPOSIX_x86::g_invalidate_r15
static uint32_t g_invalidate_r15[]
Definition: RegisterContextPOSIX_x86.h:107
RegisterContextPOSIX_x86::CopyXSTATEtoYMM
bool CopyXSTATEtoYMM(uint32_t reg, lldb::ByteOrder byte_order)
Definition: RegisterContextPOSIX_x86.cpp:556
g_avx_regnums_x86_64
static const uint32_t g_avx_regnums_x86_64[]
Definition: RegisterContextPOSIX_x86.cpp:146
RegisterContextPOSIX_x86::IsAVX
bool IsAVX(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:384
lldb_private::lldb_edx_x86_64
@ lldb_edx_x86_64
Definition: lldb-x86-register-enums.h:171
lldb_private::lldb_rdx_x86_64
@ lldb_rdx_x86_64
Definition: lldb-x86-register-enums.h:145
RegisterContextPOSIX_x86::g_contained_ebp
static uint32_t g_contained_ebp[]
Definition: RegisterContextPOSIX_x86.h:63
RegisterContextPOSIX_x86::g_invalidate_st3_32
static uint32_t g_invalidate_st3_32[]
Definition: RegisterContextPOSIX_x86.h:127
lldb_private::lldb_spl_x86_64
@ lldb_spl_x86_64
Definition: lldb-x86-register-enums.h:211
RegisterContextPOSIX_x86::g_invalidate_rax
static uint32_t g_invalidate_rax[]
Definition: RegisterContextPOSIX_x86.h:92
Target.h
RegisterContextPOSIX_x86::RegInfo::first_fpr
uint32_t first_fpr
Definition: RegisterContextPOSIX_x86.h:159
lldb_private::lldb_ymm7_x86_64
@ lldb_ymm7_x86_64
Definition: lldb-x86-register-enums.h:279
RegisterContextPOSIX_x86::g_contained_r10
static uint32_t g_contained_r10[]
Definition: RegisterContextPOSIX_x86.h:85
lldb_private::lldb_mm4_i386
@ lldb_mm4_i386
Definition: lldb-x86-register-enums.h:79
RegisterContextPOSIX_x86::g_invalidate_r10
static uint32_t g_invalidate_r10[]
Definition: RegisterContextPOSIX_x86.h:102
RegisterContextPOSIX_x86.h
RegisterContextPOSIX_x86::IsGPR
bool IsGPR(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:376
lldb_private::lldb_mm4_x86_64
@ lldb_mm4_x86_64
Definition: lldb-x86-register-enums.h:249
lldb_private::lldb_ymm5_x86_64
@ lldb_ymm5_x86_64
Definition: lldb-x86-register-enums.h:277
lldb_private::FPR::xsave
XSAVE xsave
Definition: RegisterContext_x86.h:365
lldb_private::lldb_ax_i386
@ lldb_ax_i386
Definition: lldb-x86-register-enums.h:36
lldb_private::lldb_ch_i386
@ lldb_ch_i386
Definition: lldb-x86-register-enums.h:46
RegisterContextPOSIX_x86::g_contained_st4_64
static uint32_t g_contained_st4_64[]
Definition: RegisterContextPOSIX_x86.h:137
lldb_private::lldb_ymm6_i386
@ lldb_ymm6_i386
Definition: lldb-x86-register-enums.h:100
lldb_private::lldb_xmm4_x86_64
@ lldb_xmm4_x86_64
Definition: lldb-x86-register-enums.h:257
lldb_private::lldb_rip_x86_64
@ lldb_rip_x86_64
Definition: lldb-x86-register-enums.h:158
lldb_private::lldb_es_i386
@ lldb_es_i386
Definition: lldb-x86-register-enums.h:33
RegisterContextPOSIX_x86::RegInfo::num_gpr_registers
uint32_t num_gpr_registers
Definition: RegisterContextPOSIX_x86.h:154
lldb_private::lldb_xmm0_i386
@ lldb_xmm0_i386
Definition: lldb-x86-register-enums.h:83
lldb_private::lldb_st7_x86_64
@ lldb_st7_x86_64
Definition: lldb-x86-register-enums.h:244
lldb_private::k_first_fpr_x86_64
@ k_first_fpr_x86_64
Definition: lldb-x86-register-enums.h:224
RegisterContextPOSIX_x86::g_invalidate_fip
static uint32_t g_invalidate_fip[]
Definition: RegisterContextPOSIX_x86.h:112
RegisterContextPOSIX_x86::RegInfo::first_mm
uint32_t first_mm
Definition: RegisterContextPOSIX_x86.h:164
lldb_private::lldb_edi_i386
@ lldb_edi_i386
Definition: lldb-x86-register-enums.h:22
lldb_private::Thread
Definition: Thread.h:60
lldb_private::lldb_ecx_x86_64
@ lldb_ecx_x86_64
Definition: lldb-x86-register-enums.h:170
RegisterContextPOSIX_x86::GetRegisterInfo
virtual const lldb_private::RegisterInfo * GetRegisterInfo()
Definition: RegisterContextPOSIX_x86.cpp:493
RegisterContextPOSIX_x86::g_contained_st0_32
static uint32_t g_contained_st0_32[]
Definition: RegisterContextPOSIX_x86.h:115
lldb_private::lldb_dx_i386
@ lldb_dx_i386
Definition: lldb-x86-register-enums.h:39
lldb_private::lldb_al_i386
@ lldb_al_i386
Definition: lldb-x86-register-enums.h:48
lldb_private::lldb_fioff_x86_64
@ lldb_fioff_x86_64
Definition: lldb-x86-register-enums.h:230
lldb_private::lldb_ch_x86_64
@ lldb_ch_x86_64
Definition: lldb-x86-register-enums.h:202
g_reg_sets_i386
static const RegisterSet g_reg_sets_i386[k_num_register_sets]
Definition: RegisterContextPOSIX_x86.cpp:360
RegisterContextPOSIX_x86::g_contained_r15
static uint32_t g_contained_r15[]
Definition: RegisterContextPOSIX_x86.h:90
lldb_private::lldb_dl_i386
@ lldb_dl_i386
Definition: lldb-x86-register-enums.h:51
lldb_private::lldb_ymm14_x86_64
@ lldb_ymm14_x86_64
Definition: lldb-x86-register-enums.h:286
lldb_private::lldb_rbx_x86_64
@ lldb_rbx_x86_64
Definition: lldb-x86-register-enums.h:143
lldb_private::lldb_xmm1_x86_64
@ lldb_xmm1_x86_64
Definition: lldb-x86-register-enums.h:254
RegisterContextPOSIX_x86::g_contained_r9
static uint32_t g_contained_r9[]
Definition: RegisterContextPOSIX_x86.h:84
lldb_private::XStateToYMM
YMMReg XStateToYMM(const void *xmm_bytes, const void *ymmh_bytes)
Definition: RegisterContext_x86.h:371
lldb_private::lldb_rcx_x86_64
@ lldb_rcx_x86_64
Definition: lldb-x86-register-enums.h:144
lldb_private::lldb_cx_i386
@ lldb_cx_i386
Definition: lldb-x86-register-enums.h:38
RegisterContextPOSIX_x86::g_invalidate_st0_64
static uint32_t g_invalidate_st0_64[]
Definition: RegisterContextPOSIX_x86.h:142
lldb_private::lldb_xmm8_x86_64
@ lldb_xmm8_x86_64
Definition: lldb-x86-register-enums.h:261
lldb_private::lldb_r12_x86_64
@ lldb_r12_x86_64
Definition: lldb-x86-register-enums.h:154
RegisterContextPOSIX_x86::Invalidate
void Invalidate()
Definition: RegisterContextPOSIX_x86.cpp:463
lldb_private::lldb_xmm12_x86_64
@ lldb_xmm12_x86_64
Definition: lldb-x86-register-enums.h:265
RegisterContextPOSIX_x86::g_contained_rax
static uint32_t g_contained_rax[]
Definition: RegisterContextPOSIX_x86.h:75
lldb_private::lldb_xmm5_x86_64
@ lldb_xmm5_x86_64
Definition: lldb-x86-register-enums.h:258
RegisterContextPOSIX_x86::g_invalidate_st5_64
static uint32_t g_invalidate_st5_64[]
Definition: RegisterContextPOSIX_x86.h:147
lldb_private::YMM::ymm
YMMReg ymm[16]
Definition: RegisterContext_x86.h:304
lldb_private::lldb_xmm0_x86_64
@ lldb_xmm0_x86_64
Definition: lldb-x86-register-enums.h:253
lldb_private::lldb_st4_x86_64
@ lldb_st4_x86_64
Definition: lldb-x86-register-enums.h:241
lldb_private::lldb_fdp_x86_64
@ lldb_fdp_x86_64
Definition: lldb-x86-register-enums.h:234
lldb_private::lldb_ftag_i386
@ lldb_ftag_i386
Definition: lldb-x86-register-enums.h:59
lldb_private::lldb_ecx_i386
@ lldb_ecx_i386
Definition: lldb-x86-register-enums.h:20
lldb_private::lldb_ymm2_i386
@ lldb_ymm2_i386
Definition: lldb-x86-register-enums.h:96
RegisterContextPOSIX_x86::g_invalidate_st2_32
static uint32_t g_invalidate_st2_32[]
Definition: RegisterContextPOSIX_x86.h:126
lldb_private::lldb_bp_i386
@ lldb_bp_i386
Definition: lldb-x86-register-enums.h:42
RegisterContextPOSIX_x86::RegInfo::first_st
uint32_t first_st
Definition: RegisterContextPOSIX_x86.h:162
lldb_private::FPR
Definition: RegisterContext_x86.h:363
lldb_private::lldb_rsp_x86_64
@ lldb_rsp_x86_64
Definition: lldb-x86-register-enums.h:149
lldb_private::lldb_r8w_x86_64
@ lldb_r8w_x86_64
Definition: lldb-x86-register-enums.h:192
g_reg_sets_x86_64
static const RegisterSet g_reg_sets_x86_64[k_num_register_sets]
Definition: RegisterContextPOSIX_x86.cpp:368
RegisterContextPOSIX_x86::g_contained_rdi
static uint32_t g_contained_rdi[]
Definition: RegisterContextPOSIX_x86.h:79
RegisterContextPOSIX_x86::RegInfo::num_registers
uint32_t num_registers
Definition: RegisterContextPOSIX_x86.h:153
lldb_private::k_last_fpr_i386
@ k_last_fpr_i386
Definition: lldb-x86-register-enums.h:91
RegisterContextPOSIX_x86::g_invalidate_st1_64
static uint32_t g_invalidate_st1_64[]
Definition: RegisterContextPOSIX_x86.h:143
RegisterContextPOSIX_x86::g_contained_st1_32
static uint32_t g_contained_st1_32[]
Definition: RegisterContextPOSIX_x86.h:116
set
set(option_framework FRAMEWORK) endif() if(LLDB_ENABLE_PYTHON) get_target_property(python_bindings_dir swig_wrapper_python BINARY_DIR) set(lldb_python_wrapper $
Definition: API/CMakeLists.txt:9
lldb_private::lldb_ebx_i386
@ lldb_ebx_i386
Definition: lldb-x86-register-enums.h:19
lldb_private::lldb_r9l_x86_64
@ lldb_r9l_x86_64
Definition: lldb-x86-register-enums.h:213
lldb_private::lldb_sp_x86_64
@ lldb_sp_x86_64
Definition: lldb-x86-register-enums.h:191
lldb_private::k_num_avx_registers_i386
@ k_num_avx_registers_i386
Definition: lldb-x86-register-enums.h:130
lldb_private::lldb_ymm0_x86_64
@ lldb_ymm0_x86_64
Definition: lldb-x86-register-enums.h:272
RegisterContextPOSIX_x86::RegInfo::first_dr
uint32_t first_dr
Definition: RegisterContextPOSIX_x86.h:171
Thread.h
lldb_private::lldb_dx_x86_64
@ lldb_dx_x86_64
Definition: lldb-x86-register-enums.h:187
lldb_private::lldb_ymm10_x86_64
@ lldb_ymm10_x86_64
Definition: lldb-x86-register-enums.h:282
RegisterContextPOSIX_x86::g_contained_rbp
static uint32_t g_contained_rbp[]
Definition: RegisterContextPOSIX_x86.h:81
lldb_private::XSAVE::ymmh
YMMHReg ymmh[16]
Definition: RegisterContext_x86.h:353
lldb_private::lldb_r15w_x86_64
@ lldb_r15w_x86_64
Definition: lldb-x86-register-enums.h:199
lldb_private::lldb_fip_x86_64
@ lldb_fip_x86_64
Definition: lldb-x86-register-enums.h:231
lldb_private::RegisterContext
Definition: RegisterContext.h:17
lldb_private::lldb_xmm2_i386
@ lldb_xmm2_i386
Definition: lldb-x86-register-enums.h:85
lldb_private::lldb_r13l_x86_64
@ lldb_r13l_x86_64
Definition: lldb-x86-register-enums.h:217
lldb_private::lldb_mm0_x86_64
@ lldb_mm0_x86_64
Definition: lldb-x86-register-enums.h:245
RegisterContextPOSIX_x86::g_invalidate_r8
static uint32_t g_invalidate_r8[]
Definition: RegisterContextPOSIX_x86.h:100
lldb_private::lldb_mm5_i386
@ lldb_mm5_i386
Definition: lldb-x86-register-enums.h:80
lldb_private::lldb_edi_x86_64
@ lldb_edi_x86_64
Definition: lldb-x86-register-enums.h:172
lldb_private::lldb_di_x86_64
@ lldb_di_x86_64
Definition: lldb-x86-register-enums.h:188
lldb_private::lldb_rax_x86_64
@ lldb_rax_x86_64
Definition: lldb-x86-register-enums.h:142
RegisterContextPOSIX_x86::GetRegisterName
const char * GetRegisterName(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:533
RegisterContextPOSIX_x86::RegInfo::first_xmm
uint32_t first_xmm
Definition: RegisterContextPOSIX_x86.h:166
g_gpr_regnums_x86_64
static const uint32_t g_gpr_regnums_x86_64[]
Definition: RegisterContextPOSIX_x86.cpp:75
lldb_private::lldb_si_x86_64
@ lldb_si_x86_64
Definition: lldb-x86-register-enums.h:189
lldb_private::lldb_r10l_x86_64
@ lldb_r10l_x86_64
Definition: lldb-x86-register-enums.h:214
RegisterContextPOSIX_x86::GetGPRSize
virtual size_t GetGPRSize()
Definition: RegisterContextPOSIX_x86.cpp:485
lldb_private::lldb_bl_x86_64
@ lldb_bl_x86_64
Definition: lldb-x86-register-enums.h:205
lldb_private::lldb_ah_x86_64
@ lldb_ah_x86_64
Definition: lldb-x86-register-enums.h:200
lldb_private::lldb_r9_x86_64
@ lldb_r9_x86_64
Definition: lldb-x86-register-enums.h:151
RegisterContextPOSIX_x86::g_contained_st7_64
static uint32_t g_contained_st7_64[]
Definition: RegisterContextPOSIX_x86.h:140
lldb_private::k_num_registers_i386
@ k_num_registers_i386
Definition: lldb-x86-register-enums.h:127
RegisterContextPOSIX_x86::g_invalidate_st7_32
static uint32_t g_invalidate_st7_32[]
Definition: RegisterContextPOSIX_x86.h:131
RegisterContextPOSIX_x86::RegInfo::last_gpr
uint32_t last_gpr
Definition: RegisterContextPOSIX_x86.h:158
lldb_private::lldb_xmm11_x86_64
@ lldb_xmm11_x86_64
Definition: lldb-x86-register-enums.h:264
lldb_private::lldb_ss_x86_64
@ lldb_ss_x86_64
Definition: lldb-x86-register-enums.h:163
lldb_private::lldb_xmm4_i386
@ lldb_xmm4_i386
Definition: lldb-x86-register-enums.h:87
g_avx_regnums_i386
const uint32_t g_avx_regnums_i386[]
Definition: RegisterContextPOSIX_x86.cpp:64
RegisterContextPOSIX_x86::g_contained_st1_64
static uint32_t g_contained_st1_64[]
Definition: RegisterContextPOSIX_x86.h:134
RegisterContextPOSIX_x86::g_contained_fdp
static uint32_t g_contained_fdp[]
Definition: RegisterContextPOSIX_x86.h:110
RegisterContextPOSIX_x86::InvalidateAllRegisters
void InvalidateAllRegisters() override
Definition: RegisterContextPOSIX_x86.cpp:465
lldb_private::k_num_avx_registers_x86_64
@ k_num_avx_registers_x86_64
Definition: lldb-x86-register-enums.h:316
lldb_private::lldb_fs_i386
@ lldb_fs_i386
Definition: lldb-x86-register-enums.h:29
RegisterContextPOSIX_x86::g_invalidate_esp
static uint32_t g_invalidate_esp[]
Definition: RegisterContextPOSIX_x86.h:73
RegisterContextPOSIX_x86::GetRegisterSet
const lldb_private::RegisterSet * GetRegisterSet(size_t set) override
Definition: RegisterContextPOSIX_x86.cpp:518
lldb_private::lldb_r8d_x86_64
@ lldb_r8d_x86_64
Definition: lldb-x86-register-enums.h:176
lldb_private::lldb_cs_i386
@ lldb_cs_i386
Definition: lldb-x86-register-enums.h:28
uint32_t
RegisterContextPOSIX_x86::GetRegisterSetCount
size_t GetRegisterSetCount() override
Definition: RegisterContextPOSIX_x86.cpp:508
lldb_private::lldb_r8l_x86_64
@ lldb_r8l_x86_64
Definition: lldb-x86-register-enums.h:212
lldb_private::lldb_r14w_x86_64
@ lldb_r14w_x86_64
Definition: lldb-x86-register-enums.h:198
RegisterContextPOSIX_x86::g_invalidate_rbp
static uint32_t g_invalidate_rbp[]
Definition: RegisterContextPOSIX_x86.h:98
RegisterContextPOSIX_x86::RegInfo::first_ymm
uint32_t first_ymm
Definition: RegisterContextPOSIX_x86.h:168
RegisterContextPOSIX_x86::RegInfo::num_fpr_registers
uint32_t num_fpr_registers
Definition: RegisterContextPOSIX_x86.h:155
lldb_private::lldb_fstat_i386
@ lldb_fstat_i386
Definition: lldb-x86-register-enums.h:58
RegisterContextPOSIX_x86::g_invalidate_st1_32
static uint32_t g_invalidate_st1_32[]
Definition: RegisterContextPOSIX_x86.h:125
lldb_private::lldb_ds_i386
@ lldb_ds_i386
Definition: lldb-x86-register-enums.h:32
lldb_private::lldb_ymm1_x86_64
@ lldb_ymm1_x86_64
Definition: lldb-x86-register-enums.h:273
RegisterContextPOSIX_x86::m_fpr_type
FPRType m_fpr_type
Definition: RegisterContextPOSIX_x86.h:181
RegisterContextPOSIX_x86::g_invalidate_rdi
static uint32_t g_invalidate_rdi[]
Definition: RegisterContextPOSIX_x86.h:96
lldb_private::lldb_r12d_x86_64
@ lldb_r12d_x86_64
Definition: lldb-x86-register-enums.h:180
lldb_private::k_num_gpr_registers_x86_64
@ k_num_gpr_registers_x86_64
Definition: lldb-x86-register-enums.h:314
lldb_private::lldb_bh_i386
@ lldb_bh_i386
Definition: lldb-x86-register-enums.h:45
RegisterContextPOSIX_x86::GetRegisterSize
virtual unsigned GetRegisterSize(unsigned reg)
Definition: RegisterContextPOSIX_x86.cpp:472
lldb_private::lldb_sp_i386
@ lldb_sp_i386
Definition: lldb-x86-register-enums.h:43
lldb_private::lldb_mm7_i386
@ lldb_mm7_i386
Definition: lldb-x86-register-enums.h:82
lldb_private::lldb_r11l_x86_64
@ lldb_r11l_x86_64
Definition: lldb-x86-register-enums.h:215
RegisterContextPOSIX_x86::g_invalidate_rsp
static uint32_t g_invalidate_rsp[]
Definition: RegisterContextPOSIX_x86.h:99
lldb_private::lldb_edx_i386
@ lldb_edx_i386
Definition: lldb-x86-register-enums.h:21
RegisterContextPOSIX_x86::CopyYMMtoXSTATE
bool CopyYMMtoXSTATE(uint32_t reg, lldb::ByteOrder byte_order)
Definition: RegisterContextPOSIX_x86.cpp:539
RegisterContextPOSIX_x86::GetRegisterInfoAtIndex
const lldb_private::RegisterInfo * GetRegisterInfoAtIndex(size_t reg) override
Definition: RegisterContextPOSIX_x86.cpp:501
RegisterContextPOSIX_x86::IsRegisterSetAvailable
virtual bool IsRegisterSetAvailable(size_t set_index)
Definition: RegisterContextPOSIX_x86.cpp:572
lldb_private::lldb_ebp_i386
@ lldb_ebp_i386
Definition: lldb-x86-register-enums.h:24
lldb_private::lldb_r12l_x86_64
@ lldb_r12l_x86_64
Definition: lldb-x86-register-enums.h:216
lldb_private::lldb_al_x86_64
@ lldb_al_x86_64
Definition: lldb-x86-register-enums.h:204
lldb_private::lldb_eax_x86_64
@ lldb_eax_x86_64
Definition: lldb-x86-register-enums.h:168
lldb_private::k_num_registers_x86_64
@ k_num_registers_x86_64
Definition: lldb-x86-register-enums.h:313
lldb_private::lldb_st0_x86_64
@ lldb_st0_x86_64
Definition: lldb-x86-register-enums.h:237
lldb_private::lldb_fioff_i386
@ lldb_fioff_i386
Definition: lldb-x86-register-enums.h:62
lldb_private::lldb_bl_i386
@ lldb_bl_i386
Definition: lldb-x86-register-enums.h:49
lldb_private::lldb_dh_x86_64
@ lldb_dh_x86_64
Definition: lldb-x86-register-enums.h:203
lldb_private::lldb_ss_i386
@ lldb_ss_i386
Definition: lldb-x86-register-enums.h:31
RegisterContextPOSIX_x86::g_invalidate_rcx
static uint32_t g_invalidate_rcx[]
Definition: RegisterContextPOSIX_x86.h:94
lldb_private::lldb_esi_i386
@ lldb_esi_i386
Definition: lldb-x86-register-enums.h:23
lldb_private::lldb_ftag_x86_64
@ lldb_ftag_x86_64
Definition: lldb-x86-register-enums.h:227
lldb_private::lldb_es_x86_64
@ lldb_es_x86_64
Definition: lldb-x86-register-enums.h:165
lldb_private::lldb_mm2_x86_64
@ lldb_mm2_x86_64
Definition: lldb-x86-register-enums.h:247
RegisterContextPOSIX_x86::g_contained_ecx
static uint32_t g_contained_ecx[]
Definition: RegisterContextPOSIX_x86.h:59
lldb_private::lldb_eflags_i386
@ lldb_eflags_i386
Definition: lldb-x86-register-enums.h:27
lldb_private::lldb_mm1_i386
@ lldb_mm1_i386
Definition: lldb-x86-register-enums.h:76
lldb_private::lldb_rflags_x86_64
@ lldb_rflags_x86_64
Definition: lldb-x86-register-enums.h:159
RegisterContextPOSIX_x86::RegInfo::gpr_flags
uint32_t gpr_flags
Definition: RegisterContextPOSIX_x86.h:172
lldb_private::FPR::fxsave
FXSAVE fxsave
Definition: RegisterContext_x86.h:364
RegisterContextPOSIX_x86::RegInfo::last_mm
uint32_t last_mm
Definition: RegisterContextPOSIX_x86.h:165
lldb_private::lldb_mm1_x86_64
@ lldb_mm1_x86_64
Definition: lldb-x86-register-enums.h:246
RegisterContextPOSIX_x86::g_invalidate_st0_32
static uint32_t g_invalidate_st0_32[]
Definition: RegisterContextPOSIX_x86.h:124
RegisterContextPOSIX_x86::g_contained_rsp
static uint32_t g_contained_rsp[]
Definition: RegisterContextPOSIX_x86.h:82
lldb_private::lldb_dl_x86_64
@ lldb_dl_x86_64
Definition: lldb-x86-register-enums.h:207
lldb_private::lldb_sil_x86_64
@ lldb_sil_x86_64
Definition: lldb-x86-register-enums.h:209
lldb_private::lldb_r10w_x86_64
@ lldb_r10w_x86_64
Definition: lldb-x86-register-enums.h:194
RegisterContextPOSIX_x86::RegInfo::num_avx_registers
uint32_t num_avx_registers
Definition: RegisterContextPOSIX_x86.h:156
DataExtractor.h
g_gpr_regnums_i386
const uint32_t g_gpr_regnums_i386[]
Definition: RegisterContextPOSIX_x86.cpp:29
lldb_private::XMMReg::bytes
uint8_t bytes[16]
Definition: RegisterContext_x86.h:262
lldb_private::lldb_r15_x86_64
@ lldb_r15_x86_64
Definition: lldb-x86-register-enums.h:157
lldb_private::lldb_mxcsr_i386
@ lldb_mxcsr_i386
Definition: lldb-x86-register-enums.h:65
lldb_private::lldb_xmm15_x86_64
@ lldb_xmm15_x86_64
Definition: lldb-x86-register-enums.h:268
RegisterContextPOSIX_x86::g_contained_esp
static uint32_t g_contained_esp[]
Definition: RegisterContextPOSIX_x86.h:64
lldb_private::lldb_r11d_x86_64
@ lldb_r11d_x86_64
Definition: lldb-x86-register-enums.h:179
lldb_private::k_num_fpr_registers_i386
@ k_num_fpr_registers_i386
Definition: lldb-x86-register-enums.h:129
RegisterContextPOSIX_x86::g_invalidate_st4_32
static uint32_t g_invalidate_st4_32[]
Definition: RegisterContextPOSIX_x86.h:128
RegisterContextPOSIX_x86::g_contained_eax
static uint32_t g_contained_eax[]
Definition: RegisterContextPOSIX_x86.h:57
lldb_private::lldb_st6_i386
@ lldb_st6_i386
Definition: lldb-x86-register-enums.h:73
RegisterContext_x86.h
lldb_private::lldb_ax_x86_64
@ lldb_ax_x86_64
Definition: lldb-x86-register-enums.h:184
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::lldb_xmm9_x86_64
@ lldb_xmm9_x86_64
Definition: lldb-x86-register-enums.h:262
lldb_private::lldb_xmm3_x86_64
@ lldb_xmm3_x86_64
Definition: lldb-x86-register-enums.h:256
lldb_private::lldb_st4_i386
@ lldb_st4_i386
Definition: lldb-x86-register-enums.h:71
RegisterContextPOSIX_x86::g_contained_st0_64
static uint32_t g_contained_st0_64[]
Definition: RegisterContextPOSIX_x86.h:133
lldb_private::lldb_xmm6_x86_64
@ lldb_xmm6_x86_64
Definition: lldb-x86-register-enums.h:259
lldb_private::lldb_bx_i386
@ lldb_bx_i386
Definition: lldb-x86-register-enums.h:37
RegisterContextPOSIX_x86::eXSAVE
@ eXSAVE
Definition: RegisterContextPOSIX_x86.h:54
RegisterContextPOSIX_x86::g_invalidate_st5_32
static uint32_t g_invalidate_st5_32[]
Definition: RegisterContextPOSIX_x86.h:129
lldb_private::lldb_xmm10_x86_64
@ lldb_xmm10_x86_64
Definition: lldb-x86-register-enums.h:263
lldb_private::lldb_esi_x86_64
@ lldb_esi_x86_64
Definition: lldb-x86-register-enums.h:173
lldb_private::k_first_fpr_i386
@ k_first_fpr_i386
Definition: lldb-x86-register-enums.h:56
lldb_private::lldb_ymm8_x86_64
@ lldb_ymm8_x86_64
Definition: lldb-x86-register-enums.h:280
lldb_private::lldb_rsi_x86_64
@ lldb_rsi_x86_64
Definition: lldb-x86-register-enums.h:147
lldb_private::lldb_gs_x86_64
@ lldb_gs_x86_64
Definition: lldb-x86-register-enums.h:162
RegisterContextPOSIX_x86::g_invalidate_r9
static uint32_t g_invalidate_r9[]
Definition: RegisterContextPOSIX_x86.h:101
RegisterContextPOSIX_x86::g_invalidate_st4_64
static uint32_t g_invalidate_st4_64[]
Definition: RegisterContextPOSIX_x86.h:146
lldb_private::lldb_st7_i386
@ lldb_st7_i386
Definition: lldb-x86-register-enums.h:74
lldb_private::lldb_st2_i386
@ lldb_st2_i386
Definition: lldb-x86-register-enums.h:69
RegisterContextPOSIX_x86::g_invalidate_ebx
static uint32_t g_invalidate_ebx[]
Definition: RegisterContextPOSIX_x86.h:67
RegisterContextPOSIX_x86::g_contained_rbx
static uint32_t g_contained_rbx[]
Definition: RegisterContextPOSIX_x86.h:76
RegisterContextPOSIX_x86::g_invalidate_r13
static uint32_t g_invalidate_r13[]
Definition: RegisterContextPOSIX_x86.h:105
RegisterContextPOSIX_x86::ReadFPR
virtual bool ReadFPR()=0
lldb_private::lldb_r10d_x86_64
@ lldb_r10d_x86_64
Definition: lldb-x86-register-enums.h:178
RegisterContextPOSIX_x86::FPRType
FPRType
Definition: RegisterContextPOSIX_x86.h:49
lldb_private::lldb_cx_x86_64
@ lldb_cx_x86_64
Definition: lldb-x86-register-enums.h:186
RegisterContextPOSIX_x86::g_invalidate_edx
static uint32_t g_invalidate_edx[]
Definition: RegisterContextPOSIX_x86.h:69
RegisterContextPOSIX_x86::g_contained_st3_32
static uint32_t g_contained_st3_32[]
Definition: RegisterContextPOSIX_x86.h:118
lldb_private::lldb_fstat_x86_64
@ lldb_fstat_x86_64
Definition: lldb-x86-register-enums.h:226
lldb_private::lldb_rdi_x86_64
@ lldb_rdi_x86_64
Definition: lldb-x86-register-enums.h:146
lldb_private::lldb_xmm5_i386
@ lldb_xmm5_i386
Definition: lldb-x86-register-enums.h:88
RegisterContextPOSIX_x86::g_contained_st5_32
static uint32_t g_contained_st5_32[]
Definition: RegisterContextPOSIX_x86.h:120
RegisterContextPOSIX_x86::g_contained_st4_32
static uint32_t g_contained_st4_32[]
Definition: RegisterContextPOSIX_x86.h:119
lldb_private::lldb_fooff_i386
@ lldb_fooff_i386
Definition: lldb-x86-register-enums.h:64
RegisterContextPOSIX_x86::g_invalidate_st6_64
static uint32_t g_invalidate_st6_64[]
Definition: RegisterContextPOSIX_x86.h:148
lldb_private::lldb_ymm6_x86_64
@ lldb_ymm6_x86_64
Definition: lldb-x86-register-enums.h:278
lldb_private::lldb_mm6_i386
@ lldb_mm6_i386
Definition: lldb-x86-register-enums.h:81
RegisterContextPOSIX_x86::~RegisterContextPOSIX_x86
~RegisterContextPOSIX_x86() override
lldb_private::k_last_gpr_i386
@ k_last_gpr_i386
Definition: lldb-x86-register-enums.h:54
lldb_private::lldb_mm3_i386
@ lldb_mm3_i386
Definition: lldb-x86-register-enums.h:78
RegisterContextPOSIX_x86::g_invalidate_ebp
static uint32_t g_invalidate_ebp[]
Definition: RegisterContextPOSIX_x86.h:72
lldb_private::YMMHReg::bytes
uint8_t bytes[16]
Definition: RegisterContext_x86.h:296
lldb_private::lldb_st5_x86_64
@ lldb_st5_x86_64
Definition: lldb-x86-register-enums.h:242
lldb_private::lldb_fctrl_x86_64
@ lldb_fctrl_x86_64
Definition: lldb-x86-register-enums.h:225
lldb::eByteOrderLittle
@ eByteOrderLittle
Definition: lldb-enumerations.h:142
lldb_private::lldb_ds_x86_64
@ lldb_ds_x86_64
Definition: lldb-x86-register-enums.h:164
RegisterContextPOSIX_x86::g_contained_fip
static uint32_t g_contained_fip[]
Definition: RegisterContextPOSIX_x86.h:109
lldb_private::lldb_fctrl_i386
@ lldb_fctrl_i386
Definition: lldb-x86-register-enums.h:57
lldb
Definition: SBAddress.h:15
lldb_private::lldb_r9d_x86_64
@ lldb_r9d_x86_64
Definition: lldb-x86-register-enums.h:177
RegisterContextPOSIX_x86::g_contained_rcx
static uint32_t g_contained_rcx[]
Definition: RegisterContextPOSIX_x86.h:77
Endian.h
lldb_private::lldb_st2_x86_64
@ lldb_st2_x86_64
Definition: lldb-x86-register-enums.h:239
RegisterContextPOSIX_x86::g_contained_r8
static uint32_t g_contained_r8[]
Definition: RegisterContextPOSIX_x86.h:83
RegisterContextPOSIX_x86::g_contained_st3_64
static uint32_t g_contained_st3_64[]
Definition: RegisterContextPOSIX_x86.h:136
lldb_private::lldb_ymm13_x86_64
@ lldb_ymm13_x86_64
Definition: lldb-x86-register-enums.h:285
lldb_private::lldb_fs_x86_64
@ lldb_fs_x86_64
Definition: lldb-x86-register-enums.h:161
RegisterContextPOSIX_x86::g_contained_st2_64
static uint32_t g_contained_st2_64[]
Definition: RegisterContextPOSIX_x86.h:135
lldb_private::lldb_ymm11_x86_64
@ lldb_ymm11_x86_64
Definition: lldb-x86-register-enums.h:283
RegisterContextPOSIX_x86::RegInfo::last_st
uint32_t last_st
Definition: RegisterContextPOSIX_x86.h:163
DataBufferHeap.h
lldb_private::lldb_si_i386
@ lldb_si_i386
Definition: lldb-x86-register-enums.h:41
lldb_private::lldb_eip_i386
@ lldb_eip_i386
Definition: lldb-x86-register-enums.h:26
lldb_private::lldb_gs_i386
@ lldb_gs_i386
Definition: lldb-x86-register-enums.h:30
lldb_private::lldb_fop_i386
@ lldb_fop_i386
Definition: lldb-x86-register-enums.h:60
lldb_private::lldb_esp_x86_64
@ lldb_esp_x86_64
Definition: lldb-x86-register-enums.h:175
lldb::ByteOrder
ByteOrder
Byte ordering definitions.
Definition: lldb-enumerations.h:138
RegisterContextPOSIX_x86::eNotValid
@ eNotValid
Definition: RegisterContextPOSIX_x86.h:50
RegisterContextPOSIX_x86::g_invalidate_fdp
static uint32_t g_invalidate_fdp[]
Definition: RegisterContextPOSIX_x86.h:113
RegisterContextPOSIX_x86::GetFXSAVEOffset
virtual size_t GetFXSAVEOffset()
Definition: RegisterContextPOSIX_x86.cpp:489
RegisterContextPOSIX_x86::GetRegisterCount
size_t GetRegisterCount() override
Definition: RegisterContextPOSIX_x86.cpp:477
RegisterContextPOSIX_x86::g_invalidate_rdx
static uint32_t g_invalidate_rdx[]
Definition: RegisterContextPOSIX_x86.h:95