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 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.
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)

Back to Bug 1688833 Comment 0