This commit:
a) adds a Python summary provider for NSDate
b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around
c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side
d) contains much needed performance improvements:
1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time
2) redundant memory reads in the Python ObjC runtime wrapper are eliminated
3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object
e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151703 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Interpreter/ScriptInterpreter.cpp b/source/Interpreter/ScriptInterpreter.cpp
index 826a002..5bdb70e 100644
--- a/source/Interpreter/ScriptInterpreter.cpp
+++ b/source/Interpreter/ScriptInterpreter.cpp
@@ -69,30 +69,10 @@
}
void
-ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
- SWIGBreakpointCallbackFunction python_swig_breakpoint_callback,
- SWIGPythonTypeScriptCallbackFunction python_swig_typescript_callback,
- SWIGPythonCreateSyntheticProvider python_swig_synthetic_script,
- SWIGPythonCalculateNumChildren python_swig_calc_children,
- SWIGPythonGetChildAtIndex python_swig_get_child_index,
- SWIGPythonGetIndexOfChildWithName python_swig_get_index_child,
- SWIGPythonCastPyObjectToSBValue python_swig_cast_to_sbvalue,
- SWIGPythonUpdateSynthProviderInstance python_swig_update_provider,
- SWIGPythonCallCommand python_swig_call_command,
- SWIGPythonCallModuleInit python_swig_call_mod_init)
+ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_callback)
{
#ifndef LLDB_DISABLE_PYTHON
- ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback,
- python_swig_breakpoint_callback,
- python_swig_typescript_callback,
- python_swig_synthetic_script,
- python_swig_calc_children,
- python_swig_get_child_index,
- python_swig_get_index_child,
- python_swig_cast_to_sbvalue,
- python_swig_update_provider,
- python_swig_call_command,
- python_swig_call_mod_init);
+ ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback);
#endif // #ifndef LLDB_DISABLE_PYTHON
}