Hi,

The comment at the top of mfbt/DebugOnly.h includes this text:

 * Note that DebugOnly instances still take up one byte of space, plus padding,
 * when used as members of structs.

I'm in the process of making js::HashTable (a very common class)
smaller by converting some DebugOnly fields to instead be guarded by
|#ifdef DEBUG| (bug 1038601).

Below is a list of remaining DebugOnly members that I found using
grep. People who are familiar with them should inspect them to see if
they belong to classes that are commonly instantiated, and thus if
some space savings could be made.

Thanks.

Nick


uriloader/exthandler/ExternalHelperAppParent.h:  DebugOnly<bool> mDiverted;
layout/style/CSSVariableResolver.h:  DebugOnly<bool> mResolved;
layout/base/DisplayListClipState.h:  DebugOnly<bool> mClipUsed;
layout/base/DisplayListClipState.h:  DebugOnly<bool> mRestored;
layout/base/DisplayListClipState.h:  DebugOnly<bool> mExtraClipUsed;
gfx/layers/Layers.h:  DebugOnly<uint32_t> mDebugColorIndex;
ipc/glue/FileDescriptor.h:  mutable DebugOnly<bool>
mHandleCreatedByOtherProcessWasUsed;
ipc/glue/MessageChannel.cpp:    DebugOnly<bool> mMoved;
ipc/glue/BackgroundImpl.cpp:  DebugOnly<bool> mActorDestroyed;
content/media/MediaDecoderStateMachine.h:  DebugOnly<bool>
mInRunningStateMachine;
dom/indexedDB/ipc/IndexedDBParent.h:  DebugOnly<RequestType> mRequestType;
dom/indexedDB/ipc/IndexedDBParent.h:  DebugOnly<RequestType> mRequestType;
dom/indexedDB/ipc/IndexedDBParent.h:  DebugOnly<RequestType> mRequestType;
dom/indexedDB/ipc/IndexedDBChild.h:  DebugOnly<RequestType> mRequestType;
dom/indexedDB/ipc/IndexedDBChild.h:  DebugOnly<RequestType> mRequestType;
dom/indexedDB/ipc/IndexedDBChild.h:  DebugOnly<RequestType> mRequestType;
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to