Changeset 92251 in webkit


Ignore:
Timestamp:
Aug 2, 2011 6:48:13 PM (13 years ago)
Author:
fpizlo@apple.com
Message:

JSC GC may not be able to reuse partially-free blocks after a
full collection
https://bugs.webkit.org/show_bug.cgi?id=65585

Reviewed by Darin Adler.

This fixes the linked list management bug. This fix is performance
neutral on SunSpider.

  • heap/NewSpace.cpp:

(JSC::NewSpace::removeBlock):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r92250 r92251  
     12011-08-02  Filip Pizlo  <fpizlo@apple.com>
     2
     3        JSC GC may not be able to reuse partially-free blocks after a
     4        full collection
     5        https://bugs.webkit.org/show_bug.cgi?id=65585
     6
     7        Reviewed by Darin Adler.
     8       
     9        This fixes the linked list management bug.  This fix is performance
     10        neutral on SunSpider.
     11
     12        * heap/NewSpace.cpp:
     13        (JSC::NewSpace::removeBlock):
     14
    1152011-07-30  Oliver Hunt  <oliver@apple.com>
    216
  • trunk/Source/JavaScriptCore/heap/NewSpace.cpp

    r91039 r92251  
    5959    block->setInNewSpace(false);
    6060    SizeClass& sizeClass = sizeClassFor(block->cellSize());
    61     sizeClass.nextBlock = block->next();
     61    if (sizeClass.nextBlock == block)
     62        sizeClass.nextBlock = block->next();
    6263    sizeClass.blockList.remove(block);
    6364}
Note: See TracChangeset for help on using the changeset viewer.