Beispiel #1
0
void GCThreadSharedData::didFinishMarking()
{
    {
        std::lock_guard<std::mutex> lock(m_markingMutex);
        m_parallelMarkersShouldExit = true;
        m_markingConditionVariable.notify_all();
    }

    ASSERT(m_currentPhase == Mark);
    endCurrentPhase();
}
void GCThreadSharedData::didFinishMarking()
{
    {
        MutexLocker markingLocker(m_markingLock);
        m_parallelMarkersShouldExit = true;
        m_markingCondition.broadcast();
    }

    ASSERT(m_currentPhase == Mark);
    endCurrentPhase();
}
Beispiel #3
0
void GCThreadSharedData::didFinishCopying()
{
    ASSERT(m_currentPhase == Copy);
    endCurrentPhase();
}