Emilio Cobos Álvarez 02d539e003 Bug 1853969 - Update smallvec. r=glandium,supply-chain-reviewers
This contains a micro-optimization that fixes the performance
regression.

Also miri fixes and such, and a drain_filter implementation.

Differential Revision: https://phabricator.services.mozilla.com/D188756
2023-09-20 21:31:43 +00:00

35 lines
1.5 KiB
XML

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="Medium">
<Intrinsic Name="is_inline" Expression="$T2 &gt;= capacity" />
<Intrinsic Name="len" Expression="is_inline() ? capacity : data.variant1.value.len" />
<Intrinsic Name="data_ptr" Expression="is_inline() ? data.variant0.value.__0.value.value : data.variant1.value.ptr.pointer" />
<DisplayString>{{ len={len()} is_inline={is_inline()} }}</DisplayString>
<Expand>
<Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
<Item Name="[len]">len()</Item>
<Item Name="[data_ptr]">data_ptr()</Item>
<ArrayItems>
<Size>len()</Size>
<ValuePointer>data_ptr()</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="MediumLow">
<Intrinsic Name="is_inline" Expression="$T2 &gt;= capacity" />
<Intrinsic Name="len" Expression="is_inline() ? capacity : data.heap.__1" />
<Intrinsic Name="data_ptr" Expression="is_inline() ? data.inline.value.value.value : data.heap.__0.pointer" />
<DisplayString>{{ len={len()} is_inline={is_inline()} }}</DisplayString>
<Expand>
<Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
<Item Name="[len]">len()</Item>
<ArrayItems>
<Size>len()</Size>
<ValuePointer>data_ptr()</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>