Changeset 150872 in webkit


Ignore:
Timestamp:
May 29, 2013 12:46:08 AM (11 years ago)
Author:
rniwa@webkit.org
Message:

Make WidgetHierarchyUpdatesSuspensionScope use swap instead of copy
https://bugs.webkit.org/show_bug.cgi?id=116927

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/1d577e1fd5c5716a06e4007e04fc3d9d0a88f5e4

This is equivalent behavior code that is unambiguously better performance. swap is O(1) time and memory,
copying a hash table is at least linear with the number of elements.

  • rendering/RenderWidget.cpp:

(WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r150871 r150872  
     12013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Make WidgetHierarchyUpdatesSuspensionScope use swap instead of copy
     4        https://bugs.webkit.org/show_bug.cgi?id=116927
     5
     6        Reviewed by Andreas Kling.
     7
     8        Merge https://chromium.googlesource.com/chromium/blink/+/1d577e1fd5c5716a06e4007e04fc3d9d0a88f5e4
     9
     10        This is equivalent behavior code that is unambiguously better performance. swap is O(1) time and memory,
     11        copying a hash table is at least linear with the number of elements.
     12
     13        * rendering/RenderWidget.cpp:
     14        (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
     15
    1162013-05-29  Andreas Kling  <akling@apple.com>
    217
  • trunk/Source/WebCore/rendering/RenderWidget.cpp

    r148536 r150872  
    5959void WidgetHierarchyUpdatesSuspensionScope::moveWidgets()
    6060{
    61     WidgetToParentMap map = widgetNewParentMap();
    62     widgetNewParentMap().clear();
     61    WidgetToParentMap map;
     62    widgetNewParentMap().swap(map);
    6363    WidgetToParentMap::iterator end = map.end();
    6464    for (WidgetToParentMap::iterator it = map.begin(); it != end; ++it) {
Note: See TracChangeset for help on using the changeset viewer.