llvm-project/lldb/source/Core
Greg Clayton 2ed751bd47 Changed the emulate instruction function to take emulate options which
are defined as enumerations. Current bits include:

        eEmulateInstructionOptionAutoAdvancePC
        eEmulateInstructionOptionIgnoreConditions

Modified the EmulateInstruction class to have a few more pure virtuals that
can help clients understand how many instructions the emulator can handle:

        virtual bool
        SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0;


Where instruction types are defined as:

//------------------------------------------------------------------
/// Instruction types
//------------------------------------------------------------------    
typedef enum InstructionType
{
    eInstructionTypeAny,                // Support for any instructions at all (at least one)
    eInstructionTypePrologueEpilogue,   // All prologue and epilogue instructons that push and pop register values and modify sp/fp
    eInstructionTypePCModifying,        // Any instruction that modifies the program counter/instruction pointer
    eInstructionTypeAll                 // All instructions of any kind

}  InstructionType;


This allows use to tell what an emulator can do and also allows us to request
these abilities when we are finding the plug-in interface.

Added the ability for an EmulateInstruction class to get the register names
for any registers that are part of the emulation. This helps with being able
to dump and log effectively.

The UnwindAssembly class now stores the architecture it was created with in
case it is needed later in the unwinding process.

Added a function that can tell us DWARF register names for ARM that goes
along with the source/Utility/ARM_DWARF_Registers.h file: 

        source/Utility/ARM_DWARF_Registers.c
        
Took some of plug-ins out of the lldb_private namespace.

llvm-svn: 130189
2011-04-26 04:39:08 +00:00
..
Address.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
AddressRange.cpp Made lldb_private::ArchSpec contain much more than just an architecture. It 2011-02-15 21:59:32 +00:00
AddressResolver.cpp
AddressResolverFileLine.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
AddressResolverName.cpp Changed the SymbolFile::FindFunction() function calls to only return 2011-01-27 06:44:37 +00:00
ArchSpec.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Baton.cpp
Broadcaster.cpp Fixed a crasher when enabling logging that is due to the new hijack listener stack changes. 2011-02-10 06:51:22 +00:00
Communication.cpp Added the ability to get a broadcaster event name for a given broadcaster 2011-04-01 00:29:43 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
ConnectionMachPort.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConnectionSharedMemory.cpp Added a speed test to the GDBRemoteCommunicationClient and 2011-04-04 18:18:57 +00:00
ConstString.cpp Made many ConstString functions inlined in the header file. 2010-10-15 22:48:33 +00:00
DataBufferHeap.cpp
DataBufferMemoryMap.cpp Add missing headers. 2011-04-08 13:36:44 +00:00
DataExtractor.cpp Get rid of LONG_LONG_MAX and ULONG_LONG_MAX, and use LLONG_MAX and ULLONG_MAX 2011-04-01 18:14:08 +00:00
Debugger.cpp Did some work on the "register read" command to only show the first register 2011-04-22 03:55:06 +00:00
Disassembler.cpp Changed the emulate instruction function to take emulate options which 2011-04-26 04:39:08 +00:00
DynamicLoader.cpp The DynamicLoader plug-in instance now lives up in lldb_private::Process where 2011-02-16 04:46:07 +00:00
EmulateInstruction.cpp Changed the emulate instruction function to take emulate options which 2011-04-26 04:39:08 +00:00
Error.cpp LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide 2011-03-08 22:40:15 +00:00
Event.cpp Endian patch from Kirk Beitz that allows better cross platform building. 2011-02-01 01:31:41 +00:00
FileLineResolver.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
FileSpecList.cpp Add missing includes. 2010-06-09 08:50:27 +00:00
InputReader.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
Language.cpp Created lldb::LanguageType by moving an enumeration from the 2010-07-28 02:04:09 +00:00
Listener.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
Log.cpp Added auto completion for architecture names and for platforms. 2011-04-13 22:47:15 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
Mangled.cpp Did some work on the "register read" command to only show the first register 2011-04-22 03:55:06 +00:00
Module.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
ModuleChild.cpp
ModuleList.cpp Moved the execution context that was in the Debugger into 2011-04-12 05:54:46 +00:00
Opcode.cpp Added the ability to get the min and max instruction byte size for 2011-03-26 19:14:58 +00:00
PluginManager.cpp Renamed UnwindAssemblyProfiler to UnwindAssembly along with its source files. 2011-04-25 21:14:26 +00:00
RegularExpression.cpp Improved our argument parsing abilities to be able to handle stuff more like 2010-12-19 03:41:24 +00:00
Scalar.cpp Endian patch from Kirk Beitz that allows better cross platform building. 2011-02-01 01:31:41 +00:00
SearchFilter.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
Section.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
SourceManager.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
State.cpp Added support for attaching to a remote debug server with the new command: 2011-02-04 01:58:07 +00:00
Stream.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamFile.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamString.cpp Add missing includes. 2010-06-09 08:50:27 +00:00
StringList.cpp Declare some const functions as const. 2011-03-11 01:48:52 +00:00
Timer.cpp Added a setting to "log timer" so you can see the incremental timings as well: 2010-11-04 23:19:21 +00:00
UUID.cpp Header patch, virtual dtor patch and missed UUID patch from Kirk Beitz. 2011-02-05 02:56:16 +00:00
UserID.cpp Move trivial parts of UserID into the header. 2010-06-22 10:44:12 +00:00
UserSettingsController.cpp Fixed the SymbolContext::DumpStopContext() to correctly indent and dump 2011-04-23 02:04:55 +00:00
VMRange.cpp Added support for inlined stack frames being represented as real stack frames 2010-08-24 00:45:41 +00:00
Value.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
ValueObject.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectChild.cpp Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the 2011-04-16 00:01:13 +00:00
ValueObjectConstResult.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectDynamicValue.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectList.cpp StackFrame objects now own ValueObjects for any frame variables (locals, args, 2010-09-02 02:59:18 +00:00
ValueObjectMemory.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectRegister.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00
ValueObjectVariable.cpp Fix up how the ValueObjects manage their life cycle so that you can hand out a shared 2011-04-22 23:53:53 +00:00