[Lldb-commits] [lldb] r157066 - in /lldb/trunk/examples/summaries/cocoa: metrics.py objc_runtime.py

Enrico Granata egranata at apple.com
Fri May 18 12:55:37 PDT 2012


Author: enrico
Date: Fri May 18 14:55:37 2012
New Revision: 157066

URL: http://llvm.org/viewvc/llvm-project?rev=157066&view=rev
Log:
Optimizations to the Python ObjC formatters - Benchmarking infrastructure

Modified:
    lldb/trunk/examples/summaries/cocoa/metrics.py
    lldb/trunk/examples/summaries/cocoa/objc_runtime.py

Modified: lldb/trunk/examples/summaries/cocoa/metrics.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/summaries/cocoa/metrics.py?rev=157066&r1=157065&r2=157066&view=diff
==============================================================================
--- lldb/trunk/examples/summaries/cocoa/metrics.py (original)
+++ lldb/trunk/examples/summaries/cocoa/metrics.py Fri May 18 14:55:37 2012
@@ -6,6 +6,27 @@
 License. See LICENSE.TXT for details.
 """
 import lldb
+import time, datetime
+import inspect
+
+class TimeMetrics:
+	@staticmethod
+	def generate(label=None):
+		return TimeMetrics(label)
+	
+	def __init__(self,lbl=None):
+		self.label = "" if lbl is None else lbl
+		pass
+	
+	def __enter__(self):
+		caller = inspect.stack()[1]
+		self.function = str(caller)
+		self.enter_time = time.clock()
+	
+	def __exit__(self, a,b,c):
+		self.exit_time = time.clock()
+		print "It took " + str(self.exit_time - self.enter_time) + " time units to run through " + self.function + self.label
+		return False
 
 class Counter:
 	def __init__(self):

Modified: lldb/trunk/examples/summaries/cocoa/objc_runtime.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/summaries/cocoa/objc_runtime.py?rev=157066&r1=157065&r2=157066&view=diff
==============================================================================
--- lldb/trunk/examples/summaries/cocoa/objc_runtime.py (original)
+++ lldb/trunk/examples/summaries/cocoa/objc_runtime.py Fri May 18 14:55:37 2012
@@ -174,7 +174,8 @@
 			logger >> "Marking as invalid - rwt is invald"
 			self.valid = False
 		if self.valid:
-			self.rot = self.valobj.CreateValueFromAddress("rot",self.roPointer,self.sys_params.types_cache.addr_ptr_type).AddressOf()
+			self.rot = self.valobj.CreateValueFromData("rot",lldb.SBData.CreateDataFromUInt64Array(self.sys_params.endianness, self.sys_params.pointer_size, [self.roPointer]),self.sys_params.types_cache.addr_ptr_type)
+#			self.rot = self.valobj.CreateValueFromAddress("rot",self.roPointer,self.sys_params.types_cache.addr_ptr_type).AddressOf()
 			self.data = RoT_Data(self.rot,self.sys_params)
 
 	# perform sanity checks on the contents of this class_rw_t
@@ -207,7 +208,8 @@
 			logger >> "Marking as invalid - isa is invalid or None"
 			self.valid = False
 		if self.valid:
-			self.rwt = self.valobj.CreateValueFromAddress("rwt",self.dataPointer,self.sys_params.types_cache.addr_ptr_type).AddressOf()
+			self.rwt = self.valobj.CreateValueFromData("rwt",lldb.SBData.CreateDataFromUInt64Array(self.sys_params.endianness, self.sys_params.pointer_size, [self.dataPointer]),self.sys_params.types_cache.addr_ptr_type)
+#			self.rwt = self.valobj.CreateValueFromAddress("rwt",self.dataPointer,self.sys_params.types_cache.addr_ptr_type).AddressOf()
 			self.data = RwT_Data(self.rwt,self.sys_params)
 
 	# perform sanity checks on the contents of this class_t
@@ -609,7 +611,8 @@
 		process = valobj.GetTarget().GetProcess()
 		self.pointer_size = process.GetAddressByteSize()
 		self.is_64_bit = (self.pointer_size == 8)
-		self.is_little = (process.GetByteOrder() == lldb.eByteOrderLittle)
+		self.endianness = process.GetByteOrder()
+		self.is_little = (self.endianness == lldb.eByteOrderLittle)
 		self.cfruntime_size = 16 if self.is_64_bit else 8
 
 	# a simple helper function that makes it more explicit that one is calculating





More information about the lldb-commits mailing list