Ignore:
Timestamp:
Sep 22, 2015, 5:21:31 AM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r189616.
https://bugs.webkit.org/show_bug.cgi?id=149456

suspected cause of multiple regressions (Requested by kling on
#webkit).

Reverted changeset:

"[JSC] Weak should only accept cell pointees."
https://bugs.webkit.org/show_bug.cgi?id=148955
http://trac.webkit.org/changeset/189616

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/heap/WeakBlock.cpp

    r189616 r190113  
    113113            continue;
    114114
    115         if (m_markedBlock->isMarkedOrNewlyAllocated(weakImpl->m_cell))
     115        const JSValue& jsValue = weakImpl->jsValue();
     116        if (m_markedBlock->isMarkedOrNewlyAllocated(jsValue.asCell()))
    116117            continue;
    117118
     
    120121            continue;
    121122
    122         if (!weakHandleOwner->isReachableFromOpaqueRoots(*weakImpl->m_cell, weakImpl->context(), visitor))
     123        if (!weakHandleOwner->isReachableFromOpaqueRoots(Handle<Unknown>::wrapSlot(&const_cast<JSValue&>(jsValue)), weakImpl->context(), visitor))
    123124            continue;
    124125
    125         heapRootVisitor.visit(&weakImpl->m_cell);
     126        heapRootVisitor.visit(&const_cast<JSValue&>(jsValue));
    126127    }
    127128}
     
    144145            continue;
    145146
    146         if (m_markedBlock->isMarkedOrNewlyAllocated(weakImpl->cell())) {
     147        if (m_markedBlock->isMarkedOrNewlyAllocated(weakImpl->jsValue().asCell())) {
    147148            ASSERT(weakImpl->state() == WeakImpl::Live);
    148149            continue;
Note: See TracChangeset for help on using the changeset viewer.