diff options
author | Enrico Granata <egranata@apple.com> | 2012-02-29 03:28:49 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-02-29 03:28:49 +0000 |
commit | 7bc0ec3aad663a2c81fddf9da38dba46bba6be19 (patch) | |
tree | 3c6cb745570d4095b37a18dd0f6cbacf04e79eaf /lldb/examples/summaries/cocoa/NSNumber.py | |
parent | 3203f6b9daa558443f406686522780d0271d7824 (diff) | |
download | bcm5719-llvm-7bc0ec3aad663a2c81fddf9da38dba46bba6be19.tar.gz bcm5719-llvm-7bc0ec3aad663a2c81fddf9da38dba46bba6be19.zip |
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
llvm-svn: 151703
Diffstat (limited to 'lldb/examples/summaries/cocoa/NSNumber.py')
-rw-r--r-- | lldb/examples/summaries/cocoa/NSNumber.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/examples/summaries/cocoa/NSNumber.py b/lldb/examples/summaries/cocoa/NSNumber.py index 81f3d28dbc1..dfe0917b11d 100644 --- a/lldb/examples/summaries/cocoa/NSNumber.py +++ b/lldb/examples/summaries/cocoa/NSNumber.py @@ -16,7 +16,7 @@ statistics.add_metric('code_notrun') # obey the interface specification for synthetic children providers class NSTaggedNumber_SummaryProvider: def adjust_for_architecture(self): - self.lp64 = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) + self.is_64_bit = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) self.is_little = (self.valobj.GetTarget().GetProcess().GetByteOrder() == lldb.eByteOrderLittle) self.pointer_size = self.valobj.GetTarget().GetProcess().GetAddressByteSize() @@ -60,7 +60,7 @@ class NSTaggedNumber_SummaryProvider: class NSUntaggedNumber_SummaryProvider: def adjust_for_architecture(self): - self.lp64 = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) + self.is_64_bit = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) self.is_little = (self.valobj.GetTarget().GetProcess().GetByteOrder() == lldb.eByteOrderLittle) self.pointer_size = self.valobj.GetTarget().GetProcess().GetAddressByteSize() @@ -114,7 +114,7 @@ class NSUntaggedNumber_SummaryProvider: self.int) statistics.metric_hit('code_notrun',self.valobj) return '(int)' + str(data_vo.GetValueAsUnsigned(0) % (256*256*256*256)) - # apparently, on lp64 architectures, these are the only values that will ever + # apparently, on is_64_bit architectures, these are the only values that will ever # be represented by a non tagged pointers elif data_type == 0B10001 or data_type == 0B0100: data_offset = data_offset + self.pointer_size @@ -146,7 +146,7 @@ class NSUntaggedNumber_SummaryProvider: class NSUnknownNumber_SummaryProvider: def adjust_for_architecture(self): - self.lp64 = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) + self.is_64_bit = (self.valobj.GetTarget().GetProcess().GetAddressByteSize() == 8) self.is_little = (self.valobj.GetTarget().GetProcess().GetByteOrder() == lldb.eByteOrderLittle) self.pointer_size = self.valobj.GetTarget().GetProcess().GetAddressByteSize() |