Ignore:
Timestamp:
Jan 10, 2018, 11:41:12 AM (8 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r226667 and r226673.
https://bugs.webkit.org/show_bug.cgi?id=181488

This caused a flaky crash. (Requested by mlewis13 on #webkit).

Reverted changesets:

"CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226667

"REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226673

File:
1 edited

Legend:

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

    r226667 r226725  
    4545    if (isOnList())
    4646        BasicRawSentinelNode<IsoCellSet>::remove();
    47 }
    48 
    49 RefPtr<SharedTask<MarkedBlock::Handle*()>> IsoCellSet::parallelNotEmptyMarkedBlockSource()
    50 {
    51     class Task : public SharedTask<MarkedBlock::Handle*()> {
    52     public:
    53         Task(IsoCellSet& set)
    54             : m_set(set)
    55             , m_allocator(set.m_subspace.m_allocator)
    56         {
    57         }
    58        
    59         MarkedBlock::Handle* run() override
    60         {
    61             if (m_done)
    62                 return nullptr;
    63             auto locker = holdLock(m_lock);
    64             auto bits = m_allocator.m_markingNotEmpty & m_set.m_blocksWithBits;
    65             m_index = bits.findBit(m_index, true);
    66             if (m_index >= m_allocator.m_blocks.size()) {
    67                 m_done = true;
    68                 return nullptr;
    69             }
    70             return m_allocator.m_blocks[m_index++];
    71         }
    72        
    73     private:
    74         IsoCellSet& m_set;
    75         MarkedAllocator& m_allocator;
    76         size_t m_index { 0 };
    77         Lock m_lock;
    78         bool m_done { false };
    79     };
    80    
    81     return adoptRef(new Task(*this));
    8247}
    8348
Note: See TracChangeset for help on using the changeset viewer.