canMapBetweenRenderers() has to walk renderers looking for flipped blocks, which is unfortunate because this slows down the layer->layer mapping optimization there.
A bit on RenderLayer that says "hasFlippedBlocks contents" would help.
I also note that RenderBox::topLeftLocationOffset() is expensive, about 2% of the total time when scrolling a layer-heavy page. If we could do a quick check for flipped blocks, we could probably avoid the containingBlock() call and make it much faster.
I added this, so this bug can be closed.