Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/xpcom/ds/nsBaseHashtable.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef nsBaseHashtable_h__
8
#define nsBaseHashtable_h__
9
10
#include "mozilla/MemoryReporting.h"
11
#include "mozilla/Move.h"
12
#include "nsTHashtable.h"
13
#include "nsDebug.h"
14
15
template<class KeyClass, class DataType, class UserDataType>
16
class nsBaseHashtable; // forward declaration
17
18
/**
19
 * the private nsTHashtable::EntryType class used by nsBaseHashtable
20
 * @see nsTHashtable for the specification of this class
21
 * @see nsBaseHashtable for template parameters
22
 */
23
template<class KeyClass, class DataType>
24
class nsBaseHashtableET : public KeyClass
25
{
26
public:
27
  DataType mData;
28
  friend class nsTHashtable<nsBaseHashtableET<KeyClass, DataType>>;
29
30
private:
31
  typedef typename KeyClass::KeyType KeyType;
32
  typedef typename KeyClass::KeyTypePointer KeyTypePointer;
33
34
  explicit nsBaseHashtableET(KeyTypePointer aKey);
35
  nsBaseHashtableET(nsBaseHashtableET<KeyClass, DataType>&& aToMove);
36
  ~nsBaseHashtableET();
37
};
38
39
/**
40
 * templated hashtable for simple data types
41
 * This class manages simple data types that do not need construction or
42
 * destruction.
43
 *
44
 * @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
45
 *   for a complete specification.
46
 * @param DataType the datatype stored in the hashtable,
47
 *   for example, uint32_t or nsCOMPtr.  If UserDataType is not the same,
48
 *   DataType must implicitly cast to UserDataType
49
 * @param UserDataType the user sees, for example uint32_t or nsISupports*
50
 */
51
template<class KeyClass, class DataType, class UserDataType>
52
class nsBaseHashtable
53
  : protected nsTHashtable<nsBaseHashtableET<KeyClass, DataType>>
54
{
55
  typedef mozilla::fallible_t fallible_t;
56
57
public:
58
  typedef typename KeyClass::KeyType KeyType;
59
  typedef nsBaseHashtableET<KeyClass, DataType> EntryType;
60
61
  using nsTHashtable<EntryType>::Contains;
62
  using nsTHashtable<EntryType>::GetGeneration;
63
  using nsTHashtable<EntryType>::SizeOfExcludingThis;
64
  using nsTHashtable<EntryType>::SizeOfIncludingThis;
65
66
908
  nsBaseHashtable() {}
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::nsBaseHashtable()
Line
Count
Source
66
1
  nsBaseHashtable() {}
nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::nsBaseHashtable()
Line
Count
Source
66
5
  nsBaseHashtable() {}
nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::nsBaseHashtable()
nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::nsBaseHashtable()
nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::nsBaseHashtable()
nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::nsBaseHashtable()
Line
Count
Source
66
875
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> >, nsTArray<mozilla::css::ImageLoader::FrameWithFlags>*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > >, nsTArray<nsCOMPtr<imgIRequest> >*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad>, nsExternalResourceMap::PendingLoad*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::nsBaseHashtable()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::nsBaseHashtable()
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::nsBaseHashtable()
Line
Count
Source
66
6
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::nsBaseHashtable()
nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::nsBaseHashtable()
Line
Count
Source
66
3
  nsBaseHashtable() {}
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::nsBaseHashtable()
67
  explicit nsBaseHashtable(uint32_t aInitLength)
68
    : nsTHashtable<EntryType>(aInitLength)
69
12
  {
70
12
  }
nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::nsBaseHashtable(unsigned int)
Line
Count
Source
69
3
  {
70
3
  }
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::nsBaseHashtable(unsigned int)
Line
Count
Source
69
3
  {
70
3
  }
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::nsBaseHashtable(unsigned int)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::nsBaseHashtable(unsigned int)
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::nsBaseHashtable(unsigned int)
Line
Count
Source
69
3
  {
70
3
  }
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::nsBaseHashtable(unsigned int)
Line
Count
Source
69
3
  {
70
3
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::nsBaseHashtable(unsigned int)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::nsBaseHashtable(unsigned int)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::nsBaseHashtable(unsigned int)
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::nsBaseHashtable(unsigned int)
71
72
  /**
73
   * Return the number of entries in the table.
74
   * @return    number of entries
75
   */
76
15.0M
  uint32_t Count() const { return nsTHashtable<EntryType>::Count(); }
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Count() const
Line
Count
Source
76
6
  uint32_t Count() const { return nsTHashtable<EntryType>::Count(); }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Count() const
Line
Count
Source
76
15.0M
  uint32_t Count() const { return nsTHashtable<EntryType>::Count(); }
nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Count() const
Line
Count
Source
76
8.90k
  uint32_t Count() const { return nsTHashtable<EntryType>::Count(); }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::Count() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Count() const
77
78
  /**
79
   * retrieve the value for a key.
80
   * @param aKey the key to retreive
81
   * @param aData data associated with this key will be placed at this
82
   *   pointer.  If you only need to check if the key exists, aData
83
   *   may be null.
84
   * @return true if the key exists. If key does not exist, aData is not
85
   *   modified.
86
   */
87
  bool Get(KeyType aKey, UserDataType* aData) const
88
18
  {
89
18
    EntryType* ent = this->GetEntry(aKey);
90
18
    if (!ent) {
91
18
      return false;
92
18
    }
93
0
94
0
    if (aData) {
95
0
      *aData = ent->mData;
96
0
    }
97
0
98
0
    return true;
99
0
  }
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Get(nsAtom*, EventNameMapping*) const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Get(nsTSubstring<char16_t> const&, EventNameMapping*) const
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Get(nsXBLPrototypeHandler*, JSObject**) const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Get(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue*) const
Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Get(nsTSubstring<char> const&, TMimeType<char>::ParameterValue*) const
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Get(nsAtom*, int*) const
Line
Count
Source
88
18
  {
89
18
    EntryType* ent = this->GetEntry(aKey);
90
18
    if (!ent) {
91
18
      return false;
92
18
    }
93
0
94
0
    if (aData) {
95
0
      *aData = ent->mData;
96
0
    }
97
0
98
0
    return true;
99
0
  }
100
101
  /**
102
   * Get the value, returning a zero-initialized POD or a default-initialized
103
   * object if the entry is not present in the table.
104
   *
105
   * @param aKey the key to retrieve
106
   * @return The found value, or UserDataType{} if no entry was found with the
107
   *         given key.
108
   * @note If zero/default-initialized values are stored in the table, it is
109
   *       not possible to distinguish between such a value and a missing entry.
110
   */
111
  UserDataType Get(KeyType aKey) const
112
0
  {
113
0
    EntryType* ent = this->GetEntry(aKey);
114
0
    if (!ent) {
115
0
      return UserDataType{};
116
0
    }
117
0
118
0
    return ent->mData;
119
0
  }
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Get(unsigned long const&) const
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Get(mozilla::dom::NodeInfo::NodeInfoInner*) const
120
121
  /**
122
   * Add key to the table if not already present, and return a reference to its
123
   * value.  If key is not already in the table then the value is default
124
   * constructed.
125
   */
126
  DataType& GetOrInsert(const KeyType& aKey)
127
0
  {
128
0
    EntryType* ent = this->PutEntry(aKey);
129
0
    return ent->mData;
130
0
  }
131
132
  /**
133
   * Put a new value for the associated key
134
   * @param aKey the key to put
135
   * @param aData the new data
136
   */
137
  void Put(KeyType aKey, const UserDataType& aData)
138
1.41k
  {
139
1.41k
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
1.41k
  }
nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::Put(char const*, mozilla::LogModule* const&)
Line
Count
Source
138
75
  {
139
75
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
75
  }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Put(void*, mozilla::JSHolderInfo* const&)
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Put(nsISupports*, nsIConsoleListener* const&)
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue* const&)
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Put(char const*, BloatEntry* const&)
nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&)
Line
Count
Source
138
52
  {
139
52
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
52
  }
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&)
Line
Count
Source
138
33
  {
139
33
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
33
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Put(nsTSubstring<char16_t> const&, nsIVariant* const&)
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Put(nsAtom*, EventNameMapping const&)
Line
Count
Source
138
609
  {
139
609
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
609
  }
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Put(nsTSubstring<char16_t> const&, EventNameMapping const&)
Line
Count
Source
138
588
  {
139
588
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
588
  }
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Put(nsXBLPrototypeHandler*, JSObject* const&)
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Put(unsigned int const&, mozilla::dom::Gamepad* const&)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Put(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue const&)
Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Put(nsTSubstring<char> const&, TMimeType<char>::ParameterValue const&)
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Put(nsIURI*, nsExternalResourceMap::ExternalResource* const&)
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Put(nsAtom*, int const&)
Line
Count
Source
138
57
  {
139
57
    if (!Put(aKey, aData, mozilla::fallible)) {
140
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
141
0
    }
142
57
  }
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::Put(unsigned long const&, nsTString<char> const&)
143
144
  MOZ_MUST_USE bool Put(KeyType aKey, const UserDataType& aData,
145
                        const fallible_t&)
146
1.41k
  {
147
1.41k
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
1.41k
    if (!ent) {
149
0
      return false;
150
0
    }
151
1.41k
152
1.41k
    ent->mData = aData;
153
1.41k
154
1.41k
    return true;
155
1.41k
  }
nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::Put(char const*, mozilla::LogModule* const&, std::nothrow_t const&)
Line
Count
Source
146
75
  {
147
75
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
75
    if (!ent) {
149
0
      return false;
150
0
    }
151
75
152
75
    ent->mData = aData;
153
75
154
75
    return true;
155
75
  }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Put(void*, mozilla::JSHolderInfo* const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Put(nsISupports*, nsIConsoleListener* const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue* const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Put(char const*, BloatEntry* const&, std::nothrow_t const&)
nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&, std::nothrow_t const&)
Line
Count
Source
146
52
  {
147
52
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
52
    if (!ent) {
149
0
      return false;
150
0
    }
151
52
152
52
    ent->mData = aData;
153
52
154
52
    return true;
155
52
  }
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&, std::nothrow_t const&)
Line
Count
Source
146
33
  {
147
33
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
33
    if (!ent) {
149
0
      return false;
150
0
    }
151
33
152
33
    ent->mData = aData;
153
33
154
33
    return true;
155
33
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Put(nsTSubstring<char16_t> const&, nsIVariant* const&, std::nothrow_t const&)
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Put(nsAtom*, EventNameMapping const&, std::nothrow_t const&)
Line
Count
Source
146
609
  {
147
609
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
609
    if (!ent) {
149
0
      return false;
150
0
    }
151
609
152
609
    ent->mData = aData;
153
609
154
609
    return true;
155
609
  }
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Put(nsTSubstring<char16_t> const&, EventNameMapping const&, std::nothrow_t const&)
Line
Count
Source
146
588
  {
147
588
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
588
    if (!ent) {
149
0
      return false;
150
0
    }
151
588
152
588
    ent->mData = aData;
153
588
154
588
    return true;
155
588
  }
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Put(nsXBLPrototypeHandler*, JSObject* const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Put(unsigned int const&, mozilla::dom::Gamepad* const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Put(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Put(nsTSubstring<char> const&, TMimeType<char>::ParameterValue const&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Put(nsIURI*, nsExternalResourceMap::ExternalResource* const&, std::nothrow_t const&)
nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Put(nsAtom*, int const&, std::nothrow_t const&)
Line
Count
Source
146
57
  {
147
57
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
148
57
    if (!ent) {
149
0
      return false;
150
0
    }
151
57
152
57
    ent->mData = aData;
153
57
154
57
    return true;
155
57
  }
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::Put(unsigned long const&, nsTString<char> const&, std::nothrow_t const&)
156
157
  /**
158
   * Put a new value for the associated key
159
   * @param aKey the key to put
160
   * @param aData the new data
161
   */
162
  void Put(KeyType aKey, UserDataType&& aData)
163
6
  {
164
6
    if (!Put(aKey, std::move(aData), mozilla::fallible)) {
165
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
166
0
    }
167
6
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Put(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >&&)
nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Put(unsigned int const&, nsTString<char>*&&)
Line
Count
Source
163
6
  {
164
6
    if (!Put(aKey, std::move(aData), mozilla::fallible)) {
165
0
      NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount());
166
0
    }
167
6
  }
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue*&&)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Put(unsigned long const&, nsGlobalWindowInner*&&)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Put(unsigned long const&, nsGlobalWindowOuter*&&)
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Put(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo*&&)
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Put(nsISupports*, mozilla::TimeStamp&&)
168
169
  MOZ_MUST_USE bool Put(KeyType aKey, UserDataType&& aData, const fallible_t&)
170
6
  {
171
6
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
172
6
    if (!ent) {
173
0
      return false;
174
0
    }
175
6
176
6
    ent->mData = std::move(aData);
177
6
178
6
    return true;
179
6
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Put(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >&&, std::nothrow_t const&)
nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Put(unsigned int const&, nsTString<char>*&&, std::nothrow_t const&)
Line
Count
Source
170
6
  {
171
6
    EntryType* ent = this->PutEntry(aKey, mozilla::fallible);
172
6
    if (!ent) {
173
0
      return false;
174
0
    }
175
6
176
6
    ent->mData = std::move(aData);
177
6
178
6
    return true;
179
6
  }
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue*&&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Put(unsigned long const&, nsGlobalWindowInner*&&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Put(unsigned long const&, nsGlobalWindowOuter*&&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Put(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo*&&, std::nothrow_t const&)
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Put(nsISupports*, mozilla::TimeStamp&&, std::nothrow_t const&)
180
181
  /**
182
   * Remove the entry associated with aKey (if any), optionally _moving_ its
183
   * current value into *aData.  Return true if found.
184
   * @param aKey the key to remove from the hashtable
185
   * @param aData where to move the value (if non-null).  If an entry is not
186
   *              found, *aData will be assigned a default-constructed value
187
   *              (i.e. reset to zero or nullptr for primitive types).
188
   * @return true if an entry for aKey was found (and removed)
189
   */
190
  bool Remove(KeyType aKey, DataType* aData = nullptr)
191
0
  {
192
0
    if (auto* ent = this->GetEntry(aKey)) {
193
0
      if (aData) {
194
0
        *aData = std::move(ent->mData);
195
0
      }
196
0
      this->RemoveEntry(ent);
197
0
      return true;
198
0
    }
199
0
    if (aData) {
200
0
      *aData = std::move(DataType());
201
0
    }
202
0
    return false;
203
0
  }
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Remove(unsigned int const&, nsAutoPtr<nsTString<char> >*)
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Remove(char const*, nsAutoPtr<nsINIParser_internal::INIValue>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Remove(void const*, nsAutoPtr<SerialNumberRecord>*)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Remove(nsIMemoryReporter*, bool*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Remove(nsIMemoryReporter*, bool*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Remove(nsTSubstring<char16_t> const&, EventNameMapping*)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Remove(unsigned long const&, nsGlobalWindowInner**)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Remove(unsigned long const&, nsGlobalWindowOuter**)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::Remove(nsAtom*, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::Remove(nsTSubstring<char16_t> const&, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Remove(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >*)
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Remove(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo**)
204
205
  struct LookupResult {
206
  private:
207
    EntryType* mEntry;
208
    nsBaseHashtable& mTable;
209
#ifdef DEBUG
210
    uint32_t mTableGeneration;
211
#endif
212
213
  public:
214
    LookupResult(EntryType* aEntry, nsBaseHashtable& aTable)
215
      : mEntry(aEntry)
216
      , mTable(aTable)
217
#ifdef DEBUG
218
      , mTableGeneration(aTable.GetGeneration())
219
#endif
220
0
    {}
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::LookupResult(nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>*, nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>&)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::LookupResult(nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >*, nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>&)
221
222
    // Is there something stored in the table?
223
    explicit operator bool() const
224
0
    {
225
0
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
226
0
      return mEntry;
227
0
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::operator bool() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::operator bool() const
228
229
    void Remove()
230
0
    {
231
0
      if (!*this) {
232
0
        return;
233
0
      }
234
0
      mTable.RemoveEntry(mEntry);
235
0
      mEntry = nullptr;
236
0
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::Remove()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::Remove()
237
238
    MOZ_MUST_USE DataType& Data()
239
0
    {
240
0
      MOZ_ASSERT(!!*this, "must have an entry to access its value");
241
0
      return mEntry->mData;
242
0
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::Data()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::Data()
243
  };
244
245
  /**
246
   * Looks up aKey in the hashtable and returns an object that allows you to
247
   * read/modify the value of the entry, or remove the entry (if found).
248
   *
249
   * A typical usage of this API looks like this:
250
   *
251
   *   if (auto entry = hashtable.Lookup(key)) {
252
   *     DoSomething(entry.Data());
253
   *     if (entry.Data() > 42) {
254
   *       entry.Remove();
255
   *     }
256
   *   } // else - an entry with the given key doesn't exist
257
   *
258
   * This is useful for cases where you want to read/write the value of an entry
259
   * and (optionally) remove the entry without having to do multiple hashtable
260
   * lookups.  If you want to insert a new entry if one does not exist, then use
261
   * LookupForAdd instead, see below.
262
   */
263
  MOZ_MUST_USE LookupResult Lookup(KeyType aKey)
264
0
  {
265
0
    return LookupResult(this->GetEntry(aKey), *this);
266
0
  }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Lookup(void*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Lookup(nsIContent*)
267
268
  struct EntryPtr {
269
  private:
270
    EntryType* mEntry;
271
    bool mExistingEntry;
272
    nsBaseHashtable& mTable;
273
    // For debugging purposes
274
#ifdef DEBUG
275
    uint32_t mTableGeneration;
276
    bool mDidInitNewEntry;
277
#endif
278
279
  public:
280
    EntryPtr(nsBaseHashtable& aTable, EntryType* aEntry, bool aExistingEntry)
281
      : mEntry(aEntry)
282
      , mExistingEntry(aExistingEntry)
283
      , mTable(aTable)
284
#ifdef DEBUG
285
      , mTableGeneration(aTable.GetGeneration())
286
      , mDidInitNewEntry(false)
287
#endif
288
7.50M
    {}
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>&, nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>*, bool)
Line
Count
Source
288
3
    {}
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::EntryPtr(nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>&, nsBaseHashtableET<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*>*, bool)
Line
Count
Source
288
7.50M
    {}
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>&, nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >*, bool)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::EntryPtr(nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>&, nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >*, bool)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::EntryPtr(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>&, nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >*, bool)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>&, nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >*, bool)
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::EntryPtr(nsBaseHashtable<nsURIHashKey, bool, bool>&, nsBaseHashtableET<nsURIHashKey, bool>*, bool)
289
    ~EntryPtr()
290
7.50M
    {
291
7.50M
      MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry,
292
7.50M
                 "Forgot to call OrInsert() or OrRemove() on a new entry");
293
7.50M
    }
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::~EntryPtr()
Line
Count
Source
290
3
    {
291
3
      MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry,
292
3
                 "Forgot to call OrInsert() or OrRemove() on a new entry");
293
3
    }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::~EntryPtr()
Line
Count
Source
290
7.50M
    {
291
7.50M
      MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry,
292
7.50M
                 "Forgot to call OrInsert() or OrRemove() on a new entry");
293
7.50M
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::~EntryPtr()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::~EntryPtr()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::~EntryPtr()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::~EntryPtr()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::~EntryPtr()
294
295
    // Is there something stored in the table already?
296
    explicit operator bool() const
297
7.50M
    {
298
7.50M
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
299
7.50M
      return mExistingEntry;
300
7.50M
    }
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::operator bool() const
Line
Count
Source
297
3
    {
298
3
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
299
3
      return mExistingEntry;
300
3
    }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::operator bool() const
Line
Count
Source
297
7.50M
    {
298
7.50M
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
299
7.50M
      return mExistingEntry;
300
7.50M
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::operator bool() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::operator bool() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::operator bool() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::operator bool() const
301
302
    template <class F>
303
    UserDataType OrInsert(F func)
304
21
    {
305
21
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
306
21
      MOZ_ASSERT(mEntry);
307
21
      if (!mExistingEntry) {
308
21
        mEntry->mData = func();
309
#ifdef DEBUG
310
        mDidInitNewEntry = true;
311
#endif
312
      }
313
21
      return mEntry->mData;
314
21
    }
Unified_cpp_xpcom_base0.cpp:mozilla::JSHolderInfo* nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::OrInsert<mozilla::CycleCollectedJSRuntime::AddJSHolder(void*, nsScriptObjectTracer*)::$_0>(mozilla::CycleCollectedJSRuntime::AddJSHolder(void*, nsScriptObjectTracer*)::$_0)
Line
Count
Source
304
3
    {
305
3
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
306
3
      MOZ_ASSERT(mEntry);
307
3
      if (!mExistingEntry) {
308
3
        mEntry->mData = func();
309
#ifdef DEBUG
310
        mDidInitNewEntry = true;
311
#endif
312
      }
313
3
      return mEntry->mData;
314
3
    }
Unified_cpp_xpcom_base0.cpp:void* nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::OrInsert<mozilla::CycleCollectedJSRuntime::DeferredFinalize(void* (*)(void*, void*), bool (*)(unsigned int, void*), void*)::$_1>(mozilla::CycleCollectedJSRuntime::DeferredFinalize(void* (*)(void*, void*), bool (*)(unsigned int, void*), void*)::$_1)
Line
Count
Source
304
18
    {
305
18
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
306
18
      MOZ_ASSERT(mEntry);
307
18
      if (!mExistingEntry) {
308
18
        mEntry->mData = func();
309
#ifdef DEBUG
310
        mDidInitNewEntry = true;
311
#endif
312
      }
313
18
      return mEntry->mData;
314
18
    }
Unexecuted instantiation: Unified_cpp_xpcom_base2.cpp:SerialNumberRecord* nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::OrInsert<GetSerialNumber(void*, bool)::$_1>(GetSerialNumber(void*, bool)::$_1)
Unexecuted instantiation: nsGlobalWindowInner.cpp:mozilla::dom::ChromeMessageBroadcaster* nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::OrInsert<nsGlobalWindowInner::GetGroupMessageManager(nsTSubstring<char16_t> const&)::$_8>(nsGlobalWindowInner::GetGroupMessageManager(nsTSubstring<char16_t> const&)::$_8)
Unexecuted instantiation: Unified_cpp_dom_base1.cpp:mozilla::dom::Promise* nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::OrInsert<mozilla::dom::CustomElementRegistry::WhenDefined(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_0>(mozilla::dom::CustomElementRegistry::WhenDefined(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_0)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:mozilla::dom::BoxObject* nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::OrInsert<nsIDocument::GetBoxObjectFor(mozilla::dom::Element*, mozilla::ErrorResult&)::$_0>(nsIDocument::GetBoxObjectFor(mozilla::dom::Element*, mozilla::ErrorResult&)::$_0)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:bool nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::OrInsert<nsIDocument::MaybePreconnect(nsIURI*, mozilla::CORSMode)::$_1>(nsIDocument::MaybePreconnect(nsIURI*, mozilla::CORSMode)::$_1)
315
316
    void OrRemove()
317
    {
318
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
319
      MOZ_ASSERT(mEntry);
320
      mTable.RemoveEntry(mEntry);
321
      mEntry = nullptr;
322
    }
323
324
    MOZ_MUST_USE DataType& Data()
325
7.50M
    {
326
7.50M
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
327
7.50M
      MOZ_ASSERT(mEntry);
328
7.50M
      return mEntry->mData;
329
7.50M
    }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::Data()
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::Data()
Line
Count
Source
325
7.50M
    {
326
7.50M
      MOZ_ASSERT(mTableGeneration == mTable.GetGeneration());
327
7.50M
      MOZ_ASSERT(mEntry);
328
7.50M
      return mEntry->mData;
329
7.50M
    }
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::Data()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::Data()
330
  };
331
332
  /**
333
   * Looks up aKey in the hashtable and returns an object that allows you to
334
   * insert a new entry into the hashtable for that key if an existing entry
335
   * isn't found for it.
336
   *
337
   * A typical usage of this API looks like this:
338
   *
339
   *   auto insertedValue = table.LookupForAdd(key).OrInsert([]() {
340
   *     return newValue;
341
   *   });
342
   *
343
   *   auto p = table.LookupForAdd(key);
344
   *   if (p) {
345
   *     // The entry already existed in the table.
346
   *     DoSomething(p.Data());
347
   *   } else {
348
   *     // An existing entry wasn't found, store a new entry in the hashtable.
349
   *     p.OrInsert([]() { return newValue; });
350
   *   }
351
   *
352
   * We ensure that the hashtable isn't modified before EntryPtr method calls.
353
   * This is useful for cases where you want to insert a new entry into the
354
   * hashtable if one doesn't exist before but would like to avoid two hashtable
355
   * lookups.
356
   */
357
  MOZ_MUST_USE EntryPtr LookupForAdd(KeyType aKey)
358
7.50M
  {
359
7.50M
    auto count = Count();
360
7.50M
    EntryType* ent = this->PutEntry(aKey);
361
7.50M
    return EntryPtr(*this, ent, count == Count());
362
7.50M
  }
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupForAdd(void*)
Line
Count
Source
358
3
  {
359
3
    auto count = Count();
360
3
    EntryType* ent = this->PutEntry(aKey);
361
3
    return EntryPtr(*this, ent, count == Count());
362
3
  }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::LookupForAdd(bool (*&)(unsigned int, void*))
Line
Count
Source
358
7.50M
  {
359
7.50M
    auto count = Count();
360
7.50M
    EntryType* ent = this->PutEntry(aKey);
361
7.50M
    return EntryPtr(*this, ent, count == Count());
362
7.50M
  }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::LookupForAdd(void const*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::LookupForAdd(nsTSubstring<char16_t> const&)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::LookupForAdd(nsAtom*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupForAdd(nsIContent*)
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::LookupForAdd(nsIURI*)
363
364
  // This is an iterator that also allows entry removal. Example usage:
365
  //
366
  //   for (auto iter = table.Iter(); !iter.Done(); iter.Next()) {
367
  //     const KeyType key = iter.Key();
368
  //     const UserDataType data = iter.UserData();
369
  //     // or
370
  //     const DataType& data = iter.Data();
371
  //     // ... do stuff with |key| and/or |data| ...
372
  //     // ... possibly call iter.Remove() once ...
373
  //   }
374
  //
375
  class Iterator : public PLDHashTable::Iterator
376
  {
377
  public:
378
    typedef PLDHashTable::Iterator Base;
379
380
36
    explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {}
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Iterator(nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>*)
Line
Count
Source
380
18
    explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {}
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iterator::Iterator(nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>*)
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Iterator(nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>*)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>*)
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iterator::Iterator(nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::Iterator(nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>*)
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iterator::Iterator(nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>*)
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iterator::Iterator(nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>*)
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::Iterator(nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>*)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>*)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>*)
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>*)
nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iterator::Iterator(nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>*)
Line
Count
Source
380
18
    explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {}
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iterator::Iterator(nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>*)
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Iterator::Iterator(nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>*)
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iterator::Iterator(nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>*)
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>*)
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::Iterator(nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>*)
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Iterator(nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>*)
381
    Iterator(Iterator&& aOther) : Base(aOther.mTable) {}
382
    ~Iterator() {}
383
384
18
    KeyType Key() const { return static_cast<EntryType*>(Get())->GetKey(); }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Key() const
Line
Count
Source
384
18
    KeyType Key() const { return static_cast<EntryType*>(Get())->GetKey(); }
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::Key() const
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Key() const
385
    UserDataType UserData() const
386
0
    {
387
0
      return static_cast<EntryType*>(Get())->mData;
388
0
    }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsAttrHashKey, RefPtr<mozilla::dom::Attr>, mozilla::dom::Attr*>::Iterator::UserData() const
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::UserData() const
389
18
    DataType& Data() const { return static_cast<EntryType*>(Get())->mData; }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Data() const
Line
Count
Source
389
18
    DataType& Data() const { return static_cast<EntryType*>(Get())->mData; }
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::Data() const
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Data() const
390
391
  private:
392
    Iterator() = delete;
393
    Iterator(const Iterator&) = delete;
394
    Iterator& operator=(const Iterator&) = delete;
395
    Iterator& operator=(const Iterator&&) = delete;
396
  };
397
398
36
  Iterator Iter() { return Iterator(this); }
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iter()
Line
Count
Source
398
18
  Iterator Iter() { return Iterator(this); }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iter()
nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iter()
Line
Count
Source
398
18
  Iterator Iter() { return Iterator(this); }
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iter()
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iter()
399
400
  Iterator ConstIter() const
401
0
  {
402
0
    return Iterator(const_cast<nsBaseHashtable*>(this));
403
0
  }
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::ConstIter() const
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::ConstIter() const
404
405
  /**
406
   * reset the hashtable, removing all entries
407
   */
408
0
  void Clear() { nsTHashtable<EntryType>::Clear(); }
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad>, nsExternalResourceMap::PendingLoad*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Clear()
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::Clear()
409
410
  /**
411
   * Measure the size of the table's entry storage. The size of things pointed
412
   * to by entries must be measured separately; hence the "Shallow" prefix.
413
   *
414
   * @param   aMallocSizeOf the function used to measure heap-allocated blocks
415
   * @return  the summed size of the table's storage
416
   */
417
  size_t ShallowSizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const
418
0
  {
419
0
    return this->mTable.ShallowSizeOfExcludingThis(aMallocSizeOf);
420
0
  }
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const
421
422
  /**
423
   * Like ShallowSizeOfExcludingThis, but includes sizeof(*this).
424
   */
425
  size_t ShallowSizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const
426
0
  {
427
0
    return aMallocSizeOf(this) + ShallowSizeOfExcludingThis(aMallocSizeOf);
428
0
  }
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfIncludingThis(unsigned long (*)(void const*)) const
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfIncludingThis(unsigned long (*)(void const*)) const
429
430
  /**
431
   * Swap the elements in this hashtable with the elements in aOther.
432
   */
433
  void SwapElements(nsBaseHashtable& aOther)
434
  {
435
    nsTHashtable<EntryType>::SwapElements(aOther);
436
  }
437
438
439
#ifdef DEBUG
440
  using nsTHashtable<EntryType>::MarkImmutable;
441
#endif
442
};
443
444
//
445
// nsBaseHashtableET definitions
446
//
447
448
template<class KeyClass, class DataType>
449
nsBaseHashtableET<KeyClass, DataType>::nsBaseHashtableET(KeyTypePointer aKey)
450
  : KeyClass(aKey)
451
  , mData()
452
1.44k
{
453
1.44k
}
nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule> >::nsBaseHashtableET(char const*)
Line
Count
Source
452
75
{
453
75
}
nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>::nsBaseHashtableET(void const*)
Line
Count
Source
452
3
{
453
3
}
nsBaseHashtableET<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*>::nsBaseHashtableET(bool (* const*)(unsigned int, void*))
Line
Count
Source
452
18
{
453
18
}
nsBaseHashtableET<nsUint32HashKey, nsAutoPtr<nsTString<char> > >::nsBaseHashtableET(unsigned int const*)
Line
Count
Source
452
6
{
453
6
}
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener> >::nsBaseHashtableET(nsISupports const*)
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsCOMPtr<nsIVariant> >::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Unexecuted instantiation: nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<BloatEntry> >::nsBaseHashtableET(char const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >::nsBaseHashtableET(void const*)
nsBaseHashtableET<nsRefPtrHashKey<nsIMemoryReporter>, bool>::nsBaseHashtableET(nsIMemoryReporter const*)
Line
Count
Source
452
52
{
453
52
}
nsBaseHashtableET<nsPtrHashKey<nsIMemoryReporter>, bool>::nsBaseHashtableET(nsIMemoryReporter const*)
Line
Count
Source
452
33
{
453
33
}
Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue> >::nsBaseHashtableET(char const*)
nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, EventNameMapping>::nsBaseHashtableET(nsAtom const*)
Line
Count
Source
452
609
{
453
609
}
nsBaseHashtableET<nsStringHashKey, EventNameMapping>::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Line
Count
Source
452
588
{
453
588
}
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad> >::nsBaseHashtableET(unsigned int const*)
Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsGlobalWindowInner*>::nsBaseHashtableET(unsigned long const*)
Unexecuted instantiation: nsBaseHashtableET<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*> >::nsBaseHashtableET(nsXBLPrototypeHandler const*)
Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsGlobalWindowOuter*>::nsBaseHashtableET(unsigned long const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element> >::nsBaseHashtableET(mozilla::dom::Element const*)
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition> >::nsBaseHashtableET(nsAtom const*)
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback> >::nsBaseHashtableET(nsAtom const*)
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >::nsBaseHashtableET(nsAtom const*)
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > > >::nsBaseHashtableET(nsAtom const*)
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, TMimeType<char16_t>::ParameterValue>::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Unexecuted instantiation: nsBaseHashtableET<nsCStringHashKey, TMimeType<char>::ParameterValue>::nsBaseHashtableET(nsTSubstring<char> const*)
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> > >::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::nsBaseHashtableET(RawServoStyleRule const*)
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> > >::nsBaseHashtableET(nsISupports const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > > >::nsBaseHashtableET(nsIFrame const*)
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource> >::nsBaseHashtableET(nsIURI const*)
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad> >::nsBaseHashtableET(nsIURI const*)
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::nsBaseHashtableET(nsTSubstring<char16_t> const*)
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<imgIRequest> >::nsBaseHashtableET(nsIURI const*)
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, bool>::nsBaseHashtableET(nsIURI const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >::nsBaseHashtableET(nsIContent const*)
nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, int>::nsBaseHashtableET(nsAtom const*)
Line
Count
Source
452
57
{
453
57
}
Unexecuted instantiation: nsBaseHashtableET<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*>::nsBaseHashtableET(mozilla::dom::NodeInfo::NodeInfoInner const*)
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace> >::nsBaseHashtableET(gfxFontEntry const*)
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, mozilla::TimeStamp>::nsBaseHashtableET(nsISupports const*)
Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsTString<char> >::nsBaseHashtableET(unsigned long const*)
454
455
template<class KeyClass, class DataType>
456
nsBaseHashtableET<KeyClass, DataType>::nsBaseHashtableET(
457
      nsBaseHashtableET<KeyClass, DataType>&& aToMove)
458
  : KeyClass(std::move(aToMove))
459
  , mData(std::move(aToMove.mData))
460
0
{
461
0
}
462
463
template<class KeyClass, class DataType>
464
nsBaseHashtableET<KeyClass, DataType>::~nsBaseHashtableET()
465
0
{
466
0
}
Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, nsAutoPtr<nsTString<char> > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsCOMPtr<nsIVariant> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<BloatEntry> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, TMimeType<char16_t>::ParameterValue>::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsCStringHashKey, TMimeType<char>::ParameterValue>::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<imgIRequest> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace> >::~nsBaseHashtableET()
Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsTString<char> >::~nsBaseHashtableET()
467
468
#endif // nsBaseHashtable_h__