LLDB mainline
ABIWindows_x86_64.cpp File Reference
#include "ABIWindows_x86_64.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/Triple.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Symbol/UnwindPlan.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
#include "lldb/ValueObject/ValueObjectConstResult.h"
#include "lldb/ValueObject/ValueObjectMemory.h"
#include "lldb/ValueObject/ValueObjectRegister.h"
#include <optional>

Go to the source code of this file.

Enumerations

enum  dwarf_regnums {
  dwarf_rax = 0 , dwarf_rdx , dwarf_rcx , dwarf_rbx ,
  dwarf_rsi , dwarf_rdi , dwarf_rbp , dwarf_rsp ,
  dwarf_r8 , dwarf_r9 , dwarf_r10 , dwarf_r11 ,
  dwarf_r12 , dwarf_r13 , dwarf_r14 , dwarf_r15 ,
  dwarf_rip , dwarf_xmm0 , dwarf_xmm1 , dwarf_xmm2 ,
  dwarf_xmm3 , dwarf_xmm4 , dwarf_xmm5 , dwarf_xmm6 ,
  dwarf_xmm7 , dwarf_xmm8 , dwarf_xmm9 , dwarf_xmm10 ,
  dwarf_xmm11 , dwarf_xmm12 , dwarf_xmm13 , dwarf_xmm14 ,
  dwarf_xmm15 , dwarf_stmm0 , dwarf_stmm1 , dwarf_stmm2 ,
  dwarf_stmm3 , dwarf_stmm4 , dwarf_stmm5 , dwarf_stmm6 ,
  dwarf_stmm7 , dwarf_ymm0 , dwarf_ymm1 , dwarf_ymm2 ,
  dwarf_ymm3 , dwarf_ymm4 , dwarf_ymm5 , dwarf_ymm6 ,
  dwarf_ymm7 , dwarf_ymm8 , dwarf_ymm9 , dwarf_ymm10 ,
  dwarf_ymm11 , dwarf_ymm12 , dwarf_ymm13 , dwarf_ymm14 ,
  dwarf_ymm15 , dwarf_bnd0 = 126 , dwarf_bnd1 , dwarf_bnd2 ,
  dwarf_bnd3
}

Functions

static bool ReadIntegerArgument (Scalar &scalar, unsigned int bit_width, bool is_signed, Thread &thread, uint32_t *argument_register_ids, unsigned int &current_argument_register, addr_t &current_stack_argument)
static bool FlattenAggregateType (Thread &thread, ExecutionContext &exe_ctx, CompilerType &return_compiler_type, uint32_t data_byte_offset, std::vector< uint32_t > &aggregate_field_offsets, std::vector< CompilerType > &aggregate_compiler_types)

Enumeration Type Documentation

◆ dwarf_regnums

Enumerator
dwarf_rax 
dwarf_rdx 
dwarf_rcx 
dwarf_rbx 
dwarf_rsi 
dwarf_rdi 
dwarf_rbp 
dwarf_rsp 
dwarf_r8 
dwarf_r9 
dwarf_r10 
dwarf_r11 
dwarf_r12 
dwarf_r13 
dwarf_r14 
dwarf_r15 
dwarf_rip 
dwarf_xmm0 
dwarf_xmm1 
dwarf_xmm2 
dwarf_xmm3 
dwarf_xmm4 
dwarf_xmm5 
dwarf_xmm6 
dwarf_xmm7 
dwarf_xmm8 
dwarf_xmm9 
dwarf_xmm10 
dwarf_xmm11 
dwarf_xmm12 
dwarf_xmm13 
dwarf_xmm14 
dwarf_xmm15 
dwarf_stmm0 
dwarf_stmm1 
dwarf_stmm2 
dwarf_stmm3 
dwarf_stmm4 
dwarf_stmm5 
dwarf_stmm6 
dwarf_stmm7 
dwarf_ymm0 
dwarf_ymm1 
dwarf_ymm2 
dwarf_ymm3 
dwarf_ymm4 
dwarf_ymm5 
dwarf_ymm6 
dwarf_ymm7 
dwarf_ymm8 
dwarf_ymm9 
dwarf_ymm10 
dwarf_ymm11 
dwarf_ymm12 
dwarf_ymm13 
dwarf_ymm14 
dwarf_ymm15 
dwarf_bnd0 
dwarf_bnd1 
dwarf_bnd2 
dwarf_bnd3 

Definition at line 40 of file ABIWindows_x86_64.cpp.

Function Documentation

◆ FlattenAggregateType()

◆ ReadIntegerArgument()

bool ReadIntegerArgument ( Scalar & scalar,
unsigned int bit_width,
bool is_signed,
Thread & thread,
uint32_t * argument_register_ids,
unsigned int & current_argument_register,
addr_t & current_stack_argument )
static

Definition at line 206 of file ABIWindows_x86_64.cpp.

References error(), and lldb_private::Scalar::SignExtend().