forked from OSchip/llvm-project
![]() Added the ability for OS plug-ins to lazily populate the thread this. The python OS plug-in classes can now implement the following method: class OperatingSystemPlugin: def create_thread(self, tid, context): # Return a dictionary for a new thread to create it on demand This will add a new thread to the thread list if it doesn't already exist. The example code in lldb/examples/python/operating_system.py has been updated to show how this call us used. Cleaned up the code in PythonDataObjects.cpp/h: - renamed all classes that started with PythonData* to be Python*. - renamed PythonArray to PythonList. Cleaned up the code to use inheritance where - Centralized the code that does ref counting in the PythonObject class to a single function. - Made the "bool PythonObject::Reset(PyObject *)" function be virtual so each subclass can correctly check to ensure a PyObject is of the right type before adopting the object. - Cleaned up all APIs and added new constructors for the Python* classes to they can all construct form: - PyObject * - const PythonObject & - const lldb::ScriptInterpreterObjectSP & Cleaned up code in ScriptInterpreterPython: - Made calling python functions safer by templatizing the production of value formats. Python specifies the value formats based on built in C types (long, long long, etc), and code often uses typedefs for uint32_t, uint64_t, etc when passing arguments down to python. We will now always produce correct value formats as the templatized code will "do the right thing" all the time. - Fixed issues with the ScriptInterpreterPython::Locker where entering the session and leaving the session had a bunch of issues that could cause the "lldb" module globals lldb.debugger, lldb.target, lldb.process, lldb.thread, and lldb.frame to not be initialized. llvm-svn: 172873 |
||
---|---|---|
.. | ||
Makefile | ||
SBAddress.cpp | ||
SBBlock.cpp | ||
SBBreakpoint.cpp | ||
SBBreakpointLocation.cpp | ||
SBBroadcaster.cpp | ||
SBCommandInterpreter.cpp | ||
SBCommandReturnObject.cpp | ||
SBCommunication.cpp | ||
SBCompileUnit.cpp | ||
SBData.cpp | ||
SBDebugger.cpp | ||
SBDeclaration.cpp | ||
SBError.cpp | ||
SBEvent.cpp | ||
SBExpressionOptions.cpp | ||
SBFileSpec.cpp | ||
SBFileSpecList.cpp | ||
SBFrame.cpp | ||
SBFunction.cpp | ||
SBHostOS.cpp | ||
SBInputReader.cpp | ||
SBInstruction.cpp | ||
SBInstructionList.cpp | ||
SBLineEntry.cpp | ||
SBListener.cpp | ||
SBModule.cpp | ||
SBProcess.cpp | ||
SBSection.cpp | ||
SBSourceManager.cpp | ||
SBStream.cpp | ||
SBStringList.cpp | ||
SBSymbol.cpp | ||
SBSymbolContext.cpp | ||
SBSymbolContextList.cpp | ||
SBTarget.cpp | ||
SBThread.cpp | ||
SBType.cpp | ||
SBTypeCategory.cpp | ||
SBTypeFilter.cpp | ||
SBTypeFormat.cpp | ||
SBTypeNameSpecifier.cpp | ||
SBTypeSummary.cpp | ||
SBTypeSynthetic.cpp | ||
SBValue.cpp | ||
SBValueList.cpp | ||
SBWatchpoint.cpp |