SIGN IN SIGN UP

roaring64: honor copy-on-write in Bitmap.Or

When two bitmaps share a container key, the in-place Or was calling
getContainerAtIndex, which returns the raw container without consulting
needCopyOnWrite. If rb's container at that index was shared with another
bitmap (e.g. produced by Clone() on a CoW-enabled bitmap), the Or would
mutate the shared container in place and silently corrupt the other
bitmap.

Switch to getWritableContainerAtIndex, which clones the container first
when needCopyOnWrite is set. This matches what the sibling AndNot/And
methods in the same file already do, and what the 32-bit Bitmap.Or does
via getUnionedWritableContainer.
S
Stefano Scafiti committed
874686297a0fffb7dbd38296ff354ec067759440
Parent: 6d3d113