History log of /external/lldb/examples/summaries/cocoa/objc_runtime.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a3f653492b61ea1d836101d06b7ff439acfd5b3b 30-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12552374> & <rdar://problem/13100674>

The vtable pointer field is not necessarily a pointer and hence cannot be used for validation



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
209473a3e32a515f28cde69464ba2e625ae8f55c 16-Jan-2013 Enrico Granata <egranata@apple.com> Replacing reference to radar number with svn revision



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
62dca4b379a209429629957c35c8d6dfd7982ac1 16-Jan-2013 Enrico Granata <egranata@apple.com> Greg created a new API on SBProcess to get an ID that is guaranteed to be unique even in situations where underlying platforms would actually duplicate or hardcode PIDs

The Python data formatters use a per-process cache that was previously keying off the PID. Moving that to be based on this new notion of unique ID.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
00f9ebe460fd6e9c226f4ba3f6610fbed7b0ef29 18-Sep-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11398693> Making sure we do not attempt to run code on zombie objects when attempting to format them

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
3b031d93d53b509c43d592cbcdc17a862f3508b8 18-Sep-2012 Enrico Granata <egranata@apple.com> Fix a potential issue where data formatters can get confused over malformed UUIDs

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
ee1747d7ae79fdce19b3807c39f81ee8b63c13a0 01-Aug-2012 Filipe Cabecinhas <me@filcab.net> Make the objc-runtime work with Python 2.6

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
d0a098024ae5cd6e98429682590e687cecb6b0fe 21-May-2012 Enrico Granata <egranata@apple.com> Fixes for performance to data formatters - Python < 3.0 is much slower when using True/False as compared to 1/0 for logical values. Wexploit this to our advantage. Other minor tweaks

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
6bf058b8054a1152bb227d37d6fe7c6b21a14dd3 18-May-2012 Enrico Granata <egranata@apple.com> Optimizations to the Python ObjC formatters - Benchmarking infrastructure

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
a5c2ce05705f784fd4ada97823af6ff7006fea58 25-Apr-2012 Enrico Granata <egranata@apple.com> Returning data formatters to their previous working condition - Plus fixing an issue that was preventing Python oneliners from executing

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
0d235d5864e996d95f485df1a0df406126e1ccde 25-Apr-2012 Enrico Granata <egranata@apple.com> Making the Cocoa formatters comply with the new on-disk layout of the Python resources - This is one of the steps towards making the data formatters work again

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
8f18240a09893310c43673901d863892ae7b0611 02-Apr-2012 Enrico Granata <egranata@apple.com> Logging for data formatters.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
67812172eecc4426c17b25354af072f6a4a9aad9 27-Mar-2012 Enrico Granata <egranata@apple.com> adding a summary for Objective-C type 'Class'

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
579a296e7566b7b6d24b51e383bca1fe1e62086f 13-Mar-2012 Enrico Granata <egranata@apple.com> The Cocoa formatters now provide error messages for many of the common things-went-wrong situations. Previously they would say nothing or log failures to the Python console


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
f2a84671ff78bee1f82b60698f3ee9791585f8ac 05-Mar-2012 Enrico Granata <egranata@apple.com> Several performance-oriented changes to the introspecting data formatters:
(a) the SystemParameters object is now passed around to the formatters; doing so enables the formatters to reuse computed values for things such as pointer-size and endianness
instead of repeatedly computing these on their own
(b) replacing the global ISA cache with a per-process one
(c) providing a per-process types cache where each formatter can store the types it needs to operate, and be sure to find them the next time without recalculating them
this also enables formatters to share types if they agree on a local naming convention
(d) lazy fetching of data from Objective-C runtime data structures
data is fetched as needed and we stop reading as soon as we determine that an ISA is actually garbage


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
de3b25b645e4b4d97a87ebf059056a6c696d4e9c 03-Mar-2012 Enrico Granata <egranata@apple.com> added a new formatter for CF(Mutable)BitVector
fixed a few potential NULL-pointer derefs in ValueObject
we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits
added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
3069c62fc7d3c0b857cd1e9269ff22011ed418fb 01-Mar-2012 Enrico Granata <egranata@apple.com> 1) solving a bug where, after Jim's fixes to stack frames, synthetic children were not recalculated when necessary, causing them to get out of sync with live data
2) providing an updated list of tagged pointers values for the objc_runtime module - hopefully this one is final
3) changing ValueObject::DumpValueObject to use an Options class instead of providing a bulky list of parameters to pass around
this change had been laid out previously, but some clients of DumpValueObject() were still using the old prototype and some arguments
were treated in a special way and passed in directly instead of through the Options class
4) providing new GetSummaryAsCString() and GetValueAsCString() calls in ValueObject that are passed a formatter object and a destination string
and fill the string by formatting themselves using the formatter argument instead of the default for the current ValueObject
5) removing the option to have formats and summaries stick to a variable for the current stoppoint
after some debate, we are going with non-sticky: if you say frame variable --format hex foo, the hex format will only be applied to the current command execution and not stick when redisplaying foo
the other option would be full stickiness, which means that foo would be formatted as hex for its whole lifetime
we are open to suggestions on what feels "natural" in this regard


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
a0e904189172b6748935e4d00bc05d21f340caaa 29-Feb-2012 Enrico Granata <egranata@apple.com> Fixing a problem with v1 runtime - plus hopefully finalizing the code to check for tagged pointers

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
1328b1410eb0f5e03c3b3ee302e9adca3e1b0361 29-Feb-2012 Enrico Granata <egranata@apple.com> 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
/external/lldb/examples/summaries/cocoa/objc_runtime.py
b2dd15e8d8b6404dfc80a003c9ada3bab53e3f7e 24-Feb-2012 Enrico Granata <egranata@apple.com> Fixing an if condition which was causing issues in detecting the correct runtime version

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
e859697139685b7bbe27d3d420e77c727af2080a 24-Feb-2012 Enrico Granata <egranata@apple.com> fixing a syntax error with objc_runtime.py

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py
b370df27c76fd875f3312be487868528121a4838 24-Feb-2012 Enrico Granata <egranata@apple.com> This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/examples/summaries/cocoa/objc_runtime.py