Ignore:
Timestamp:
Aug 14, 2015, 9:53:37 AM (10 years ago)
Author:
[email protected]
Message:

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

Broke GTK and EFL (see bug #148027) (Requested by philn on
#webkit).

Reverted changeset:

"Use WTF::Lock and WTF::Condition instead of WTF::Mutex,
WTF::ThreadCondition, std::mutex, and std::condition_variable"
https://bugs.webkit.org/show_bug.cgi?id=147999
http://trac.webkit.org/changeset/188444

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/profiler/ProfilerDatabase.h

    r188444 r188475  
    3333#include <wtf/FastMalloc.h>
    3434#include <wtf/HashMap.h>
    35 #include <wtf/Lock.h>
    3635#include <wtf/Noncopyable.h>
    3736#include <wtf/PassRefPtr.h>
     
    7271   
    7372private:
     73    // Use a full-blown adaptive mutex because:
     74    // - There is only one ProfilerDatabase per VM. The size overhead of the system's
     75    //   mutex is negligible if you only have one of them.
     76    // - It's locked infrequently - once per bytecode generation, compilation, and
     77    //   code block collection - so the fact that the fast path still requires a
     78    //   function call is neglible.
     79    // - It tends to be held for a while. Currently, we hold it while generating
     80    //   Profiler::Bytecodes for a CodeBlock. That's uncommon and shouldn't affect
     81    //   performance, but if we did have contention, we would want a sensible,
     82    //   power-aware backoff. An adaptive mutex will do this as a matter of course,
     83    //   but a spinlock won't.
     84    typedef Mutex Lock;
     85    typedef MutexLocker Locker;
     86   
     87
    7488    void addDatabaseToAtExit();
    7589    void removeDatabaseFromAtExit();
Note: See TracChangeset for help on using the changeset viewer.