Ignore:
Timestamp:
Sep 30, 2013, 1:21:34 AM (12 years ago)
Author:
Antti Koivisto
Message:

Get rid of static map for marking ancestor line boxes dirty
https://bugs.webkit.org/show_bug.cgi?id=122080

Reviewed by Andreas Kling.

This is ugly and shows up in profiles too. Use a bit in RenderElement instead.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:


Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:


Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.

(WebCore::RenderElement::dirtyLinesFromChangedChild):
(WebCore::RenderElement::ancestorLineBoxDirty):
(WebCore::RenderElement::setAncestorLineBoxDirty):
(WebCore::RenderObject::setNeedsLayout):

  • rendering/RenderInline.h:
  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

Tighten the interface.

  • rendering/RenderLineBoxList.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:


Remove the static map.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r156622 r156639  
    102102
    103103COMPILE_ASSERT(sizeof(RenderObject) == sizeof(SameSizeAsRenderObject), RenderObject_should_stay_small);
    104 
    105 RenderObjectAncestorLineboxDirtySet* RenderObject::s_ancestorLineboxDirtySet = 0;
    106104
    107105void* RenderObject::operator new(size_t sz, RenderArena& renderArena)
     
    14991497}
    15001498
    1501 void RenderObject::dirtyLinesFromChangedChild(RenderObject*)
    1502 {
    1503 }
    1504 
    15051499#ifndef NDEBUG
    15061500
     
    20262020        toRenderLayerModelObject(this)->destroyLayer();
    20272021    }
    2028 
    2029     setAncestorLineBoxDirty(false);
    20302022
    20312023    clearLayoutRootIfNeeded();
Note: See TracChangeset for help on using the changeset viewer.