2011-06-14 Geoffrey Garen <ggaren@apple.com>
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jun 2011 07:08:41 +0000 (07:08 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jun 2011 07:08:41 +0000 (07:08 +0000)
commit3cf54b717a36b2b130c2195b92dec115e60aec79
tree2cd0d512174c5bcedfae3d4bb8e14cddd2ff8d94
parent33e8152f17ed509593f36879572b3151e6193635
2011-06-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Dan Bernstein.

        Fixed an inavlid ASSERT I found while investigating
        <rdar://problem/9580254> Crash in JSC::HandleHeap::finalizeWeakHandles + 92
        https://bugs.webkit.org/show_bug.cgi?id=62699

        No test since we don't know of a way to get WebCore to deallocate the
        next-to-finalize handle, which is also the last handle in the list,
        while finalizing the second-to-last handle in the list.

        * heap/HandleHeap.h:
        (JSC::HandleHeap::deallocate): Don't ASSERT that m_nextToFinalize has a
        non-0 next() after updating it, since it is valid to update m_nextToFinalize
        to point to the tail sentinel.

        Do ASSERT that m_nextToFinalize has a non-0 next() before updating it,
        since it is not valid to update m_nextToFinalize to point past the tail
        sentinel.

        Also, use m_nextToFinalize consistently for clarity.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@88911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/heap/HandleHeap.h