diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/libunwind/src/RemoteUnwindProfile.h')
| -rw-r--r-- | lldb/source/Plugins/Process/Utility/libunwind/src/RemoteUnwindProfile.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/lldb/source/Plugins/Process/Utility/libunwind/src/RemoteUnwindProfile.h b/lldb/source/Plugins/Process/Utility/libunwind/src/RemoteUnwindProfile.h deleted file mode 100644 index a23eb28a8ad..00000000000 --- a/lldb/source/Plugins/Process/Utility/libunwind/src/RemoteUnwindProfile.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- mode: C++; c-basic-offset: 4; tab-width: 4 vi:set tabstop=4 expandtab: -*/ -//===-- RemoteUnwindProfile.h -----------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef __UNWIND_PROFILE_H__ -#define __UNWIND_PROFILE_H__ -#if defined (SUPPORT_REMOTE_UNWINDING) - -#include <vector> - -// The architecture-independent profile of a function's prologue - -namespace lldb_private -{ - -class RemoteUnwindProfile { -public: - RemoteUnwindProfile () : fRegistersSaved(32, 0), fRegSizes(10, 0) { } - struct CFALocation { - int regno; - int offset; - }; - enum RegisterSavedWhere { kRegisterOffsetFromCFA, kRegisterIsCFA }; - enum RegisterType { kGeneralPurposeRegister = 0, kFloatingPointRegister, kVectorRegister }; - struct SavedReg { - int regno; - RegisterSavedWhere location; - int64_t value; - int adj; // Used in kRegisterInRegister e.g. when we recover the caller's rsp by - // taking the contents of rbp and subtracting 16. - RegisterType type; - }; - // In the following maps the key is the address after which this change has effect. - // - // 0 push %rbp - // 1 mov %rsp, %rbp - // 2 sub $16, %rsp - // - // At saved_registers<2> we'll find the record stating that rsp is now stored in rbp. - - std::map<uint64_t, CFALocation> cfa; - std::map<uint64_t, std::vector<SavedReg> > saved_registers; - - struct CFALocation initial_cfa; // At entry to the function - - std::vector<uint8_t> fRegistersSaved; - std::vector<uint8_t> fRegSizes; - SavedReg returnAddress; - uint64_t fStart, fEnd; // low and high pc values for this function. - // END is the addr of the first insn outside the function. - uint64_t fFirstInsnPastPrologue; -}; - -class RemoteProcInfo; - -bool AssemblyParse (RemoteProcInfo *procinfo, unw_accessors_t *accessor, unw_addr_space_t as, uint64_t start, uint64_t end, RemoteUnwindProfile &profile, void *arg); - - -class FuncBounds { - public: - FuncBounds (uint64_t low, uint64_t high) : fStart(low), fEnd(high) { } - uint64_t fStart; - uint64_t fEnd; -}; - -inline bool operator<(const FuncBounds &ap1, const FuncBounds &ap2) { - if (ap1.fStart < ap2.fStart) - return true; - if (ap1.fStart == ap2.fStart && ap1.fEnd < ap2.fEnd) - return true; - return false; -} - - -}; -#endif - - -#endif // __UNWIND_PROFILE_H__ |

