Title: [255780] trunk/Tools
Revision
255780
Author
[email protected]
Date
2020-02-04 17:46:59 -0800 (Tue, 04 Feb 2020)

Log Message

REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap
https://bugs.webkit.org/show_bug.cgi?id=207204

Patch by Alex Christensen <[email protected]> on 2020-02-04
Reviewed by Simon Fraser.

Remove support for HashSet and HashMap until we are able to do the equivalent of reinterpret_cast<unsigned*>(pointer)[-1]
in LLDB's python API.

* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (255779 => 255780)


--- trunk/Tools/ChangeLog	2020-02-05 01:30:56 UTC (rev 255779)
+++ trunk/Tools/ChangeLog	2020-02-05 01:46:59 UTC (rev 255780)
@@ -1,3 +1,18 @@
+2020-02-04  Alex Christensen  <[email protected]>
+
+        REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap
+        https://bugs.webkit.org/show_bug.cgi?id=207204
+
+        Reviewed by Simon Fraser.
+
+        Remove support for HashSet and HashMap until we are able to do the equivalent of reinterpret_cast<unsigned*>(pointer)[-1]
+        in LLDB's python API.
+
+        * lldb/lldb_webkit_unittest.py:
+        (TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
+        (TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
+        (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
+
 2020-02-04  Lauro Moura  <[email protected]>
 
         [EWS] Stop GTK/WPE build if jhbuild fails.

Modified: trunk/Tools/lldb/lldb_webkit.py (255779 => 255780)


--- trunk/Tools/lldb/lldb_webkit.py	2020-02-05 01:30:56 UTC (rev 255779)
+++ trunk/Tools/lldb/lldb_webkit.py	2020-02-05 01:46:59 UTC (rev 255780)
@@ -61,9 +61,6 @@
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFStringView_SummaryProvider WTF::StringView')
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFAtomString_SummaryProvider WTF::AtomString')
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFVector_SummaryProvider -x "^WTF::Vector<.+>$"')
-    debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashTable_SummaryProvider -x "^WTF::HashTable<.+>$"')
-    debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashMap_SummaryProvider -x "^WTF::HashMap<.+>$"')
-    debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashSet_SummaryProvider -x "^WTF::HashSet<.+>$"')
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFMediaTime_SummaryProvider WTF::MediaTime')
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFOptionSet_SummaryProvider -x "^WTF::OptionSet<.+>$"')
     debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFCompactPointerTuple_SummaryProvider -x "^WTF::CompactPointerTuple<.+,.+>$"')
@@ -92,7 +89,6 @@
 
     # synthetic types (see <https://lldb.llvm.org/varformats.html>)
     debugger.HandleCommand('type synthetic add -x "^WTF::Vector<.+>$" --python-class lldb_webkit.WTFVectorProvider')
-    debugger.HandleCommand('type synthetic add -x "^WTF::HashTable<.+>$" --python-class lldb_webkit.WTFHashTableProvider')
     debugger.HandleCommand('type synthetic add -x "^WTF::OptionSet<.+>$" --python-class lldb_webkit.WTFOptionSetProvider')
     debugger.HandleCommand('type synthetic add -x "^WTF::CompactPointerTuple<.+,.+>$" --python-class lldb_webkit.WTFCompactPointerTupleProvider')
 
@@ -135,21 +131,6 @@
     return "{ size = %d, capacity = %d }" % (provider.size, provider.capacity)
 
 
-def WTFHashTable_SummaryProvider(valobj, dict):
-    provider = WTFHashTableProvider(valobj, dict)
-    return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())
-
-
-def WTFHashMap_SummaryProvider(valobj, dict):
-    provider = WTFHashMapProvider(valobj, dict)
-    return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())
-
-
-def WTFHashSet_SummaryProvider(valobj, dict):
-    provider = WTFHashSetProvider(valobj, dict)
-    return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())
-
-
 def WTFOptionSet_SummaryProvider(valobj, dict):
     provider = WTFOptionSetProvider(valobj, dict)
     return "{ size = %d }" % provider.size
@@ -976,86 +957,6 @@
         return True
 
 
-class WTFHashMapProvider:
-    def __init__(self, valobj, internal_dict):
-        self.valobj = valobj
-        impl_ptr = self.valobj.GetChildMemberWithName('m_impl')
-        self._hash_table_provider = WTFHashTableProvider(impl_ptr, dict)
-
-    def tableSize(self):
-        return self._hash_table_provider.tableSize()
-
-    def keyCount(self):
-        return self._hash_table_provider.keyCount()
-
-
-class WTFHashSetProvider:
-    def __init__(self, valobj, internal_dict):
-        self.valobj = valobj
-        impl_ptr = self.valobj.GetChildMemberWithName('m_impl')
-        self._hash_table_provider = WTFHashTableProvider(impl_ptr, dict)
-
-    def tableSize(self):
-        return self._hash_table_provider.tableSize()
-
-    def keyCount(self):
-        return self._hash_table_provider.keyCount()
-
-
-class WTFHashTableProvider:
-    def __init__(self, valobj, internal_dict):
-        self.valobj = valobj
-        self.update()
-
-    def tableSize(self):
-        return self.valobj.GetChildMemberWithName('m_tableSize').GetValueAsUnsigned(0)
-
-    def keyCount(self):
-        return self.valobj.GetChildMemberWithName('m_keyCount').GetValueAsUnsigned(0)
-
-    # Synthetic children provider methods.
-    def num_children(self):
-        return self.tableSize() + 5
-
-    def get_child_index(self, name):
-        if name == "m_table":
-            return self.tableSize()
-        elif name == "m_tableSize":
-            return self.tableSize() + 1
-        elif name == "m_tableSizeMask":
-            return self.tableSize() + 2
-        elif name == "m_keyCount":
-            return self.tableSize() + 3
-        elif name == "m_deletedCount":
-            return self.tableSize() + 4
-        else:
-            return int(name.lstrip('[').rstrip(']'))
-
-    def get_child_at_index(self, index):
-        if index == self.tableSize():
-            return self.valobj.GetChildMemberWithName('m_table')
-        elif index == self.tableSize() + 1:
-            return self.valobj.GetChildMemberWithName('m_tableSize')
-        elif index == self.tableSize() + 2:
-            return self.valobj.GetChildMemberWithName('m_tableSizeMask')
-        elif index == self.tableSize() + 3:
-            return self.valobj.GetChildMemberWithName('m_keyCount')
-        elif index == self.tableSize() + 4:
-            return self.valobj.GetChildMemberWithName('m_deletedCount')
-        elif index < self.tableSize():
-            table = self.valobj.GetChildMemberWithName('m_table')
-            return table.CreateChildAtOffset('[' + str(index) + ']', index * self.data_size, self.data_type)
-        else:
-            return None
-
-    def update(self):
-        self.data_type = self.valobj.GetType().GetTemplateArgumentType(1)
-        self.data_size = self.data_type.GetByteSize()
-
-    def has_children(self):
-        return True
-
-
 class WTFMediaTimeProvider:
     def __init__(self, valobj, internal_dict):
         self.valobj = valobj

Modified: trunk/Tools/lldb/lldb_webkit_unittest.py (255779 => 255780)


--- trunk/Tools/lldb/lldb_webkit_unittest.py	2020-02-05 01:30:56 UTC (rev 255779)
+++ trunk/Tools/lldb/lldb_webkit_unittest.py	2020-02-05 01:46:59 UTC (rev 255780)
@@ -151,23 +151,6 @@
         summary = lldb_webkit.WTFVector_SummaryProvider(variable, {})
         self.assertEqual(summary, "{ size = 1, capacity = 16 }")
 
-    # MARK: WTFHashMap_SummaryProvider and WTFHashSet_SummaryProvider test cases
-
-    def serial_test_WTFHashMap_tablesize_and_size(self):
-        variable = self._sbFrame.FindVariable('hashMapOfInts')
-        summary = lldb_webkit.WTFHashMap_SummaryProvider(variable, {})
-        self.assertEqual(summary, "{ tableSize = 8, keyCount = 2 }")
-
-    def serial_test_WTFHashMap_of_vectors_tablesize_and_size(self):
-        variable = self._sbFrame.FindVariable('hashMapOfVectors')
-        summary = lldb_webkit.WTFHashMap_SummaryProvider(variable, {})
-        self.assertEqual(summary, "{ tableSize = 8, keyCount = 1 }")
-
-    def serial_test_WTFHashSet_tablesize_and_size(self):
-        variable = self._sbFrame.FindVariable('hashSetOfInts')
-        summary = lldb_webkit.WTFHashSet_SummaryProvider(variable, {})
-        self.assertEqual(summary, "{ tableSize = 8, keyCount = 1 }")
-
     # MARK: WTFOptionSet_SummaryProvider test cases
 
     def serial_test_WTFOptionSet_SummaryProvider_empty(self):
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to