Bug 1428229 - Add comments about purposefully uninitialized variables in BindingDeclarations; r=bz
MozReview-Commit-ID: HnWjU3BbwBE
--- a/dom/bindings/BindingDeclarations.h
+++ b/dom/bindings/BindingDeclarations.h
@@ -438,16 +438,17 @@ public:
// Make us work with smart-ptr helpers that expect a get()
T* get() const {
MOZ_ASSERT(inited);
MOZ_ASSERT(ptr);
return ptr;
}
protected:
+ // ptr is left uninitialized for optimization purposes.
T* ptr;
#ifdef DEBUG
bool inited;
#endif
};
// Class for representing sequences in arguments. We use a non-auto array
// because that allows us to use sequences of sequences and the like. This
--- a/dom/bindings/FakeString.h
+++ b/dom/bindings/FakeString.h
@@ -105,17 +105,19 @@ operator const nsAString& () const {
return *reinterpret_cast<const nsString*>(this);
}
private:
nsAString* ToAStringPtr() {
return reinterpret_cast<nsString*>(this);
}
+ // mData is left uninitialized for optimization purposes.
nsString::char_type* mData;
+ // mLength is left uninitialized for optimization purposes.
nsString::size_type mLength;
nsString::DataFlags mDataFlags;
nsString::ClassFlags mClassFlags;
static const size_t sInlineCapacity = 64;
nsString::char_type mInlineStorage[sInlineCapacity];
FakeString(const FakeString& other) = delete;