llvm-project/lldb/source/Plugins/Process/Utility
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
..
ARMDefines.h Changed the emulate instruction function to take emulate options which 2011-04-26 04:39:08 +00:00
ARMUtils.h Fix small bug in ThumbExpandImm_C; arguments to a call to 'bits' were 2011-03-24 21:11:26 +00:00
InstructionUtils.h Add "Bits64" utility function. 2011-03-31 03:26:23 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
RegisterContextLLDB.cpp Put plug-ins into the correct directories as they were incorrectly located 2011-04-25 18:36:36 +00:00
RegisterContextLLDB.h Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
RegisterContextMacOSXFrameBackchain.cpp Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
RegisterContextMacOSXFrameBackchain.h Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
StopInfoMachException.cpp Many improvements to the Platform base class and subclasses. The base Platform 2011-03-30 18:16:51 +00:00
StopInfoMachException.h Abtracted the old "lldb_private::Thread::StopInfo" into an abtract class. 2010-08-04 01:40:35 +00:00
UnwindLLDB.cpp Put plug-ins into the correct directories as they were incorrectly located 2011-04-25 18:36:36 +00:00
UnwindLLDB.h Fixed the LLDB build so that we can have private types, private enums and 2011-03-24 21:19:54 +00:00
UnwindMacOSXFrameBackchain.cpp Allow the macosx frame backchain to use 32/64 bit as the selector when 2011-03-04 22:59:14 +00:00
UnwindMacOSXFrameBackchain.h Fixed issues with RegisterContext classes and the subclasses. There was 2011-01-06 22:15:06 +00:00