<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Memory cache live resources repeatedly purged during painting"
   href="https://bugs.webkit.org/show_bug.cgi?id=144104">144104</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Memory cache live resources repeatedly purged during painting
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>528+ (Nightly build)
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Page Loading
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>koivisto&#64;iki.fi
          </td>
        </tr></table>
      <p>
        <div>
        <pre>On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps. This slows down page loads significantly.

     13 WebCore::BitmapImage::draw(WebCore::GraphicsContext*, WebCore::FloatRect const&amp;, endMode, WebCore::ImageOrientationDescription)  (in WebCore) + 447  [0x127c727]
       13 WebCore::MemoryCache::pruneLiveResourcesToSize(unsigned int, bool)  (in WebCore) + 251  
         13 WebCore::BitmapImage::destroyDecodedData(bool)  (in WebCore) + 191  [0x127acfb]
           6 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 39  
           | 6 CGImageSourceCreateIncremental  (in ImageIO) + 199  [0x250e98bb]
           |   2 _CGImageSourceCreate  (in ImageIO) + 61  [0x250abd79]
           |   + 1 CFAllocatorAllocate  (in CoreFoundation) + 95  [0x23fdea53]
           |   + 1 _CFRuntimeCreateInstance  (in CoreFoundation) + 289  [0x23fdec51]
           |   +   1 malloc_zone_malloc  (in libsystem_malloc.dylib) + 87  [0x32ae6da7]
           |   +     1 szone_malloc_should_clear  (in libsystem_malloc.dylib) + 61  [0x32ae6e19]
           |   2 _CGImageSourceCreate  (in ImageIO) + 41  [0x250abd65]
           |   1 _CGImageSourceCreate  (in ImageIO) + 157  [0x250abdd9]
           |   + 1 _pthread_mutex_init  (in libsystem_pthread.dylib) + 3  [0x32b3cadf]
           |   1 _CGImageSourceCreate  (in ImageIO) + 227  [0x250abe1f]
           |     1 CFSetCreateMutable  (in CoreFoundation) + 93  [0x23fefa75]
           |       1 CFBasicHashCreate  (in CoreFoundation) + 116  [0x23fdf594]
           |         1 _CFRuntimeCreateInstance  (in CoreFoundation) + 289  [0x23fdec51]
           |           1 malloc_zone_malloc  (in libsystem_malloc.dylib) + 87  [0x32ae6da7]
           |             1 szone_malloc_should_clear  (in libsystem_malloc.dylib) + 219  [0x32ae6eb7]
           |               1 tiny_malloc_from_free_list  (in libsystem_malloc.dylib) + 181  [0x32ae80b5]
           3 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 23  
           | 2 CFRelease  (in CoreFoundation) + 493  [0x23fe4de1]
           | + 2 _CGImageSourceFinalize  (in ImageIO) + 79  [0x250b6967]
           | +   2 CFRelease  (in CoreFoundation) + 493  [0x23fe4de1]
           | +     2 _CGImageReadFinalize  (in ImageIO) + 433  [0x250cd985]
           | +       2 CFRelease  (in CoreFoundation) + 597  [0x23fe4e49]
           | +         2 objc_object::sidetable_release(bool)  (in libobjc.A.dylib) + 163  [0x32483d5b]
           | +           1 -[WebCoreSharedBufferData dealloc]  (in WebCore) + 39  [0x1b54b3f]
           | +           ! 1 WebCoreObjCScheduleDeallocateOnMainThread(objc_class*, objc_object*)  (in WebCore) + 
           | +           !   1 _Unwind_SjLj_Register  (in libunwind.dylib) + 5  [0x32b4fae5]
           | +           1 -[WebCoreSharedBufferData dealloc]  (in WebCore) + 75  [0x1b54b63]
           | +             1 object_dispose  (in libobjc.A.dylib) + 11  [0x32472617]
           | +               1 objc_destructInstance  (in libobjc.A.dylib) + 31  [0x324725f3]
           | +                 1 object_cxxDestructFromClass(objc_object*, objc_class*)  (in libobjc.A.dylib) + 115  
           | +                   1 -[WebCoreSharedBufferData .cxx_destruct]  (in WebCore) + 37  [0x1b54c81]
           | 1 CFRelease  (in CoreFoundation) + 1253  [0x23fe50d9]
           |   1 _os_lock_handoff_lock  (in libsystem_platform.dylib) + 35  [0x32b38473]
           3 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 51  
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 147  [0x1b54edf]
           | + 1 NSAllocateObject  (in Foundation) + 101  [0x24d50b55]
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 203  [0x1b54f17]
           | + 1 _os_lock_handoff_trylock  (in libsystem_platform.dylib) + 35  [0x32b383cf]
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 9  [0x1b54e55]
           1 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 61  
             1 CGImageSourceUpdateData  (in ImageIO) + 893  [0x250e9c59]
               1 CGImageReadCreateWithData  (in ImageIO) + 43  [0x250abb93]
                 1 CFDataGetLength  (in CoreFoundation) + 3  [0x23fdf273]</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>