Ignore:
Timestamp:
May 13, 2009, 3:09:21 PM (16 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2009-05-13 Dmitry Titov <[email protected]>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25746
Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
  • bytecode/SamplingTool.cpp: (JSC::SamplingThread::start): (JSC::SamplingThread::stop):
  • bytecode/SamplingTool.h:
  • wtf/CrossThreadRefCounted.h: (WTF::CrossThreadRefCounted::CrossThreadRefCounted): (WTF::::ref): (WTF::::deref):
  • wtf/Threading.h:
  • wtf/ThreadingNone.cpp:
  • wtf/ThreadingPthreads.cpp: (WTF::threadMapMutex): (WTF::initializeThreading): (WTF::threadMap): (WTF::identifierByPthreadHandle): (WTF::establishIdentifierForPthreadHandle): (WTF::pthreadHandleForIdentifier): (WTF::clearPthreadHandleForIdentifier): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::threadMapMutex): (WTF::initializeThreading): (WTF::threadMap): (WTF::storeThreadHandleByIdentifier): (WTF::threadHandleForIdentifier): (WTF::clearThreadHandleForIdentifier): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread):
  • wtf/gtk/ThreadingGtk.cpp: (WTF::threadMapMutex): (WTF::initializeThreading): (WTF::threadMap): (WTF::identifierByGthreadHandle): (WTF::establishIdentifierForThread): (WTF::threadForIdentifier): (WTF::clearThreadForIdentifier): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/qt/ThreadingQt.cpp: (WTF::threadMapMutex): (WTF::threadMap): (WTF::identifierByQthreadHandle): (WTF::establishIdentifierForThread): (WTF::clearThreadForIdentifier): (WTF::threadForIdentifier): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):

WebCore:

2009-05-13 Dmitry Titov <[email protected]>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25746
Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::matchFunc): (WebCore::openFunc): (WebCore::createStringParser): (WebCore::createMemoryParser):
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close):
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread):
  • storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::localStorageThread): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start):

WebKit/win:

2009-05-13 Dmitry Titov <[email protected]>

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=25746
Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wtf/CrossThreadRefCounted.h

    r43507 r43663  
    7575            : m_threadSafeRefCounter(threadedCounter)
    7676            , m_data(data)
     77#ifndef NDEBUG
     78            , m_threadId(0)
     79#endif
    7780        {
    7881        }
     
    97100    void CrossThreadRefCounted<T>::ref()
    98101    {
    99         ASSERT(!m_threadId.isValid() || m_threadId == currentThread());
     102        ASSERT(!m_threadId || m_threadId == currentThread());
    100103        m_refCounter.ref();
    101104#ifndef NDEBUG
     
    105108        // is a heuristic but it seems to always work and has helped
    106109        // find some bugs.
    107         if (!m_threadId.isValid() && m_refCounter.refCount() == 2)
     110        if (!m_threadId && m_refCounter.refCount() == 2)
    108111            m_threadId = currentThread();
    109112#endif
     
    113116    void CrossThreadRefCounted<T>::deref()
    114117    {
    115         ASSERT(!m_threadId.isValid() || m_threadId == currentThread());
     118        ASSERT(!m_threadId || m_threadId == currentThread());
    116119        if (m_refCounter.derefBase()) {
    117120            threadSafeDeref();
     
    122125            // is safe to be passed to another thread at this point.
    123126            if (m_threadId && m_refCounter.refCount() == 1)
    124                 m_threadId.invalidate();
     127                m_threadId = 0;
    125128#endif
    126129        }
Note: See TracChangeset for help on using the changeset viewer.