From 7e9a7de89589c67d2215cf4d005325272ed753af Mon Sep 17 00:00:00 2001 From: Simon Giesecke Date: Fri, 20 Mar 2020 17:04:27 +0000 Subject: [PATCH] Bug 1620632 - Rename confusingly named types/macros for relocation handling of nsTArray. r=froydnj Specifically, this renames * nsTArray_CopyChooser to nsTArray_RelocationStrategy * the Copy template argument of nsTArray_base to RelocationStrategy * nsTArray_CopyWithConstructors to nsTArray_RelocateUsingMoveConstructor * nsTArray_CopyWithMemutils to nsTArray_RelocateUsingMemutils * DECLARE_USE_COPY_CONSTRUCTORS to MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR Differential Revision: https://phabricator.services.mozilla.com/D66243 --HG-- extra : moz-landing-system : lando --- build/win32/orderfile.txt | 66 ++++---- build/win64/orderfile.txt | 76 +++++----- dom/indexedDB/ActorsChild.h | 2 +- dom/indexedDB/IndexedDatabase.h | 8 +- dom/media/AudioSegment.h | 4 +- dom/media/Intervals.h | 5 +- dom/media/TimeUnits.h | 5 +- dom/media/gtest/TestIntervalSet.cpp | 13 +- dom/media/webaudio/AudioBlock.h | 2 +- dom/media/webaudio/AudioWorkletNode.cpp | 2 +- dom/messagechannel/MessagePortService.cpp | 3 +- dom/messagechannel/MessagePortService.h | 3 +- dom/plugins/ipc/IpdlTuple.h | 7 +- dom/quota/CheckedUnsafePtr.h | 6 +- gfx/layers/ipc/SharedSurfacesChild.h | 5 +- gfx/src/FilterSupport.h | 3 +- gfx/src/nsRegion.h | 4 +- intl/locale/MozLocale.h | 2 +- layout/painting/FrameLayerBuilder.cpp | 2 +- layout/style/GeckoBindings.cpp | 12 +- .../extensions/AddonManagerStartup.cpp | 2 +- xpcom/ds/nsTArray-inl.h | 122 ++++++++------- xpcom/ds/nsTArray.h | 143 +++++++++--------- xpcom/reflect/xptinfo/xptinfo.h | 2 +- xpcom/tests/gtest/TestTArray.cpp | 8 +- 25 files changed, 266 insertions(+), 241 deletions(-) diff --git a/build/win32/orderfile.txt b/build/win32/orderfile.txt index 890ab10ac7a7..60b157aaec8a 100644 --- a/build/win32/orderfile.txt +++ b/build/win32/orderfile.txt @@ -1057,7 +1057,7 @@ RegisterStrongMemoryReporter ?ReplaceChar@?$nsTString@D@@QAEXDD@Z ?LowerCaseEqualsASCII@?$nsTStringRepr@D@detail@mozilla@@QBI_NPBDI@Z ?ToUpperCase@@YAXAAV?$nsTSubstring@D@@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VLocale@intl@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VLocale@intl@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ??0Locale@intl@mozilla@@QAE@$$QAV012@@Z ?AsString@Locale@intl@mozilla@@QBE?BV?$nsTString@D@@XZ ?Equals@?$nsTStringRepr@D@detail@mozilla@@QBI_NABV123@ABV?$nsTStringComparator@D@@@Z @@ -2990,7 +2990,7 @@ NS_GetXPTCallStub ?FactoryGet@Histogram@base@@SAPAV12@HHIW4Flags@12@PBH@Z ?Accumulate@Histogram@base@@MAEXHHI@Z ??$AppendElement@AAV?$Rooted@PAVJSObject@@@JS@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$Heap@PAVJSObject@@@JS@@UnsTArrayInfallibleAllocator@@@@IAEPAV?$Heap@PAVJSObject@@@JS@@AAV?$Rooted@PAVJSObject@@@2@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@PAVJSObject@@@JS@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@PAVJSObject@@@JS@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ?reset@?$Maybe@VNS_LossyConvertUTF16toASCII@@@mozilla@@QAEXXZ ?SuppressException@?$TErrorResult@UJustSuppressCleanupPolicy@binding_danger@mozilla@@@binding_danger@mozilla@@QAEXXZ ?ClearUnionData@?$TErrorResult@UJustSuppressCleanupPolicy@binding_danger@mozilla@@@binding_danger@mozilla@@AAEXXZ @@ -3475,7 +3475,7 @@ NS_NewWindowsRegKey ?Get@SharedMap@ipc@dom@mozilla@@QAEXPAUJSContext@@ABV?$nsTSubstring@D@@V?$MutableHandle@TValue@JS@@@JS@@AAVErrorResult@4@@Z ?MaybeRebuild@SharedMap@ipc@dom@mozilla@@IAE?AV?$Result@UOk@mozilla@@W4nsresult@@@4@XZ ?codeUint32@InputBuffer@loader@mozilla@@QAE_NAAI@Z -?MoveNonOverlappingRegion@?$nsTArray_CopyWithConstructors@V?$Heap@PAVJSObject@@@JS@@@@SAXPAX0II@Z +?RelocateNonOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@PAVJSObject@@@JS@@@@SAXPAX0II@Z ??4?$Maybe@_N@mozilla@@QAEAAV01@$$QAV01@@Z ?SetEventRecordingEnabled@TelemetryEvent@@YAXABV?$nsTSubstring@D@@_N@Z ?QueryInterface@nsPrefBranch@@UAG?AW4nsresult@@ABUnsID@@PAPAX@Z @@ -8805,7 +8805,7 @@ RegisterWeakAsyncMemoryReporter ?SetIntValueAndType@nsAttrValue@@AAEXHW4ValueType@1@PBV?$nsTSubstring@_S@@@Z ?NotifyLoadDone@nsXULPrototypeDocument@@QAE?AW4nsresult@@XZ ?ClearAndRetainStorage@?$nsTArray_Impl@V?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@@QAEXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$function@$$A6AXXZ@std@@@@@@IAEXII@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$function@$$A6AXXZ@std@@@@@@IAEXII@Z ??1?$nsTArray_Impl@V?$RefPtr@VNodeInfo@dom@mozilla@@@@UnsTArrayInfallibleAllocator@@@@QAE@XZ ??1?$RefPtr@VNodeInfo@dom@mozilla@@@@QAE@XZ ?PutPrototype@nsXULPrototypeCache@@QAE?AW4nsresult@@PAVnsXULPrototypeDocument@@@Z @@ -10730,8 +10730,8 @@ Gecko_CopyConstruct_nsStylePadding Gecko_CopyConstruct_nsStyleEffects ??0nsStyleEffects@@QAE@ABU0@@Z ??$AppendElements@UnsStyleFilter@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UnsStyleFilter@@UnsTArrayInfallibleAllocator@@@@IAEPAUnsStyleFilter@@PBU1@I@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UnsStyleFilter@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UnsStyleFilter@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UnsStyleFilter@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UnsStyleFilter@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z Gecko_NewCSSShadowArray Gecko_EnsureImageLayersLength Gecko_SetNullImageValue @@ -15931,7 +15931,7 @@ Gecko_AttrHasSuffix ??1nsDisplayListBuilder@@QAE@XZ ?_Tidy@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@PBUDisplayItemClipChain@mozilla@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@PBUDisplayItemClipChain@mozilla@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXXZ ??1?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@QAE@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAE@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAE@XZ ??1WeakFrameRegion@nsDisplayListBuilder@@QAE@XZ ?reset@?$UniquePtr@VWeakFrame@@V?$DefaultDelete@VWeakFrame@@@mozilla@@@mozilla@@QAEXPAVWeakFrame@@@Z ??R?$DefaultDelete@VWeakFrame@@@mozilla@@QBEXPAVWeakFrame@@@Z @@ -16135,7 +16135,7 @@ Gecko_ContentList_AppendAll ?SetNeedsComposite@ClientLayerManager@layers@mozilla@@UAEX_N@Z ??0nsRegion@@QAE@ABV0@@Z ??$ReplaceElementsAt@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IAEPAUBand@regiondetails@@IIPBU12@I@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ?SendInvalidRegion@ClientLayerManager@layers@mozilla@@UAEXABV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z ?GetRemoteRenderer@nsBaseWidget@@MAEPAVCompositorBridgeChild@layers@mozilla@@XZ ?SendNotifyRegionInvalidated@CompositorBridgeChild@layers@mozilla@@QAE_NABV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z @@ -16168,10 +16168,10 @@ Gecko_ContentList_AppendAll ?Read@?$RegionParamTraits@V?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@23@VRectIterator@?$BaseIntRegion@V?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@23@U?$IntPointTyped@UUnknownUnits@gfx@mozilla@@@23@U?$IntMarginTyped@UUnknownUnits@gfx@mozilla@@@23@@23@@IPC@@SA_NPBVMessage@2@PAVPickleIterator@@PAV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@Z ?Read@?$ParamTraits@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@IPC@@SA_NPBVMessage@2@PAVPickleIterator@@PAU?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@Z ??0nsRegion@@QAE@V?$ArrayView@Upixman_box32@@@gfx@mozilla@@@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAE_NI@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAE_NI@Z ?ClearAndRetainStorage@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@QAEXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAEXII@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAEXII@Z ??1?$nsTArray_Impl@Upixman_box32@@UnsTArrayInfallibleAllocator@@@@QAE@XZ ?RecvNotifyRegionInvalidated@CompositorBridgeParent@layers@mozilla@@UAE?AVIPCResult@ipc@3@ABV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z ?AddInvalidRegion@LayerManagerComposite@layers@mozilla@@UAEXABV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z @@ -16312,7 +16312,7 @@ Gecko_ContentList_AppendAll ?UnionEdges@?$BaseRectAbsolute@HUnsRectAbsolute@@UnsPoint@@UnsRect@@@gfx@mozilla@@QBE?AUnsRectAbsolute@@ABU4@@Z ?EqualStrips@Band@regiondetails@@QBE_NABU12@@Z ??$InsertElementAt@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IAEPAUBand@regiondetails@@I$$QAU12@@Z -?MoveNonOverlappingRegion@?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@SAXPAX0II@Z +?RelocateNonOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@SAXPAX0II@Z ?InsertStrip@Band@regiondetails@@QAEXABUStrip@2@@Z ?CompressBefore@nsRegion@@AAEXAAI@Z ?EnsureSimplified@nsRegion@@AAEXXZ @@ -16457,8 +16457,8 @@ Gecko_ContentList_AppendAll ?s_HashKey@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PAVPaintedLayerDataNode@mozilla@@@@@@KAIPBX@Z ?s_InitEntry@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PAVPaintedLayerDataNode@mozilla@@@@@@KAXPAUPLDHashEntryHdr@@PBX@Z ??$AppendElements@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@VPaintedLayerData@mozilla@@UnsTArrayInfallibleAllocator@@@@IAEPAVPaintedLayerData@mozilla@@I@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ??0PaintedLayerData@mozilla@@QAE@XZ ??$AppendElements@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UNewLayerEntry@mozilla@@UnsTArrayInfallibleAllocator@@@@IAEPAUNewLayerEntry@mozilla@@I@Z ??0NewLayerEntry@mozilla@@QAE@XZ @@ -16517,7 +16517,7 @@ Gecko_ContentList_AppendAll ?GetSameCoordinateSystemChildren@nsDisplayWrapList@@UBEPAVRetainedDisplayList@@XZ ?IsEqual@nsRegion@@QBE_NABV1@@Z ?IsEqualInterior@?$BaseRectAbsolute@HUnsRectAbsolute@@UnsPoint@@UnsRect@@@gfx@mozilla@@QBE_NABUnsRectAbsolute@@@Z -?MoveOverlappingRegion@?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@SAXPAX0II@Z +?RelocateOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@SAXPAX0II@Z ?GetLayerState@nsDisplayBorder@@UAE?AW4LayerState@mozilla@@PAVnsDisplayListBuilder@@PAVLayerManager@layers@3@ABUContainerLayerParameters@3@@Z ?GetOpaqueRegion@nsDisplayItem@@UBE?AVnsRegion@@PAVnsDisplayListBuilder@@PA_N@Z ?IsUniform@nsDisplayItem@@UBE?AV?$Maybe@I@mozilla@@PAVnsDisplayListBuilder@@@Z @@ -16615,10 +16615,10 @@ Gecko_ContentList_AppendAll ?MoveBy@nsRegion@@QAEXUnsPoint@@@Z ?SetEventRegions@Layer@layers@mozilla@@QAEXABUEventRegions@23@@Z ??8EventRegions@layers@mozilla@@QBE_NABU012@@Z -?UsesAutoArrayBuffer@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IBE_NXZ +?UsesAutoArrayBuffer@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IBE_NXZ ?Clear@?$nsTArray_Impl@VPaintedLayerData@mozilla@@UnsTArrayInfallibleAllocator@@@@QAEXXZ ??1PaintedLayerData@mozilla@@QAE@XZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IAEXII@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IAEXII@Z ?s_ClearEntry@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PAVPaintedLayerDataNode@mozilla@@@@@@KAXPAVPLDHashTable@@PAUPLDHashEntryHdr@@@Z ?reset@?$Maybe@VPaintedLayerDataNode@mozilla@@@mozilla@@QAEXXZ ??1PaintedLayerDataNode@mozilla@@QAE@XZ @@ -16986,7 +16986,7 @@ Gecko_ContentList_AppendAll ??$AppendElement@ABUBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IAEPAUBand@regiondetails@@ABU12@@Z ?AppendOrExtend@nsRegion@@AAEX$$QBUBand@regiondetails@@@Z ??$AppendElements@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IAEPAUBand@regiondetails@@PBU12@I@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IAE?AUnsTArrayInfallibleResult@@III@Z ??$AppendElement@$$CBUBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IAEPAUBand@regiondetails@@$$QBU12@@Z ?IsInvisibleInRect@nsDisplayBorder@@UBE_NABUnsRect@@@Z ?GetPaddingRect@nsDisplayItem@@QBE?AUnsRect@@XZ @@ -19548,7 +19548,7 @@ XPCOMService_GetThirdPartyUtil ?first@?$PairHelper@PAV?$nsTArray@V?$function@$$A6AXXZ@std@@@@V?$DefaultDelete@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@@mozilla@@$00$0A@@detail@mozilla@@IBEABQAV?$nsTArray@V?$function@$$A6AXXZ@std@@@@XZ ??4?$UniquePtr@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@V?$DefaultDelete@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@@mozilla@@@mozilla@@QAEAAV01@$$QAV01@@Z ??$AppendElement@ABV?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@@IAEPAV?$function@$$A6AXXZ@std@@ABV12@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$function@$$A6AXXZ@std@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$function@$$A6AXXZ@std@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ?TestPermissionOriginNoSuffix@nsPermissionManager@@UAG?AW4nsresult@@ABV?$nsTSubstring@D@@0PAI@Z ?NS_IsSafeTopLevelNav@@YA_NPAVnsIChannel@@@Z ?IsSafeMethod@nsHttpRequestHead@net@mozilla@@QAE_NXZ @@ -21877,16 +21877,16 @@ nsEscape ?SetTimeoutOrInterval@nsGlobalWindowInner@@QAEHPAUJSContext@@AAVFunction@dom@mozilla@@HABV?$Sequence@TValue@JS@@@45@_NAAVErrorResult@5@@Z ?NS_CreateJSTimeoutHandler@@YA?AU?$already_AddRefed@VnsIScriptTimeoutHandler@@@@PAUJSContext@@PAVnsGlobalWindowInner@@AAVFunction@dom@mozilla@@ABV?$Sequence@TValue@JS@@@56@AAVErrorResult@6@@Z ??$AppendElements@TValue@JS@@UnsTArrayFallibleAllocator@@@?$nsTArray_Impl@V?$Heap@TValue@JS@@@JS@@UnsTArrayInfallibleAllocator@@@@IAEPAV?$Heap@TValue@JS@@@JS@@PBTValue@2@I@Z -??$ExtendCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayFallibleResult@@III@Z -??$EnsureCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayFallibleResult@@II@Z +??$ExtendCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayFallibleResult@@III@Z +??$EnsureCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayFallibleResult@@II@Z ??$implementation@TValue@JS@@V?$Heap@TValue@JS@@@2@II@?$AssignRangeAlgorithm@$0A@$0A@@@SAXPAV?$Heap@TValue@JS@@@JS@@IIPBTValue@2@@Z ??0nsJSScriptTimeoutHandler@@QAE@PAUJSContext@@PAVnsGlobalWindowInner@@AAVFunction@dom@mozilla@@$$QAV?$nsTArray@V?$Heap@TValue@JS@@@JS@@@@AAVErrorResult@5@@Z ?QueryInterface@nsJSScriptTimeoutHandler@@UAG?AW4nsresult@@ABUnsID@@PAPAX@Z ??4?$nsTArray@V?$Heap@TValue@JS@@@JS@@@@QAEAAV0@$$QAV0@@Z ?ClearAndRetainStorage@?$nsTArray_Impl@V?$Heap@TValue@JS@@@JS@@UnsTArrayInfallibleAllocator@@@@QAEXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IAEXII@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IAE_NI@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IAEXII@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IAE_NI@Z ?GetCallingLocation@nsJSUtils@@SA_NPAUJSContext@@AAV?$nsTSubstring@D@@PAI2@Z ??0?$RefPtr@VnsJSScriptTimeoutHandler@@@@QAE@PAVnsJSScriptTimeoutHandler@@@Z ??1?$nsTArray_Impl@V?$Heap@TValue@JS@@@JS@@UnsTArrayInfallibleAllocator@@@@QAE@XZ @@ -23081,9 +23081,9 @@ Gecko_IsDocumentBody ?MaybeDestroy@RequestResponse@indexedDB@dom@mozilla@@AAE_NW4Type@1234@@Z ??4?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@QAEAAV0@$$QAV0@@Z ?ClearAndRetainStorage@?$nsTArray_Impl@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@QAEXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAEXII@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE_NI@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAEXII@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE_NI@Z ??1?$nsTArray_Impl@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@QAE@XZ ?Send__delete__@PBackgroundIDBRequestParent@indexedDB@dom@mozilla@@SA_NPAV1234@ABVRequestResponse@234@@Z ?Write@?$IPDLParamTraits@VRequestResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SAXPAVMessage@IPC@@PAVIProtocol@23@ABVRequestResponse@indexedDB@dom@3@@Z @@ -23164,7 +23164,7 @@ Gecko_IsDocumentBody ?Read@?$IPDLParamTraits@VRequestResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SA_NPBVMessage@IPC@@PAVPickleIterator@@PAVIProtocol@23@PAVRequestResponse@indexedDB@dom@3@@Z ?Read@?$IPDLParamTraits@VObjectStoreGetAllResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SA_NPBVMessage@IPC@@PAVPickleIterator@@PAVIProtocol@23@PAVObjectStoreGetAllResponse@indexedDB@dom@3@@Z ?Read@?$IPDLParamTraits@V?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@ipc@mozilla@@SA_NPBVMessage@IPC@@PAVPickleIterator@@PAVIProtocol@23@PAV?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IAE?AUnsTArrayInfallibleResult@@II@Z ?Recv__delete__@BackgroundRequestChild@indexedDB@dom@mozilla@@EAE?AVIPCResult@ipc@4@ABVRequestResponse@234@@Z ?HandleResponse@BackgroundRequestChild@indexedDB@dom@mozilla@@AAEXABV?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@Z ?SendCommit@PBackgroundIDBTransactionChild@indexedDB@dom@mozilla@@QAE_NXZ @@ -24711,11 +24711,11 @@ Gecko_GetBaseSize ??$AppendElement@VNS_ConvertUTF16toUTF8@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$nsTString@D@@UnsTArrayInfallibleAllocator@@@@IAEPAV?$nsTString@D@@$$QAVNS_ConvertUTF16toUTF8@@@Z ??$AppendElement@AAV?$AutoTArray@V?$nsTString@D@@$03@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$01@@UnsTArrayInfallibleAllocator@@@@IAEPAV?$AutoTArray@V?$nsTString@D@@$01@@AAV?$AutoTArray@V?$nsTString@D@@$03@@@Z ??0?$AutoTArray@V?$nsTString@D@@$01@@QAE@$$QAV0@@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAE_NI@Z -?GetAutoArrayBufferUnsafe@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAEPAUnsTArrayHeader@@I@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IAE_NI@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAE_NI@Z +?GetAutoArrayBufferUnsafe@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IAEPAUnsTArrayHeader@@I@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IAE?AUnsTArrayInfallibleResult@@AAV0@II@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IAE_NI@Z ??$move@AAV?$nsTArray@V?$AutoTArray@V?$nsTString@D@@$01@@@@@std@@YA$$QAV?$nsTArray@V?$AutoTArray@V?$nsTString@D@@$01@@@@AAV1@@Z ??1?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$01@@UnsTArrayInfallibleAllocator@@@@QAE@XZ ??1?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$02@@UnsTArrayInfallibleAllocator@@@@QAE@XZ diff --git a/build/win64/orderfile.txt b/build/win64/orderfile.txt index 1f77d874c10a..1827d6d6ad33 100644 --- a/build/win64/orderfile.txt +++ b/build/win64/orderfile.txt @@ -1037,7 +1037,7 @@ RegisterStrongMemoryReporter ?ReplaceChar@?$nsTString@D@@QEAAXDD@Z ?LowerCaseEqualsASCII@?$nsTStringRepr@D@detail@mozilla@@QEBA_NPEBDI@Z ?ToUpperCase@@YAXAEAV?$nsTSubstring@D@@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VLocale@intl@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VLocale@intl@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ??0Locale@intl@mozilla@@QEAA@$$QEAV012@@Z ?AsString@Locale@intl@mozilla@@QEBA?BV?$nsTString@D@@XZ ?Equals@?$nsTStringRepr@D@detail@mozilla@@QEBA_NAEBV123@AEBV?$nsTStringComparator@D@@@Z @@ -2961,7 +2961,7 @@ PrepareAndDispatch ?FactoryGet@Histogram@base@@SAPEAV12@HH_KW4Flags@12@PEBH@Z ?Accumulate@Histogram@base@@MEAAXHH_K@Z ??$AppendElement@AEAV?$Rooted@PEAVJSObject@@@JS@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$Heap@PEAVJSObject@@@JS@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$Heap@PEAVJSObject@@@JS@@AEAV?$Rooted@PEAVJSObject@@@2@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@PEAVJSObject@@@JS@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@PEAVJSObject@@@JS@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ?reset@?$Maybe@VNS_LossyConvertUTF16toASCII@@@mozilla@@QEAAXXZ ?SuppressException@?$TErrorResult@UJustSuppressCleanupPolicy@binding_danger@mozilla@@@binding_danger@mozilla@@QEAAXXZ ?ClearUnionData@?$TErrorResult@UJustSuppressCleanupPolicy@binding_danger@mozilla@@@binding_danger@mozilla@@AEAAXXZ @@ -3449,7 +3449,7 @@ NS_NewWindowsRegKey ?Get@SharedMap@ipc@dom@mozilla@@QEAAXPEAUJSContext@@AEBV?$nsTSubstring@D@@V?$MutableHandle@TValue@JS@@@JS@@AEAVErrorResult@4@@Z ?MaybeRebuild@SharedMap@ipc@dom@mozilla@@IEAA?AV?$Result@UOk@mozilla@@W4nsresult@@@4@XZ ?codeUint32@InputBuffer@loader@mozilla@@QEAA_NAEAI@Z -?MoveNonOverlappingRegion@?$nsTArray_CopyWithConstructors@V?$Heap@PEAVJSObject@@@JS@@@@SAXPEAX0_K1@Z +?RelocateNonOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@PEAVJSObject@@@JS@@@@SAXPEAX0_K1@Z ??4?$Maybe@_N@mozilla@@QEAAAEAV01@$$QEAV01@@Z ?SetEventRecordingEnabled@TelemetryEvent@@YAXAEBV?$nsTSubstring@D@@_N@Z ?QueryInterface@nsPrefBranch@@UEAA?AW4nsresult@@AEBUnsID@@PEAPEAX@Z @@ -8062,7 +8062,7 @@ Gecko_Destroy_nsStyleColumn ??1nsStyleColumn@@QEAA@XZ Gecko_Destroy_nsStyleEffects ??1nsStyleEffects@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UnsStyleFilter@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UnsStyleFilter@@@@@@IEAA@XZ ??0DocumentStyleRootIterator@mozilla@@QEAA@PEAVnsINode@@@Z ?AppendDocumentLevelNativeAnonymousContentTo@nsContentUtils@@SAXPEAVDocument@dom@mozilla@@AEAV?$nsTArray@PEAVnsIContent@@@@@Z ?GetRootScrollFrame@nsIPresShell@@QEBAPEAVnsIFrame@@XZ @@ -8755,7 +8755,7 @@ RegisterWeakAsyncMemoryReporter ?SetIntValueAndType@nsAttrValue@@AEAAXHW4ValueType@1@PEBV?$nsTSubstring@_S@@@Z ?NotifyLoadDone@nsXULPrototypeDocument@@QEAA?AW4nsresult@@XZ ?ClearAndRetainStorage@?$nsTArray_Impl@V?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@@QEAAXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$function@$$A6AXXZ@std@@@@@@IEAAX_K0@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$function@$$A6AXXZ@std@@@@@@IEAAX_K0@Z ??1?$nsTArray_Impl@V?$RefPtr@VNodeInfo@dom@mozilla@@@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ ??1?$RefPtr@VNodeInfo@dom@mozilla@@@@QEAA@XZ ?PutPrototype@nsXULPrototypeCache@@QEAA?AW4nsresult@@PEAVnsXULPrototypeDocument@@@Z @@ -10598,8 +10598,8 @@ Gecko_CopyConstruct_nsStylePadding Gecko_CopyConstruct_nsStyleEffects ??0nsStyleEffects@@QEAA@AEBU0@@Z ??$AppendElements@UnsStyleFilter@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UnsStyleFilter@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUnsStyleFilter@@PEBU1@_K@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UnsStyleFilter@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UnsStyleFilter@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UnsStyleFilter@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UnsStyleFilter@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z Gecko_NewCSSShadowArray Gecko_EnsureImageLayersLength Gecko_SetNullImageValue @@ -15860,7 +15860,7 @@ Gecko_AttrHasSuffix ??1nsDisplayListBuilder@@QEAA@XZ ?_Tidy@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@PEBUDisplayItemClipChain@mozilla@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@PEBUDisplayItemClipChain@mozilla@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AEAAXXZ ??1?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAA@XZ ??1WeakFrameRegion@nsDisplayListBuilder@@QEAA@XZ ?reset@?$UniquePtr@VWeakFrame@@V?$DefaultDelete@VWeakFrame@@@mozilla@@@mozilla@@QEAAXPEAVWeakFrame@@@Z ??R?$DefaultDelete@VWeakFrame@@@mozilla@@QEBAXPEAVWeakFrame@@@Z @@ -16064,7 +16064,7 @@ Gecko_ContentList_AppendAll ?SetNeedsComposite@ClientLayerManager@layers@mozilla@@UEAAX_N@Z ??0nsRegion@@QEAA@AEBV0@@Z ??$ReplaceElementsAt@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUBand@regiondetails@@_K0PEBU12@0@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ?SendInvalidRegion@ClientLayerManager@layers@mozilla@@UEAAXAEBV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z ?GetRemoteRenderer@nsBaseWidget@@MEAAPEAVCompositorBridgeChild@layers@mozilla@@XZ ?SendNotifyRegionInvalidated@CompositorBridgeChild@layers@mozilla@@QEAA_NAEBV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z @@ -16096,10 +16096,10 @@ Gecko_ContentList_AppendAll ?Read@?$RegionParamTraits@V?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@23@VRectIterator@?$BaseIntRegion@V?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@23@U?$IntPointTyped@UUnknownUnits@gfx@mozilla@@@23@U?$IntMarginTyped@UUnknownUnits@gfx@mozilla@@@23@@23@@IPC@@SA_NPEBVMessage@2@PEAVPickleIterator@@PEAV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@Z ?Read@?$ParamTraits@U?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@IPC@@SA_NPEBVMessage@2@PEAVPickleIterator@@PEAU?$IntRectTyped@UUnknownUnits@gfx@mozilla@@@gfx@mozilla@@@Z ??0nsRegion@@QEAA@V?$ArrayView@Upixman_box32@@@gfx@mozilla@@@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAA_N_K@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAA_N_K@Z ?ClearAndRetainStorage@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@QEAAXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAAX_K0@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAAX_K0@Z ??1?$nsTArray_Impl@Upixman_box32@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ ?RecvNotifyRegionInvalidated@CompositorBridgeParent@layers@mozilla@@UEAA?AVIPCResult@ipc@3@AEBV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z ?AddInvalidRegion@LayerManagerComposite@layers@mozilla@@UEAAXAEBV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@3@@Z @@ -16240,7 +16240,7 @@ Gecko_ContentList_AppendAll ?UnionEdges@?$BaseRectAbsolute@HUnsRectAbsolute@@UnsPoint@@UnsRect@@@gfx@mozilla@@QEBA?AUnsRectAbsolute@@AEBU4@@Z ?EqualStrips@Band@regiondetails@@QEBA_NAEBU12@@Z ??$InsertElementAt@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUBand@regiondetails@@_K$$QEAU12@@Z -?MoveNonOverlappingRegion@?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@SAXPEAX0_K1@Z +?RelocateNonOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@SAXPEAX0_K1@Z ?InsertStrip@Band@regiondetails@@QEAAXAEBUStrip@2@@Z ?CompressBefore@nsRegion@@AEAAXAEA_K@Z ?EnsureSimplified@nsRegion@@AEAAXXZ @@ -16385,8 +16385,8 @@ Gecko_ContentList_AppendAll ?s_HashKey@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PEAVPaintedLayerDataNode@mozilla@@@@@@KAIPEBX@Z ?s_InitEntry@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PEAVPaintedLayerDataNode@mozilla@@@@@@KAXPEAUPLDHashEntryHdr@@PEBX@Z ??$AppendElements@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@VPaintedLayerData@mozilla@@UnsTArrayInfallibleAllocator@@@@IEAAPEAVPaintedLayerData@mozilla@@_K@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ??0PaintedLayerData@mozilla@@QEAA@XZ ??$AppendElements@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UNewLayerEntry@mozilla@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUNewLayerEntry@mozilla@@_K@Z ??0NewLayerEntry@mozilla@@QEAA@XZ @@ -16445,7 +16445,7 @@ Gecko_ContentList_AppendAll ?GetSameCoordinateSystemChildren@nsDisplayWrapList@@UEBAPEAVRetainedDisplayList@@XZ ?IsEqual@nsRegion@@QEBA_NAEBV1@@Z ?IsEqualInterior@?$BaseRectAbsolute@HUnsRectAbsolute@@UnsPoint@@UnsRect@@@gfx@mozilla@@QEBA_NAEBUnsRectAbsolute@@@Z -?MoveOverlappingRegion@?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@SAXPEAX0_K1@Z +?RelocateOverlappingRegion@?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@SAXPEAX0_K1@Z ?GetLayerState@nsDisplayBorder@@UEAA?AW4LayerState@mozilla@@PEAVnsDisplayListBuilder@@PEAVLayerManager@layers@3@AEBUContainerLayerParameters@3@@Z ?GetOpaqueRegion@nsDisplayItem@@UEBA?AVnsRegion@@PEAVnsDisplayListBuilder@@PEA_N@Z ?IsUniform@nsDisplayItem@@UEBA?AV?$Maybe@I@mozilla@@PEAVnsDisplayListBuilder@@@Z @@ -16542,11 +16542,11 @@ Gecko_ContentList_AppendAll ??8EventRegions@layers@mozilla@@QEBA_NAEBU012@@Z ?Clear@?$nsTArray_Impl@VPaintedLayerData@mozilla@@UnsTArrayInfallibleAllocator@@@@QEAAXXZ ??1PaintedLayerData@mozilla@@QEAA@XZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IEAAX_K0@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IEAAX_K0@Z ?s_ClearEntry@?$nsTHashtable@V?$nsBaseHashtableET@V?$nsPtrHashKey@UAnimatedGeometryRoot@@@@PEAVPaintedLayerDataNode@mozilla@@@@@@KAXPEAVPLDHashTable@@PEAUPLDHashEntryHdr@@@Z ?reset@?$Maybe@VPaintedLayerDataNode@mozilla@@@mozilla@@QEAAXXZ ??1PaintedLayerDataNode@mozilla@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VPaintedLayerData@mozilla@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VPaintedLayerData@mozilla@@@@@@IEAA@XZ ?PostprocessRetainedLayers@ContainerState@mozilla@@IEAAXPEAV?$IntRegionTyped@UUnknownUnits@gfx@mozilla@@@gfx@2@@Z ?SetupScrollingMetadata@ContainerState@mozilla@@IEAAXPEAUNewLayerEntry@2@@Z ??$AppendElements@V?$RefPtr@VLayer@layers@mozilla@@@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$RefPtr@VLayer@layers@mozilla@@@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$RefPtr@VLayer@layers@mozilla@@@@PEBV1@_K@Z @@ -16914,7 +16914,7 @@ Gecko_ContentList_AppendAll ??$AppendElement@AEBUBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUBand@regiondetails@@AEBU12@@Z ?AppendOrExtend@nsRegion@@AEAAX$$QEBUBand@regiondetails@@@Z ??$AppendElements@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUBand@regiondetails@@PEBU12@_K@Z -??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z +??$ExtendCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UBand@regiondetails@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K00@Z ??$AppendElement@$$CBUBand@regiondetails@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@UBand@regiondetails@@UnsTArrayInfallibleAllocator@@@@IEAAPEAUBand@regiondetails@@$$QEBU12@@Z ?IsInvisibleInRect@nsDisplayBorder@@UEBA_NAEBUnsRect@@@Z ?GetPaddingRectRelativeToSelf@nsIFrame@@QEBA?AUnsRect@@XZ @@ -19464,7 +19464,7 @@ XPCOMService_GetThirdPartyUtil ?first@?$PairHelper@PEAV?$nsTArray@V?$function@$$A6AXXZ@std@@@@V?$DefaultDelete@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@@mozilla@@$00$0A@@detail@mozilla@@IEBAAEBQEAV?$nsTArray@V?$function@$$A6AXXZ@std@@@@XZ ?reset@?$UniquePtr@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@V?$DefaultDelete@V?$nsTArray@V?$function@$$A6AXXZ@std@@@@@mozilla@@@mozilla@@QEAAXPEAV?$nsTArray@V?$function@$$A6AXXZ@std@@@@@Z ??$AppendElement@AEBV?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$function@$$A6AXXZ@std@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$function@$$A6AXXZ@std@@AEBV12@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$function@$$A6AXXZ@std@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$function@$$A6AXXZ@std@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ?TestPermissionOriginNoSuffix@nsPermissionManager@@UEAA?AW4nsresult@@AEBV?$nsTSubstring@D@@0PEAI@Z ?NS_IsSafeTopLevelNav@@YA_NPEAVnsIChannel@@@Z ?IsSafeMethod@nsHttpRequestHead@net@mozilla@@QEAA_NXZ @@ -21786,11 +21786,11 @@ Gecko_IsDocumentBody ?MaybeDestroy@RequestResponse@indexedDB@dom@mozilla@@AEAA_NW4Type@1234@@Z ??4?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@QEAAAEAV0@$$QEAV0@@Z ?ClearAndRetainStorage@?$nsTArray_Impl@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@QEAAXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAAX_K0@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA_N_K@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAAX_K0@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA_N_K@Z ??1?$nsTArray_Impl@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA@XZ ??$AppendElement@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@VObjectStoreSpec@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@IEAAPEAVObjectStoreSpec@indexedDB@dom@mozilla@@XZ ?Read@?$IPDLParamTraits@VObjectStoreSpec@indexedDB@dom@mozilla@@@ipc@mozilla@@SA_NPEBVMessage@IPC@@PEAVPickleIterator@@PEAVIProtocol@23@PEAVObjectStoreSpec@indexedDB@dom@3@@Z ?Send__delete__@PBackgroundIDBRequestParent@indexedDB@dom@mozilla@@SA_NPEAV1234@AEBVRequestResponse@234@@Z @@ -21802,7 +21802,7 @@ Gecko_IsDocumentBody ?Write@?$IPDLParamTraits@VObjectStoreGetAllResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SAXPEAVMessage@IPC@@PEAVIProtocol@23@AEBVObjectStoreGetAllResponse@indexedDB@dom@3@@Z ?RemoveManagee@PBackgroundIDBTransactionParent@indexedDB@dom@mozilla@@UEAAXHPEAVIProtocol@ipc@4@@Z ??1RequestResponse@indexedDB@dom@mozilla@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@UStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@UStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA@XZ ??E?$DebugOnly@I@mozilla@@QEAAXH@Z ??1PBackgroundIDBRequestParent@indexedDB@dom@mozilla@@UEAA@XZ ??$AppendElements@VIndexMetadata@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@VIndexMetadata@indexedDB@dom@mozilla@@UnsTArrayInfallibleAllocator@@@@IEAAPEAVIndexMetadata@indexedDB@dom@mozilla@@PEBV1234@_K@Z @@ -21812,7 +21812,7 @@ Gecko_IsDocumentBody ?Read@?$IPDLParamTraits@VRequestResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SA_NPEBVMessage@IPC@@PEAVPickleIterator@@PEAVIProtocol@23@PEAVRequestResponse@indexedDB@dom@3@@Z ?Read@?$IPDLParamTraits@VObjectStoreGetAllResponse@indexedDB@dom@mozilla@@@ipc@mozilla@@SA_NPEBVMessage@IPC@@PEAVPickleIterator@@PEAVIProtocol@23@PEAVObjectStoreGetAllResponse@indexedDB@dom@3@@Z ?Read@?$IPDLParamTraits@V?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@ipc@mozilla@@SA_NPEBVMessage@IPC@@PEAVPickleIterator@@PEAVIProtocol@23@PEAV?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@Z -??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z +??$EnsureCapacity@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@@IEAA?AUnsTArrayInfallibleResult@@_K0@Z ?Recv__delete__@BackgroundRequestChild@indexedDB@dom@mozilla@@EEAA?AVIPCResult@ipc@4@AEBVRequestResponse@234@@Z ?HandleResponse@BackgroundRequestChild@indexedDB@dom@mozilla@@AEAAXAEBV?$nsTArray@VSerializedStructuredCloneReadInfo@indexedDB@dom@mozilla@@@@@Z ?SendCommit@PBackgroundIDBTransactionChild@indexedDB@dom@mozilla@@QEAA_NXZ @@ -22369,16 +22369,16 @@ Gecko_IsDocumentBody ??$AppendElement@VNS_ConvertUTF16toUTF8@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$nsTString@D@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$nsTString@D@@$$QEAVNS_ConvertUTF16toUTF8@@@Z ??$AppendElement@AEAV?$AutoTArray@V?$nsTString@D@@$03@@UnsTArrayInfallibleAllocator@@@?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$01@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$AutoTArray@V?$nsTString@D@@$01@@AEAV?$AutoTArray@V?$nsTString@D@@$03@@@Z ??0?$AutoTArray@V?$nsTString@D@@$01@@QEAA@$$QEAV0@@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA_N_K@Z -?GetAutoArrayBufferUnsafe@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAAPEAUnsTArrayHeader@@_K@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA_N_K@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA_N_K@Z +?GetAutoArrayBufferUnsafe@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAAPEAUnsTArrayHeader@@_K@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA_N_K@Z ??$move@AEAV?$nsTArray@V?$AutoTArray@V?$nsTString@D@@$01@@@@@std@@YA$$QEAV?$nsTArray@V?$AutoTArray@V?$nsTString@D@@$01@@@@AEAV1@@Z ??1?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$01@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$01@@@@@@IEAA@XZ ??1?$nsTArray_Impl@V?$AutoTArray@V?$nsTString@D@@$02@@UnsTArrayInfallibleAllocator@@@@QEAA@XZ -??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA@XZ +??1?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$AutoTArray@V?$nsTString@D@@$02@@@@@@IEAA@XZ ??0?$nsTArray@V?$AutoTArray@V?$nsTString@D@@$02@@@@QEAA@$$QEAV0@@Z ?AddBootstrappedManifestLocation@nsComponentManagerImpl@@UEAA?AW4nsresult@@PEAVnsIFile@@@Z ?XRE_AddJarManifestLocation@@YA?AW4nsresult@@W4NSLocationType@@PEAVnsIFile@@@Z @@ -22394,16 +22394,16 @@ Gecko_IsDocumentBody ?SetTimeoutOrInterval@nsGlobalWindowInner@@QEAAHPEAUJSContext@@AEAVFunction@dom@mozilla@@HAEBV?$Sequence@TValue@JS@@@45@_NAEAVErrorResult@5@@Z ?NS_CreateJSTimeoutHandler@@YA?AU?$already_AddRefed@VnsIScriptTimeoutHandler@@@@PEAUJSContext@@PEAVnsGlobalWindowInner@@AEAVFunction@dom@mozilla@@AEBV?$Sequence@TValue@JS@@@56@AEAVErrorResult@6@@Z ??$AppendElements@TValue@JS@@UnsTArrayFallibleAllocator@@@?$nsTArray_Impl@V?$Heap@TValue@JS@@@JS@@UnsTArrayInfallibleAllocator@@@@IEAAPEAV?$Heap@TValue@JS@@@JS@@PEBTValue@2@_K@Z -??$ExtendCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayFallibleResult@@_K00@Z -??$EnsureCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayFallibleResult@@_K0@Z +??$ExtendCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayFallibleResult@@_K00@Z +??$EnsureCapacity@UnsTArrayFallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayFallibleResult@@_K0@Z ??$implementation@TValue@JS@@V?$Heap@TValue@JS@@@2@_K_K@?$AssignRangeAlgorithm@$0A@$0A@@@SAXPEAV?$Heap@TValue@JS@@@JS@@_K1PEBTValue@2@@Z ??0nsJSScriptTimeoutHandler@@QEAA@PEAUJSContext@@PEAVnsGlobalWindowInner@@AEAVFunction@dom@mozilla@@$$QEAV?$nsTArray@V?$Heap@TValue@JS@@@JS@@@@AEAVErrorResult@5@@Z ?QueryInterface@nsJSScriptTimeoutHandler@@UEAA?AW4nsresult@@AEBUnsID@@PEAPEAX@Z ??4?$nsTArray@V?$Heap@TValue@JS@@@JS@@@@QEAAAEAV0@$$QEAV0@@Z ?ClearAndRetainStorage@?$nsTArray_Impl@V?$Heap@TValue@JS@@@JS@@UnsTArrayInfallibleAllocator@@@@QEAAXXZ -?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IEAAX_K0@Z -??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z -??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_CopyWithConstructors@V?$Heap@TValue@JS@@@JS@@@@@@IEAA_N_K@Z +?ShrinkCapacity@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IEAAX_K0@Z +??$SwapArrayElements@UnsTArrayInfallibleAllocator@@U1@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IEAA?AUnsTArrayInfallibleResult@@AEAV0@_K1@Z +??$EnsureNotUsingAutoArrayBuffer@UnsTArrayInfallibleAllocator@@@?$nsTArray_base@UnsTArrayInfallibleAllocator@@U?$nsTArray_RelocateUsingMoveConstructor@V?$Heap@TValue@JS@@@JS@@@@@@IEAA_N_K@Z ?GetCallingLocation@nsJSUtils@@SA_NPEAUJSContext@@AEAV?$nsTSubstring@D@@PEAI2@Z ?SetTimeout@TimeoutManager@dom@mozilla@@QEAA?AW4nsresult@@PEAVnsITimeoutHandler@@H_NW4Reason@Timeout@23@PEAH@Z ?AddRef@nsJSScriptTimeoutHandler@@UEAAKXZ diff --git a/dom/indexedDB/ActorsChild.h b/dom/indexedDB/ActorsChild.h index 1693b938e177..d78b919c7e50 100644 --- a/dom/indexedDB/ActorsChild.h +++ b/dom/indexedDB/ActorsChild.h @@ -62,7 +62,7 @@ struct CloneInfo; } // namespace dom } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::indexedDB::CloneInfo) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::dom::indexedDB::CloneInfo) namespace mozilla { namespace dom { diff --git a/dom/indexedDB/IndexedDatabase.h b/dom/indexedDB/IndexedDatabase.h index 73f0a0fadfec..1d28816bb5cb 100644 --- a/dom/indexedDB/IndexedDatabase.h +++ b/dom/indexedDB/IndexedDatabase.h @@ -238,15 +238,15 @@ JSObject* StructuredCloneReadCallback( } // namespace dom } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::StructuredCloneReadInfo< mozilla::dom::indexedDB::StructuredCloneFileChild>); -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::StructuredCloneReadInfo< mozilla::dom::indexedDB::StructuredCloneFileParent>); -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::StructuredCloneReadInfoChild); -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::StructuredCloneReadInfoParent); #endif // mozilla_dom_indexeddatabase_h__ diff --git a/dom/media/AudioSegment.h b/dom/media/AudioSegment.h index 805203c50089..2225d785209d 100644 --- a/dom/media/AudioSegment.h +++ b/dom/media/AudioSegment.h @@ -23,7 +23,7 @@ namespace mozilla { struct AudioChunk; class AudioSegment; } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::AudioChunk) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::AudioChunk) /** * This allows compilation of nsTArray and @@ -33,7 +33,7 @@ DECLARE_USE_COPY_CONSTRUCTORS(mozilla::AudioChunk) * Note that AudioSegment(const AudioSegment&) is deleted, so this should * never come into effect. */ -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::AudioSegment) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::AudioSegment) namespace mozilla { diff --git a/dom/media/Intervals.h b/dom/media/Intervals.h index c3fd26461173..0da7bc743230 100644 --- a/dom/media/Intervals.h +++ b/dom/media/Intervals.h @@ -20,8 +20,9 @@ class IntervalSet; } // namespace mozilla template -struct nsTArray_CopyChooser> { - typedef nsTArray_CopyWithConstructors> Type; +struct nsTArray_RelocationStrategy> { + typedef nsTArray_RelocateUsingMoveConstructor> + Type; }; namespace mozilla { diff --git a/dom/media/TimeUnits.h b/dom/media/TimeUnits.h index 1972c81065ba..b76110f13f86 100644 --- a/dom/media/TimeUnits.h +++ b/dom/media/TimeUnits.h @@ -20,8 +20,9 @@ class TimeIntervals; } // namespace mozilla // CopyChooser specialization for nsTArray template <> -struct nsTArray_CopyChooser { - typedef nsTArray_CopyWithConstructors Type; +struct nsTArray_RelocationStrategy { + typedef nsTArray_RelocateUsingMoveConstructor + Type; }; namespace mozilla { diff --git a/dom/media/gtest/TestIntervalSet.cpp b/dom/media/gtest/TestIntervalSet.cpp index 4cd314133ddd..29a8b47cfb8a 100644 --- a/dom/media/gtest/TestIntervalSet.cpp +++ b/dom/media/gtest/TestIntervalSet.cpp @@ -704,14 +704,15 @@ TEST(IntervalSet, StaticAssert) { media::Interval i; - static_assert( - mozilla::IsSame::Type, - nsTArray_CopyWithConstructors>::value, - "Must use copy constructor"); static_assert(mozilla::IsSame< - nsTArray_CopyChooser::Type, - nsTArray_CopyWithConstructors>::value, + nsTArray_RelocationStrategy::Type, + nsTArray_RelocateUsingMoveConstructor>::value, "Must use copy constructor"); + static_assert( + mozilla::IsSame< + nsTArray_RelocationStrategy::Type, + nsTArray_RelocateUsingMoveConstructor>::value, + "Must use copy constructor"); } TEST(IntervalSet, Substraction) diff --git a/dom/media/webaudio/AudioBlock.h b/dom/media/webaudio/AudioBlock.h index a71e73c69618..abf55ae08e16 100644 --- a/dom/media/webaudio/AudioBlock.h +++ b/dom/media/webaudio/AudioBlock.h @@ -130,6 +130,6 @@ class AudioBlock : private AudioChunk { } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::AudioBlock) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::AudioBlock) #endif // MOZILLA_AUDIOBLOCK_H_ diff --git a/dom/media/webaudio/AudioWorkletNode.cpp b/dom/media/webaudio/AudioWorkletNode.cpp index 9bc96e368d76..4afd47540193 100644 --- a/dom/media/webaudio/AudioWorkletNode.cpp +++ b/dom/media/webaudio/AudioWorkletNode.cpp @@ -96,7 +96,7 @@ class WorkletNodeEngine final : public AudioNodeEngine { // Vector supports non-memmovable types such as PersistentRooted // (without any need to jump through hoops like - // DECLARE_USE_COPY_CONSTRUCTORS_FOR_TEMPLATE for nsTArray). + // MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR_FOR_TEMPLATE for nsTArray). // PersistentRooted is used because these AudioWorkletGlobalScope scope // objects may be kept alive as long as the AudioWorkletNode in the // main-thread global. diff --git a/dom/messagechannel/MessagePortService.cpp b/dom/messagechannel/MessagePortService.cpp index 99e82ebd0f98..e4282d5cbfd3 100644 --- a/dom/messagechannel/MessagePortService.cpp +++ b/dom/messagechannel/MessagePortService.cpp @@ -40,7 +40,8 @@ struct MessagePortService::NextParent { // Need to call CheckedUnsafePtr's copy constructor and destructor when // resizing dynamic arrays containing NextParent (by calling NextParent's // implicit copy constructor/destructor rather than memmove-ing NextParents). -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::MessagePortService::NextParent); +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::dom::MessagePortService::NextParent); namespace mozilla { namespace dom { diff --git a/dom/messagechannel/MessagePortService.h b/dom/messagechannel/MessagePortService.h index 7b9a1c44557d..d14e331e95ea 100644 --- a/dom/messagechannel/MessagePortService.h +++ b/dom/messagechannel/MessagePortService.h @@ -21,7 +21,8 @@ class MessagePortService final { public: NS_INLINE_DECL_REFCOUNTING(MessagePortService) - // Needs to be public for the DECLARE_USE_COPY_CONSTRUCTORS macro. + // Needs to be public for the MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR + // macro. struct NextParent; static MessagePortService* Get(); diff --git a/dom/plugins/ipc/IpdlTuple.h b/dom/plugins/ipc/IpdlTuple.h index ed4409b45b1b..24ed88022bf7 100644 --- a/dom/plugins/ipc/IpdlTuple.h +++ b/dom/plugins/ipc/IpdlTuple.h @@ -14,8 +14,8 @@ namespace mozilla { namespace plugins { // The stuff in this "internal" namespace used to be inside the IpdlTuple -// class, but that prevented the DECLARE_USE_COPY_CONSTRUCTORS that is -// needed on the IpdlTupleElement struct. Without this, nsTArray can end +// class, but that prevented the MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR +// that is needed on the IpdlTupleElement struct. Without this, nsTArray can end // up using a move constructor on this struct, which is not memmovable on // Windows. namespace internal { @@ -59,7 +59,8 @@ typedef MaybeVariant { // Since CheckedUnsafePtr has a non-trivial copy constructor, it has to opt // into nsTArray using them. template -struct nsTArray_CopyChooser> { +struct nsTArray_RelocationStrategy> { using Type = std::conditional_t< T::SupportsChecking::value == mozilla::CheckingSupport::Enabled, - nsTArray_CopyWithConstructors>, - nsTArray_CopyWithMemutils>; + nsTArray_RelocateUsingMoveConstructor>, + nsTArray_RelocateUsingMemutils>; }; #endif // mozilla_CheckedUnsafePtr_h diff --git a/gfx/layers/ipc/SharedSurfacesChild.h b/gfx/layers/ipc/SharedSurfacesChild.h index 0c91d3413fc5..7543ef057743 100644 --- a/gfx/layers/ipc/SharedSurfacesChild.h +++ b/gfx/layers/ipc/SharedSurfacesChild.h @@ -25,8 +25,9 @@ class AnimationImageKeyData; } // namespace mozilla template <> -struct nsTArray_CopyChooser { - typedef nsTArray_CopyWithConstructors +struct nsTArray_RelocationStrategy { + typedef nsTArray_RelocateUsingMoveConstructor< + mozilla::layers::AnimationImageKeyData> Type; }; diff --git a/gfx/src/FilterSupport.h b/gfx/src/FilterSupport.h index 74c01c721b78..a65b23da3f38 100644 --- a/gfx/src/FilterSupport.h +++ b/gfx/src/FilterSupport.h @@ -22,7 +22,8 @@ class FilterPrimitiveDescription; } // namespace gfx } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::gfx::FilterPrimitiveDescription) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::gfx::FilterPrimitiveDescription) extern const float gsRGBToLinearRGBMap[256]; diff --git a/gfx/src/nsRegion.h b/gfx/src/nsRegion.h index 330b0cb9943f..72f8cd2210a0 100644 --- a/gfx/src/nsRegion.h +++ b/gfx/src/nsRegion.h @@ -55,8 +55,8 @@ struct Band; } template <> -struct nsTArray_CopyChooser { - typedef nsTArray_CopyWithConstructors Type; +struct nsTArray_RelocationStrategy { + typedef nsTArray_RelocateUsingMoveConstructor Type; }; namespace regiondetails { diff --git a/intl/locale/MozLocale.h b/intl/locale/MozLocale.h index b86e9d6e891e..7b46d1dde467 100644 --- a/intl/locale/MozLocale.h +++ b/intl/locale/MozLocale.h @@ -157,6 +157,6 @@ class Locale { } // namespace intl } // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::intl::Locale) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::intl::Locale) #endif /* mozilla_intl_MozLocale_h__ */ diff --git a/layout/painting/FrameLayerBuilder.cpp b/layout/painting/FrameLayerBuilder.cpp index dda3f11038a3..94556e319a16 100644 --- a/layout/painting/FrameLayerBuilder.cpp +++ b/layout/painting/FrameLayerBuilder.cpp @@ -69,7 +69,7 @@ using mozilla::WrapUnique; // PaintedLayerData::mAssignedDisplayItems is a std::vector, which is // non-memmovable -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::PaintedLayerData); +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::PaintedLayerData); namespace mozilla { diff --git a/layout/style/GeckoBindings.cpp b/layout/style/GeckoBindings.cpp index eeff9cc3ba46..f3ccaf6e326a 100644 --- a/layout/style/GeckoBindings.cpp +++ b/layout/style/GeckoBindings.cpp @@ -1108,18 +1108,18 @@ const AnonymousCounterStyle* Gecko_CounterStyle_GetAnonymous( void Gecko_EnsureTArrayCapacity(void* aArray, size_t aCapacity, size_t aElemSize) { - auto base = reinterpret_cast< - nsTArray_base*>( - aArray); + auto base = + reinterpret_cast*>(aArray); base->EnsureCapacity(aCapacity, aElemSize); } void Gecko_ClearPODTArray(void* aArray, size_t aElementSize, size_t aElementAlign) { - auto base = reinterpret_cast< - nsTArray_base*>( - aArray); + auto base = + reinterpret_cast*>(aArray); base->template ShiftData( 0, base->Length(), 0, aElementSize, aElementAlign); diff --git a/toolkit/mozapps/extensions/AddonManagerStartup.cpp b/toolkit/mozapps/extensions/AddonManagerStartup.cpp index 4d1ee156da01..025146a4b8bb 100644 --- a/toolkit/mozapps/extensions/AddonManagerStartup.cpp +++ b/toolkit/mozapps/extensions/AddonManagerStartup.cpp @@ -688,7 +688,7 @@ struct ContentEntry final { }; // anonymous namespace }; // namespace mozilla -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::ContentEntry); +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::ContentEntry); namespace mozilla { namespace { diff --git a/xpcom/ds/nsTArray-inl.h b/xpcom/ds/nsTArray-inl.h index 0f79d1c14168..c68f4920eaca 100644 --- a/xpcom/ds/nsTArray-inl.h +++ b/xpcom/ds/nsTArray-inl.h @@ -8,21 +8,22 @@ # error "Don't include this file directly" #endif -template -nsTArray_base::nsTArray_base() : mHdr(EmptyHdr()) { +template +nsTArray_base::nsTArray_base() : mHdr(EmptyHdr()) { MOZ_COUNT_CTOR(nsTArray_base); } -template -nsTArray_base::~nsTArray_base() { +template +nsTArray_base::~nsTArray_base() { if (mHdr != EmptyHdr() && !UsesAutoArrayBuffer()) { Alloc::Free(mHdr); } MOZ_COUNT_DTOR(nsTArray_base); } -template -const nsTArrayHeader* nsTArray_base::GetAutoArrayBufferUnsafe( +template +const nsTArrayHeader* +nsTArray_base::GetAutoArrayBufferUnsafe( size_t aElemAlign) const { // Assuming |this| points to an nsAutoArray, we want to get a pointer to // mAutoBuf. So just cast |this| to nsAutoArray* and read &mAutoBuf! @@ -50,8 +51,8 @@ const nsTArrayHeader* nsTArray_base::GetAutoArrayBufferUnsafe( return reinterpret_cast(autoBuf); } -template -bool nsTArray_base::UsesAutoArrayBuffer() const { +template +bool nsTArray_base::UsesAutoArrayBuffer() const { if (!mHdr->mIsAutoArray) { return false; } @@ -102,11 +103,12 @@ bool nsTArray_base::UsesAutoArrayBuffer() const { bool IsTwiceTheRequiredBytesRepresentableAsUint32(size_t aCapacity, size_t aElemSize); -template +template template typename ActualAlloc::ResultTypeProxy -nsTArray_base::ExtendCapacity(size_type aLength, size_type aCount, - size_type aElemSize) { +nsTArray_base::ExtendCapacity(size_type aLength, + size_type aCount, + size_type aElemSize) { mozilla::CheckedInt newLength = aLength; newLength += aCount; @@ -117,11 +119,11 @@ nsTArray_base::ExtendCapacity(size_type aLength, size_type aCount, return this->EnsureCapacity(newLength.value(), aElemSize); } -template +template template typename ActualAlloc::ResultTypeProxy -nsTArray_base::EnsureCapacity(size_type aCapacity, - size_type aElemSize) { +nsTArray_base::EnsureCapacity(size_type aCapacity, + size_type aElemSize) { // This should be the most common case so test this first if (aCapacity <= mHdr->mCapacity) { return ActualAlloc::SuccessResult(); @@ -174,14 +176,15 @@ nsTArray_base::EnsureCapacity(size_type aCapacity, } Header* header; - if (UsesAutoArrayBuffer() || !Copy::allowRealloc) { + if (UsesAutoArrayBuffer() || !RelocationStrategy::allowRealloc) { // Malloc() and copy header = static_cast(ActualAlloc::Malloc(bytesToAlloc)); if (!header) { return ActualAlloc::FailureResult(); } - Copy::MoveNonOverlappingRegionWithHeader(header, mHdr, Length(), aElemSize); + RelocationStrategy::RelocateNonOverlappingRegionWithHeader( + header, mHdr, Length(), aElemSize); if (!UsesAutoArrayBuffer()) { ActualAlloc::Free(mHdr); @@ -206,9 +209,9 @@ nsTArray_base::EnsureCapacity(size_type aCapacity, // We don't need use Alloc template parameter specified here because failure to // shrink the capacity will leave the array unchanged. -template -void nsTArray_base::ShrinkCapacity(size_type aElemSize, - size_t aElemAlign) { +template +void nsTArray_base::ShrinkCapacity( + size_type aElemSize, size_t aElemAlign) { if (mHdr == EmptyHdr() || UsesAutoArrayBuffer()) { return; } @@ -224,7 +227,8 @@ void nsTArray_base::ShrinkCapacity(size_type aElemSize, // Move the data, but don't copy the header to avoid overwriting mCapacity. header->mLength = length; - Copy::MoveNonOverlappingRegion(header + 1, mHdr + 1, length, aElemSize); + RelocationStrategy::RelocateNonOverlappingRegion(header + 1, mHdr + 1, + length, aElemSize); nsTArrayFallibleAllocator::Free(mHdr); mHdr = header; @@ -247,12 +251,13 @@ void nsTArray_base::ShrinkCapacity(size_type aElemSize, mHdr->mCapacity = length; } -template +template template -void nsTArray_base::ShiftData(index_type aStart, size_type aOldLen, - size_type aNewLen, - size_type aElemSize, - size_t aElemAlign) { +void nsTArray_base::ShiftData(index_type aStart, + size_type aOldLen, + size_type aNewLen, + size_type aElemSize, + size_t aElemAlign) { if (aOldLen == aNewLen) { return; } @@ -274,17 +279,17 @@ void nsTArray_base::ShiftData(index_type aStart, size_type aOldLen, aNewLen *= aElemSize; aOldLen *= aElemSize; char* baseAddr = reinterpret_cast(mHdr + 1) + aStart; - Copy::MoveOverlappingRegion(baseAddr + aNewLen, baseAddr + aOldLen, num, - aElemSize); + RelocationStrategy::RelocateOverlappingRegion( + baseAddr + aNewLen, baseAddr + aOldLen, num, aElemSize); } } -template +template template -void nsTArray_base::SwapFromEnd(index_type aStart, - size_type aCount, - size_type aElemSize, - size_t aElemAlign) { +void nsTArray_base::SwapFromEnd(index_type aStart, + size_type aCount, + size_type aElemSize, + size_t aElemAlign) { // This method is part of the implementation of // nsTArray::SwapRemoveElement{s,}At. For more information, read the // documentation on that method. @@ -326,15 +331,17 @@ void nsTArray_base::SwapFromEnd(index_type aStart, "The range should be nonoverlapping"); char* baseAddr = reinterpret_cast(mHdr + 1); - Copy::MoveNonOverlappingRegion(baseAddr + destBytes, baseAddr + sourceBytes, - relocCount, aElemSize); + RelocationStrategy::RelocateNonOverlappingRegion( + baseAddr + destBytes, baseAddr + sourceBytes, relocCount, aElemSize); } -template +template template -typename ActualAlloc::ResultTypeProxy nsTArray_base::InsertSlotsAt( - index_type aIndex, size_type aCount, size_type aElemSize, - size_t aElemAlign) { +typename ActualAlloc::ResultTypeProxy +nsTArray_base::InsertSlotsAt(index_type aIndex, + size_type aCount, + size_type aElemSize, + size_t aElemAlign) { if (MOZ_UNLIKELY(aIndex > Length())) { InvalidArrayIndex_CRASH(aIndex, Length()); } @@ -359,13 +366,15 @@ typename ActualAlloc::ResultTypeProxy nsTArray_base::InsertSlotsAt( // * if array has an auto buffer and mHdr would otherwise point to // sEmptyTArrayHeader, array.mHdr points to array's auto buffer. -template -nsTArray_base::IsAutoArrayRestorer::IsAutoArrayRestorer( - nsTArray_base& aArray, size_t aElemAlign) +template +nsTArray_base::IsAutoArrayRestorer:: + IsAutoArrayRestorer(nsTArray_base& aArray, + size_t aElemAlign) : mArray(aArray), mElemAlign(aElemAlign), mIsAuto(aArray.IsAutoArray()) {} -template -nsTArray_base::IsAutoArrayRestorer::~IsAutoArrayRestorer() { +template +nsTArray_base::IsAutoArrayRestorer::~IsAutoArrayRestorer() { // Careful: We don't want to set mIsAutoArray = 1 on sEmptyTArrayHeader. if (mIsAuto && mArray.mHdr == mArray.EmptyHdr()) { // Call GetAutoArrayBufferUnsafe() because GetAutoArrayBuffer() asserts @@ -377,11 +386,11 @@ nsTArray_base::IsAutoArrayRestorer::~IsAutoArrayRestorer() { } } -template +template template typename ActualAlloc::ResultTypeProxy -nsTArray_base::SwapArrayElements( - nsTArray_base& aOther, size_type aElemSize, +nsTArray_base::SwapArrayElements( + nsTArray_base& aOther, size_type aElemSize, size_t aElemAlign) { // EnsureNotUsingAutoArrayBuffer will set mHdr = sEmptyTArrayHeader even if we // have an auto buffer. We need to point mHdr back to our auto buffer before @@ -389,7 +398,7 @@ nsTArray_base::SwapArrayElements( // IsAutoArrayRestorer takes care of this for us. IsAutoArrayRestorer ourAutoRestorer(*this, aElemAlign); - typename nsTArray_base::IsAutoArrayRestorer + typename nsTArray_base::IsAutoArrayRestorer otherAutoRestorer(aOther, aElemAlign); // If neither array uses an auto buffer which is big enough to store the @@ -456,12 +465,12 @@ nsTArray_base::SwapArrayElements( return ActualAlloc::FailureResult(); } - Copy::MoveNonOverlappingRegion(temp.Elements(), smallerElements, - smallerLength, aElemSize); - Copy::MoveNonOverlappingRegion(smallerElements, largerElements, largerLength, - aElemSize); - Copy::MoveNonOverlappingRegion(largerElements, temp.Elements(), smallerLength, - aElemSize); + RelocationStrategy::RelocateNonOverlappingRegion( + temp.Elements(), smallerElements, smallerLength, aElemSize); + RelocationStrategy::RelocateNonOverlappingRegion( + smallerElements, largerElements, largerLength, aElemSize); + RelocationStrategy::RelocateNonOverlappingRegion( + largerElements, temp.Elements(), smallerLength, aElemSize); // Swap the arrays' lengths. MOZ_ASSERT((aOther.Length() == 0 || mHdr != EmptyHdr()) && @@ -481,9 +490,9 @@ nsTArray_base::SwapArrayElements( return ActualAlloc::SuccessResult(); } -template +template template -bool nsTArray_base::EnsureNotUsingAutoArrayBuffer( +bool nsTArray_base::EnsureNotUsingAutoArrayBuffer( size_type aElemSize) { if (UsesAutoArrayBuffer()) { // If you call this on a 0-length array, we'll set that array's mHdr to @@ -502,7 +511,8 @@ bool nsTArray_base::EnsureNotUsingAutoArrayBuffer( return false; } - Copy::MoveNonOverlappingRegionWithHeader(header, mHdr, Length(), aElemSize); + RelocationStrategy::RelocateNonOverlappingRegionWithHeader( + header, mHdr, Length(), aElemSize); header->mCapacity = Length(); mHdr = header; } diff --git a/xpcom/ds/nsTArray.h b/xpcom/ds/nsTArray.h index 3a195b00e01d..7da6b3e75627 100644 --- a/xpcom/ds/nsTArray.h +++ b/xpcom/ds/nsTArray.h @@ -109,7 +109,7 @@ class JSStructuredCloneData; // T MAY define operator== for searching. // // (Note that the memmove requirement may be relaxed for certain types - see -// nsTArray_CopyChooser below.) +// nsTArray_RelocationStrategy below.) // // For methods taking a Comparator instance, the Comparator must be a class // defining the following methods: @@ -315,12 +315,12 @@ MOZ_NORETURN MOZ_COLD void InvalidArrayIndex_CRASH(size_t aIndex, // directly. It holds common implementation code that does not depend on the // element type of the nsTArray. // -template +template class nsTArray_base { // Allow swapping elements with |nsTArray_base|s created using a // different allocator. This is kosher because all allocators use // the same free(). - template + template friend class nsTArray_base; friend void Gecko_EnsureTArrayCapacity(void* aArray, size_t aCapacity, size_t aElemSize); @@ -431,17 +431,18 @@ class nsTArray_base { template typename ActualAlloc::ResultTypeProxy SwapArrayElements( - nsTArray_base& aOther, size_type aElemSize, + nsTArray_base& aOther, size_type aElemSize, size_t aElemAlign); // This is an RAII class used in SwapArrayElements. class IsAutoArrayRestorer { public: - IsAutoArrayRestorer(nsTArray_base& aArray, size_t aElemAlign); + IsAutoArrayRestorer(nsTArray_base& aArray, + size_t aElemAlign); ~IsAutoArrayRestorer(); private: - nsTArray_base& mArray; + nsTArray_base& mArray; size_t mElemAlign; bool mIsAuto; }; @@ -468,7 +469,7 @@ class nsTArray_base { // assert that we are an AutoTArray. Header* GetAutoArrayBufferUnsafe(size_t aElemAlign) { return const_cast( - static_cast*>(this) + static_cast*>(this) ->GetAutoArrayBufferUnsafe(aElemAlign)); } const Header* GetAutoArrayBufferUnsafe(size_t aElemAlign) const; @@ -581,30 +582,31 @@ struct AssignRangeAlgorithm { // // Normally elements are copied with memcpy and memmove, but for some element -// types that is problematic. The nsTArray_CopyChooser template class can be -// specialized to ensure that copying calls constructors and destructors +// types that is problematic. The nsTArray_RelocationStrategy template class +// can be specialized to ensure that copying calls constructors and destructors // instead, as is done below for JS::Heap elements. // // // A class that defines how to copy elements using memcpy/memmove. // -struct nsTArray_CopyWithMemutils { +struct nsTArray_RelocateUsingMemutils { const static bool allowRealloc = true; - static void MoveNonOverlappingRegionWithHeader(void* aDest, const void* aSrc, - size_t aCount, - size_t aElemSize) { + static void RelocateNonOverlappingRegionWithHeader(void* aDest, + const void* aSrc, + size_t aCount, + size_t aElemSize) { memcpy(aDest, aSrc, sizeof(nsTArrayHeader) + aCount * aElemSize); } - static void MoveOverlappingRegion(void* aDest, void* aSrc, size_t aCount, - size_t aElemSize) { + static void RelocateOverlappingRegion(void* aDest, void* aSrc, size_t aCount, + size_t aElemSize) { memmove(aDest, aSrc, aCount * aElemSize); } - static void MoveNonOverlappingRegion(void* aDest, void* aSrc, size_t aCount, - size_t aElemSize) { + static void RelocateNonOverlappingRegion(void* aDest, void* aSrc, + size_t aCount, size_t aElemSize) { memcpy(aDest, aSrc, aCount * aElemSize); } }; @@ -614,34 +616,34 @@ struct nsTArray_CopyWithMemutils { // and destructors appropriately. // template -struct nsTArray_CopyWithConstructors { +struct nsTArray_RelocateUsingMoveConstructor { typedef nsTArrayElementTraits traits; const static bool allowRealloc = false; - static void MoveNonOverlappingRegionWithHeader(void* aDest, void* aSrc, - size_t aCount, - size_t aElemSize) { + static void RelocateNonOverlappingRegionWithHeader(void* aDest, void* aSrc, + size_t aCount, + size_t aElemSize) { nsTArrayHeader* destHeader = static_cast(aDest); nsTArrayHeader* srcHeader = static_cast(aSrc); *destHeader = *srcHeader; - MoveNonOverlappingRegion( + RelocateNonOverlappingRegion( static_cast(aDest) + sizeof(nsTArrayHeader), static_cast(aSrc) + sizeof(nsTArrayHeader), aCount, aElemSize); } // These functions are defined by analogy with memmove and memcpy. - // What they actually do is slightly different: MoveOverlappingRegion + // What they actually do is slightly different: RelocateOverlappingRegion // checks to see which direction the movement needs to take place, // whether from back-to-front of the range to be moved or from - // front-to-back. MoveNonOverlappingRegion assumes that moving + // front-to-back. RelocateNonOverlappingRegion assumes that moving // front-to-back is always valid. So they're really more like // std::move{_backward,} in that respect. We keep these names because - // we think they read slightly better, and MoveNonOverlappingRegion is - // only ever called on overlapping regions from MoveOverlappingRegion. - static void MoveOverlappingRegion(void* aDest, void* aSrc, size_t aCount, - size_t aElemSize) { + // we think they read slightly better, and RelocateNonOverlappingRegion is + // only ever called on overlapping regions from RelocateOverlappingRegion. + static void RelocateOverlappingRegion(void* aDest, void* aSrc, size_t aCount, + size_t aElemSize) { ElemType* destElem = static_cast(aDest); ElemType* srcElem = static_cast(aSrc); ElemType* destElemEnd = destElem + aCount; @@ -659,12 +661,12 @@ struct nsTArray_CopyWithConstructors { traits::Destruct(srcElemEnd); } } else { - MoveNonOverlappingRegion(aDest, aSrc, aCount, aElemSize); + RelocateNonOverlappingRegion(aDest, aSrc, aCount, aElemSize); } } - static void MoveNonOverlappingRegion(void* aDest, void* aSrc, size_t aCount, - size_t aElemSize) { + static void RelocateNonOverlappingRegion(void* aDest, void* aSrc, + size_t aCount, size_t aElemSize) { ElemType* destElem = static_cast(aDest); ElemType* srcElem = static_cast(aSrc); ElemType* destElemEnd = destElem + aCount; @@ -685,46 +687,50 @@ struct nsTArray_CopyWithConstructors { // The default behaviour is to use memcpy/memmove for everything. // template -struct MOZ_NEEDS_MEMMOVABLE_TYPE nsTArray_CopyChooser { - using Type = nsTArray_CopyWithMemutils; +struct MOZ_NEEDS_MEMMOVABLE_TYPE nsTArray_RelocationStrategy { + using Type = nsTArray_RelocateUsingMemutils; }; // // Some classes require constructors/destructors to be called, so they are // specialized here. // -#define DECLARE_USE_COPY_CONSTRUCTORS(T) \ - template <> \ - struct nsTArray_CopyChooser { \ - using Type = nsTArray_CopyWithConstructors; \ +#define MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(T) \ + template <> \ + struct nsTArray_RelocationStrategy { \ + using Type = nsTArray_RelocateUsingMoveConstructor; \ }; -#define DECLARE_USE_COPY_CONSTRUCTORS_FOR_TEMPLATE(T) \ - template \ - struct nsTArray_CopyChooser> { \ - using Type = nsTArray_CopyWithConstructors>; \ +#define MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR_FOR_TEMPLATE(T) \ + template \ + struct nsTArray_RelocationStrategy> { \ + using Type = nsTArray_RelocateUsingMoveConstructor>; \ }; -DECLARE_USE_COPY_CONSTRUCTORS_FOR_TEMPLATE(JS::Heap) -DECLARE_USE_COPY_CONSTRUCTORS_FOR_TEMPLATE(std::function) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR_FOR_TEMPLATE(JS::Heap) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR_FOR_TEMPLATE(std::function) -DECLARE_USE_COPY_CONSTRUCTORS(nsRegion) -DECLARE_USE_COPY_CONSTRUCTORS(nsIntRegion) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::layers::TileClient) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::layers::RenderRootDisplayListData) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::layers::RenderRootUpdates) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::SerializedStructuredCloneBuffer) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::ipc::StructuredCloneData) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::ClonedMessageData) -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(nsRegion) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(nsIntRegion) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::layers::TileClient) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::layers::RenderRootDisplayListData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::layers::RenderRootUpdates) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::SerializedStructuredCloneBuffer) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::dom::ipc::StructuredCloneData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::dom::ClonedMessageData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::ObjectStoreCursorResponse) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::indexedDB::IndexCursorResponse) -DECLARE_USE_COPY_CONSTRUCTORS( +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( + mozilla::dom::indexedDB::IndexCursorResponse) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR( mozilla::dom::indexedDB::SerializedStructuredCloneReadInfo); -DECLARE_USE_COPY_CONSTRUCTORS(JSStructuredCloneData) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::MessageData) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::dom::RefMessageData) -DECLARE_USE_COPY_CONSTRUCTORS(mozilla::SourceBufferTask) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(JSStructuredCloneData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::dom::MessageData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::dom::RefMessageData) +MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR(mozilla::SourceBufferTask) // // Base class for nsTArray_Impl that is templated on element type and derived @@ -868,15 +874,16 @@ struct CompareWrapper { // template class nsTArray_Impl - : public nsTArray_base::Type>, + : public nsTArray_base::Type>, public nsTArray_TypedBase> { private: typedef nsTArrayFallibleAllocator FallibleAlloc; typedef nsTArrayInfallibleAllocator InfallibleAlloc; public: - typedef typename nsTArray_CopyChooser::Type copy_type; - typedef nsTArray_base base_type; + typedef typename nsTArray_RelocationStrategy::Type relocation_type; + typedef nsTArray_base base_type; typedef typename base_type::size_type size_type; typedef typename base_type::index_type index_type; typedef E elem_type; @@ -2339,8 +2346,8 @@ void nsTArray_Impl::RemoveElementsBy(Predicate aPredicate) { elem_traits::Destruct(Elements() + i); } else { if (j < i) { - copy_type::MoveNonOverlappingRegion(Elements() + j, Elements() + i, 1, - sizeof(elem_type)); + relocation_type::RelocateNonOverlappingRegion( + Elements() + j, Elements() + i, 1, sizeof(elem_type)); } ++j; } @@ -2439,8 +2446,8 @@ auto nsTArray_Impl::AppendElements( len, otherLen, sizeof(elem_type)))) { return nullptr; } - copy_type::MoveNonOverlappingRegion(Elements() + len, aArray.Elements(), - otherLen, sizeof(elem_type)); + relocation_type::RelocateNonOverlappingRegion( + Elements() + len, aArray.Elements(), otherLen, sizeof(elem_type)); this->IncrementLength(otherLen); aArray.template ShiftData(0, otherLen, 0, sizeof(elem_type), MOZ_ALIGNOF(elem_type)); @@ -2663,7 +2670,7 @@ class MOZ_NON_MEMMOVABLE AutoTArray : public nsTArray { private: // nsTArray_base casts itself as an nsAutoArrayBase in order to get a pointer // to mAutoBuf. - template + template friend class nsTArray_base; void Init() { @@ -2714,8 +2721,8 @@ template class AutoTArray : public nsTArray {}; template -struct nsTArray_CopyChooser> { - typedef nsTArray_CopyWithConstructors> Type; +struct nsTArray_RelocationStrategy> { + using Type = nsTArray_RelocateUsingMoveConstructor>; }; // Span integration diff --git a/xpcom/reflect/xptinfo/xptinfo.h b/xpcom/reflect/xptinfo/xptinfo.h index d9abb1127b22..0eb23df83dfa 100644 --- a/xpcom/reflect/xptinfo/xptinfo.h +++ b/xpcom/reflect/xptinfo/xptinfo.h @@ -558,7 +558,7 @@ namespace detail { // The UntypedTArray type allows low-level access from XPConnect to nsTArray // internals without static knowledge of the array element type in question. class UntypedTArray : public nsTArray_base { + nsTArray_RelocateUsingMemutils> { public: void* Elements() const { return static_cast(Hdr() + 1); } diff --git a/xpcom/tests/gtest/TestTArray.cpp b/xpcom/tests/gtest/TestTArray.cpp index c5351fa1a862..dcd3229bf693 100644 --- a/xpcom/tests/gtest/TestTArray.cpp +++ b/xpcom/tests/gtest/TestTArray.cpp @@ -47,13 +47,13 @@ struct Movable { } // namespace TestTArray template <> -struct nsTArray_CopyChooser { - typedef nsTArray_CopyWithConstructors Type; +struct nsTArray_RelocationStrategy { + using Type = nsTArray_RelocateUsingMoveConstructor; }; template <> -struct nsTArray_CopyChooser { - typedef nsTArray_CopyWithConstructors Type; +struct nsTArray_RelocationStrategy { + using Type = nsTArray_RelocateUsingMoveConstructor; }; namespace TestTArray {