Changeset 255780 in webkit
- Timestamp:
- Feb 4, 2020 5:46:59 PM (4 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r255778 r255780 1 2020-02-04 Alex Christensen <achristensen@webkit.org> 2 3 REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap 4 https://bugs.webkit.org/show_bug.cgi?id=207204 5 6 Reviewed by Simon Fraser. 7 8 Remove support for HashSet and HashMap until we are able to do the equivalent of reinterpret_cast<unsigned*>(pointer)[-1] 9 in LLDB's python API. 10 11 * lldb/lldb_webkit_unittest.py: 12 (TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size): 13 (TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size): 14 (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size): 15 1 16 2020-02-04 Lauro Moura <lmoura@igalia.com> 2 17 -
trunk/Tools/lldb/lldb_webkit.py
r253572 r255780 62 62 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFAtomString_SummaryProvider WTF::AtomString') 63 63 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFVector_SummaryProvider -x "^WTF::Vector<.+>$"') 64 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashTable_SummaryProvider -x "^WTF::HashTable<.+>$"')65 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashMap_SummaryProvider -x "^WTF::HashMap<.+>$"')66 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFHashSet_SummaryProvider -x "^WTF::HashSet<.+>$"')67 64 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFMediaTime_SummaryProvider WTF::MediaTime') 68 65 debugger.HandleCommand('type summary add --expand -F lldb_webkit.WTFOptionSet_SummaryProvider -x "^WTF::OptionSet<.+>$"') … … 93 90 # synthetic types (see <https://lldb.llvm.org/varformats.html>) 94 91 debugger.HandleCommand('type synthetic add -x "^WTF::Vector<.+>$" --python-class lldb_webkit.WTFVectorProvider') 95 debugger.HandleCommand('type synthetic add -x "^WTF::HashTable<.+>$" --python-class lldb_webkit.WTFHashTableProvider')96 92 debugger.HandleCommand('type synthetic add -x "^WTF::OptionSet<.+>$" --python-class lldb_webkit.WTFOptionSetProvider') 97 93 debugger.HandleCommand('type synthetic add -x "^WTF::CompactPointerTuple<.+,.+>$" --python-class lldb_webkit.WTFCompactPointerTupleProvider') … … 134 130 provider = WTFVectorProvider(valobj, dict) 135 131 return "{ size = %d, capacity = %d }" % (provider.size, provider.capacity) 136 137 138 def WTFHashTable_SummaryProvider(valobj, dict):139 provider = WTFHashTableProvider(valobj, dict)140 return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())141 142 143 def WTFHashMap_SummaryProvider(valobj, dict):144 provider = WTFHashMapProvider(valobj, dict)145 return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())146 147 148 def WTFHashSet_SummaryProvider(valobj, dict):149 provider = WTFHashSetProvider(valobj, dict)150 return "{ tableSize = %d, keyCount = %d }" % (provider.tableSize(), provider.keyCount())151 132 152 133 … … 977 958 978 959 979 class WTFHashMapProvider:980 def __init__(self, valobj, internal_dict):981 self.valobj = valobj982 impl_ptr = self.valobj.GetChildMemberWithName('m_impl')983 self._hash_table_provider = WTFHashTableProvider(impl_ptr, dict)984 985 def tableSize(self):986 return self._hash_table_provider.tableSize()987 988 def keyCount(self):989 return self._hash_table_provider.keyCount()990 991 992 class WTFHashSetProvider:993 def __init__(self, valobj, internal_dict):994 self.valobj = valobj995 impl_ptr = self.valobj.GetChildMemberWithName('m_impl')996 self._hash_table_provider = WTFHashTableProvider(impl_ptr, dict)997 998 def tableSize(self):999 return self._hash_table_provider.tableSize()1000 1001 def keyCount(self):1002 return self._hash_table_provider.keyCount()1003 1004 1005 class WTFHashTableProvider:1006 def __init__(self, valobj, internal_dict):1007 self.valobj = valobj1008 self.update()1009 1010 def tableSize(self):1011 return self.valobj.GetChildMemberWithName('m_tableSize').GetValueAsUnsigned(0)1012 1013 def keyCount(self):1014 return self.valobj.GetChildMemberWithName('m_keyCount').GetValueAsUnsigned(0)1015 1016 # Synthetic children provider methods.1017 def num_children(self):1018 return self.tableSize() + 51019 1020 def get_child_index(self, name):1021 if name == "m_table":1022 return self.tableSize()1023 elif name == "m_tableSize":1024 return self.tableSize() + 11025 elif name == "m_tableSizeMask":1026 return self.tableSize() + 21027 elif name == "m_keyCount":1028 return self.tableSize() + 31029 elif name == "m_deletedCount":1030 return self.tableSize() + 41031 else:1032 return int(name.lstrip('[').rstrip(']'))1033 1034 def get_child_at_index(self, index):1035 if index == self.tableSize():1036 return self.valobj.GetChildMemberWithName('m_table')1037 elif index == self.tableSize() + 1:1038 return self.valobj.GetChildMemberWithName('m_tableSize')1039 elif index == self.tableSize() + 2:1040 return self.valobj.GetChildMemberWithName('m_tableSizeMask')1041 elif index == self.tableSize() + 3:1042 return self.valobj.GetChildMemberWithName('m_keyCount')1043 elif index == self.tableSize() + 4:1044 return self.valobj.GetChildMemberWithName('m_deletedCount')1045 elif index < self.tableSize():1046 table = self.valobj.GetChildMemberWithName('m_table')1047 return table.CreateChildAtOffset('[' + str(index) + ']', index * self.data_size, self.data_type)1048 else:1049 return None1050 1051 def update(self):1052 self.data_type = self.valobj.GetType().GetTemplateArgumentType(1)1053 self.data_size = self.data_type.GetByteSize()1054 1055 def has_children(self):1056 return True1057 1058 1059 960 class WTFMediaTimeProvider: 1060 961 def __init__(self, valobj, internal_dict): -
trunk/Tools/lldb/lldb_webkit_unittest.py
r251813 r255780 152 152 self.assertEqual(summary, "{ size = 1, capacity = 16 }") 153 153 154 # MARK: WTFHashMap_SummaryProvider and WTFHashSet_SummaryProvider test cases155 156 def serial_test_WTFHashMap_tablesize_and_size(self):157 variable = self._sbFrame.FindVariable('hashMapOfInts')158 summary = lldb_webkit.WTFHashMap_SummaryProvider(variable, {})159 self.assertEqual(summary, "{ tableSize = 8, keyCount = 2 }")160 161 def serial_test_WTFHashMap_of_vectors_tablesize_and_size(self):162 variable = self._sbFrame.FindVariable('hashMapOfVectors')163 summary = lldb_webkit.WTFHashMap_SummaryProvider(variable, {})164 self.assertEqual(summary, "{ tableSize = 8, keyCount = 1 }")165 166 def serial_test_WTFHashSet_tablesize_and_size(self):167 variable = self._sbFrame.FindVariable('hashSetOfInts')168 summary = lldb_webkit.WTFHashSet_SummaryProvider(variable, {})169 self.assertEqual(summary, "{ tableSize = 8, keyCount = 1 }")170 171 154 # MARK: WTFOptionSet_SummaryProvider test cases 172 155
Note: See TracChangeset
for help on using the changeset viewer.