sivachandra created this revision.
sivachandra added a reviewer: granata.enrico.
sivachandra added a subscriber: lldb-commits.

http://reviews.llvm.org/D13678

Files:
  examples/synthetic/gnu_libstdcpp.py

Index: examples/synthetic/gnu_libstdcpp.py
===================================================================
--- examples/synthetic/gnu_libstdcpp.py
+++ examples/synthetic/gnu_libstdcpp.py
@@ -15,50 +15,14 @@
                self.count = None
                logger >> "Providing synthetic children for a map named " + 
str(valobj.GetName())
 
-       def next_node(self,node):
-               logger = lldb.formatters.Logger.Logger()
-               return node.GetChildMemberWithName('_M_next')
-
-       def is_valid(self,node):
-               logger = lldb.formatters.Logger.Logger()
-               return self.value(self.next_node(node)) != self.node_address
-
-       def value(self,node):
-               logger = lldb.formatters.Logger.Logger()
-               return node.GetValueAsUnsigned()
-
-       # Floyd's cycle-finding algorithm
-       # try to detect if this list has a loop
-       def has_loop(self):
-               global _list_uses_loop_detector
-               logger = lldb.formatters.Logger.Logger()
-               if _list_uses_loop_detector == False:
-                       logger >> "Asked not to use loop detection"
-                       return False
-               slow = self.next
-               fast1 = self.next
-               fast2 = self.next
-               while self.is_valid(slow):
-                       slow_value = self.value(slow)
-                       fast1 = self.next_node(fast2)
-                       fast2 = self.next_node(fast1)
-                       if self.value(fast1) == slow_value or self.value(fast2) 
== slow_value:
-                               return True
-                       slow = self.next_node(slow)
-               return False
-
        def num_children(self):
-               global _list_capping_size
                logger = lldb.formatters.Logger.Logger()
                if self.count == None:
                        self.count = self.num_children_impl()
-                       if self.count > _list_capping_size:
-                               self.count = _list_capping_size
                return self.count
 
        def num_children_impl(self):
                logger = lldb.formatters.Logger.Logger()
-               global _list_capping_size
                try:
                        next_val = self.next.GetValueAsUnsigned(0)
                        prev_val = self.prev.GetValueAsUnsigned(0)
@@ -69,15 +33,11 @@
                                return 0
                        if next_val == prev_val:
                                return 1
-                       if self.has_loop():
-                               return 0
                        size = 2
                        current = self.next
                        while 
current.GetChildMemberWithName('_M_next').GetValueAsUnsigned(0) != 
self.node_address:
                                size = size + 1
                                current = 
current.GetChildMemberWithName('_M_next')
-                               if size > _list_capping_size:
-                                       return _list_capping_size
                        return (size - 1)
                except:
                        return 0;
@@ -346,12 +306,9 @@
                        pass
 
        def num_children(self):
-               global _map_capping_size
                logger = lldb.formatters.Logger.Logger()
                if self.count == None:
                        self.count = self.num_children_impl()
-                       if self.count > _map_capping_size:
-                               self.count = _map_capping_size
                return self.count
 
        def num_children_impl(self):
@@ -444,7 +401,3 @@
 
        def has_children(self):
                return True
-
-_map_capping_size = 255
-_list_capping_size = 255
-_list_uses_loop_detector = True


Index: examples/synthetic/gnu_libstdcpp.py
===================================================================
--- examples/synthetic/gnu_libstdcpp.py
+++ examples/synthetic/gnu_libstdcpp.py
@@ -15,50 +15,14 @@
 		self.count = None
 		logger >> "Providing synthetic children for a map named " + str(valobj.GetName())
 
-	def next_node(self,node):
-		logger = lldb.formatters.Logger.Logger()
-		return node.GetChildMemberWithName('_M_next')
-
-	def is_valid(self,node):
-		logger = lldb.formatters.Logger.Logger()
-		return self.value(self.next_node(node)) != self.node_address
-
-	def value(self,node):
-		logger = lldb.formatters.Logger.Logger()
-		return node.GetValueAsUnsigned()
-
-	# Floyd's cycle-finding algorithm
-	# try to detect if this list has a loop
-	def has_loop(self):
-		global _list_uses_loop_detector
-		logger = lldb.formatters.Logger.Logger()
-		if _list_uses_loop_detector == False:
-			logger >> "Asked not to use loop detection"
-			return False
-		slow = self.next
-		fast1 = self.next
-		fast2 = self.next
-		while self.is_valid(slow):
-			slow_value = self.value(slow)
-			fast1 = self.next_node(fast2)
-			fast2 = self.next_node(fast1)
-			if self.value(fast1) == slow_value or self.value(fast2) == slow_value:
-				return True
-			slow = self.next_node(slow)
-		return False
-
 	def num_children(self):
-		global _list_capping_size
 		logger = lldb.formatters.Logger.Logger()
 		if self.count == None:
 			self.count = self.num_children_impl()
-			if self.count > _list_capping_size:
-				self.count = _list_capping_size
 		return self.count
 
 	def num_children_impl(self):
 		logger = lldb.formatters.Logger.Logger()
-		global _list_capping_size
 		try:
 			next_val = self.next.GetValueAsUnsigned(0)
 			prev_val = self.prev.GetValueAsUnsigned(0)
@@ -69,15 +33,11 @@
 				return 0
 			if next_val == prev_val:
 				return 1
-			if self.has_loop():
-				return 0
 			size = 2
 			current = self.next
 			while current.GetChildMemberWithName('_M_next').GetValueAsUnsigned(0) != self.node_address:
 				size = size + 1
 				current = current.GetChildMemberWithName('_M_next')
-				if size > _list_capping_size:
-					return _list_capping_size
 			return (size - 1)
 		except:
 			return 0;
@@ -346,12 +306,9 @@
 			pass
 
 	def num_children(self):
-		global _map_capping_size
 		logger = lldb.formatters.Logger.Logger()
 		if self.count == None:
 			self.count = self.num_children_impl()
-			if self.count > _map_capping_size:
-				self.count = _map_capping_size
 		return self.count
 
 	def num_children_impl(self):
@@ -444,7 +401,3 @@
 
 	def has_children(self):
 		return True
-
-_map_capping_size = 255
-_list_capping_size = 255
-_list_uses_loop_detector = True
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to