After bug 1681469, there will be two implementations of `LookupForAdd`. The new one lacks implementation of RawEntry::OrInsertFrom, that needs to be added. Then there are some things which have been raised in https://phabricator.services.mozilla.com/D99428, like the semantics of the `RawEntry` bool operator. It seems all the call sites will have to be checked.
Bug 1688833 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
After bug 1681469, there will be two implementations of `LookupForAdd`. The new one is based on `nsTHashtable::LookupForAdd` which is based on `PLDHashTable::LookupForAdd`. The merge should: - Implement RawEntry::OrInsertFrom - Check the semantics of `nsBaseHashtable::RawEntry::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Check nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Check the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134
After bug 1681469, there will be two implementations of `LookupForAdd`. The new one is based on `nsTHashtable::LookupForAdd` which is based on `PLDHashTable::LookupForAdd`. The merge should: - Implement RawEntry::OrInsertFrom - Check the semantics of `PLDHashTable::RawEntry::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Check nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Check the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134
After bug 1681469, there will be two APIs for `LookupForAdd`. The new one is based on `nsTHashtable::LookupForAdd` which is based on `PLDHashTable::LookupForAdd`. The new API isn't currently public, since there are still some open questions which need to be addressed. The merge should: - Implement RawEntry::OrInsertFrom - Check the semantics of `PLDHashTable::RawEntry::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Check nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Check the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134 - Consider different names for `RawEntry` methods - Cleanup the API in general
After bug 1681469, there will be two APIs for `LookupForAdd` (`WithEntryHandle`). The new one is based on `nsTHashtable::WithEntryHandle` which is based on `PLDHashTable::WithEntryHandle`. The new API isn't currently public, since there are still some open questions which need to be addressed. The merge should: - Implement EntryHandle::OrInsertFrom - Check the semantics of `PLDHashTable::EntryHandle::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Fix nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Fix the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134 - Consider different names for some of `EntryHandle` methods - Consider other cleanup in the API
After bug 1681469, there will be two APIs for `LookupForAdd` (`WithEntryHandle`). The new one is based on `nsTHashtable::WithEntryHandle` which is based on `PLDHashTable::WithEntryHandle`. The new API isn't currently public, since there are still some open questions which need to be addressed. The merge should: - Implement `EntryHandle::OrInsertFrom` - Check the semantics of `PLDHashTable::EntryHandle::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Fix nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Fix the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134 - Consider different names for some of `EntryHandle` methods - Consider other cleanup in the API - Consider having only `EntryHandle::OrRemove`, no unsafe `EntryHandle::Remove` method (https://phabricator.services.mozilla.com/D99428#inline-578905) - Maybe change the way how we call the function in `WithEntryHandle` (https://phabricator.services.mozilla.com/D99428#inline-578877)
After bug 1681469, there will be two APIs for `LookupForAdd` (`WithEntryHandle`). The new one is based on `nsTHashtable::WithEntryHandle` which is based on `PLDHashTable::WithEntryHandle`. The new API isn't currently public, since there are still some open questions which need to be addressed. During the merge we should: - Implement `EntryHandle::OrInsertFrom` - Check the semantics of `PLDHashTable::EntryHandle::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Fix nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Fix the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134 - Consider different names for some of `EntryHandle` methods - Consider other cleanup in the API - Consider having only `EntryHandle::OrRemove`, no unsafe `EntryHandle::Remove` method (https://phabricator.services.mozilla.com/D99428#inline-578905) - Maybe change the way how we call the function in `WithEntryHandle` (https://phabricator.services.mozilla.com/D99428#inline-578877)
After bug 1681469, there will be two APIs for `LookupForAdd` (`WithEntryHandle`). The new one is based on `nsTHashtable::WithEntryHandle` which is based on `PLDHashTable::WithEntryHandle`. The new API isn't currently public, since there are still some open questions which need to be addressed. During the merge we should: - Implement `EntryHandle::OrInsertFrom` - Check the semantics of `PLDHashTable::EntryHandle::operator bool` and `nsBaseHashtable::EntryPtr::operator bool` (might need to check all the call sites) - Fix nested `LookupForAdd`, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/xpcom/tests/gtest/TestHashtables.cpp#646 - Fix the case when other operations are called, https://searchfox.org/mozilla-central/rev/358fbca0398ac651f5ea6030be39b1870ec180a5/netwerk/protocol/http/nsHttpTransaction.cpp#1134 - Consider different names for some of `EntryHandle` methods - Consider other cleanup in the API - Consider having only `EntryHandle::OrRemove`, no unsafe `EntryHandle::Remove` method (https://phabricator.services.mozilla.com/D99428#inline-578905) - Consider changing the way how we call the function in `WithEntryHandle` (https://phabricator.services.mozilla.com/D99428#inline-578877)