Changeset 190350 in webkit


Ignore:
Timestamp:
Sep 30, 2015 10:17:27 AM (9 years ago)
Author:
commit-queue@webkit.org
Message:

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

Caused flaky crashes, rdar://problem/22916304 (Requested by ap
on #webkit).

Reverted changeset:

"ParallelHelperPool::runFunctionInParallel() shouldn't
allocate, and ParallelHelperPool.h shouldn't be included
everywhere"
https://bugs.webkit.org/show_bug.cgi?id=149635
http://trac.webkit.org/changeset/190324

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r190329 r190350  
     12015-09-30  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r190324.
     4        https://bugs.webkit.org/show_bug.cgi?id=149671
     5
     6        Caused flaky crashes, rdar://problem/22916304 (Requested by ap
     7        on #webkit).
     8
     9        Reverted changeset:
     10
     11        "ParallelHelperPool::runFunctionInParallel() shouldn't
     12        allocate, and ParallelHelperPool.h shouldn't be included
     13        everywhere"
     14        https://bugs.webkit.org/show_bug.cgi?id=149635
     15        http://trac.webkit.org/changeset/190324
     16
    1172015-09-29  Commit Queue  <commit-queue@webkit.org>
    218
  • trunk/Source/JavaScriptCore/heap/Heap.cpp

    r190324 r190350  
    5454#include <wtf/RAMSize.h>
    5555#include <wtf/CurrentTime.h>
    56 #include <wtf/ParallelHelperPool.h>
    5756#include <wtf/ParallelVectorIterator.h>
    5857#include <wtf/ProcessID.h>
     
    359358    , m_delayedReleaseRecursionCount(0)
    360359#endif
    361     , m_helperClient(std::make_unique<ParallelHelperClient>(&heapHelperPool()))
     360    , m_helperClient(&heapHelperPool())
    362361{
    363362    m_storageSpace.init();
     
    549548    m_parallelMarkersShouldExit = false;
    550549
    551     m_helperClient->setFunction(
     550    m_helperClient.setFunction(
    552551        [this] () {
    553552            SlotVisitor* slotVisitor;
     
    606605        m_markingConditionVariable.notifyAll();
    607606    }
    608     m_helperClient->finish();
     607    m_helperClient.finish();
    609608    updateObjectCounts(gcStartTime);
    610609    resetVisitors();
     
    639638        // we have created is not going to be running anymore. Hence, everything on the stack here
    640639        // outlives the task.
    641         m_helperClient->runFunctionInParallel(
     640        m_helperClient.runFunctionInParallel(
    642641            [&] () {
    643642                CopyVisitor copyVisitor(*this);
  • trunk/Source/JavaScriptCore/heap/Heap.h

    r190324 r190350  
    4646#include <wtf/HashCountedSet.h>
    4747#include <wtf/HashSet.h>
    48 
    49 namespace WTF {
    50 class ParallelHelperClient;
    51 }
    52 using WTF::ParallelHelperClient;
     48#include <wtf/ParallelHelperPool.h>
    5349
    5450namespace JSC {
     
    446442    ListableHandler<UnconditionalFinalizer>::List m_unconditionalFinalizers;
    447443
    448     std::unique_ptr<ParallelHelperClient> m_helperClient;
     444    ParallelHelperClient m_helperClient;
    449445};
    450446
  • trunk/Source/WTF/ChangeLog

    r190324 r190350  
     12015-09-30  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r190324.
     4        https://bugs.webkit.org/show_bug.cgi?id=149671
     5
     6        Caused flaky crashes, rdar://problem/22916304 (Requested by ap
     7        on #webkit).
     8
     9        Reverted changeset:
     10
     11        "ParallelHelperPool::runFunctionInParallel() shouldn't
     12        allocate, and ParallelHelperPool.h shouldn't be included
     13        everywhere"
     14        https://bugs.webkit.org/show_bug.cgi?id=149635
     15        http://trac.webkit.org/changeset/190324
     16
    1172015-09-29  Filip Pizlo  <fpizlo@apple.com>
    218
  • trunk/Source/WTF/wtf/ParallelHelperPool.h

    r190324 r190350  
    149149    WTF_EXPORT_PRIVATE void runTaskInParallel(RefPtr<SharedTask>);
    150150
    151     // Semantically equivalent to:
     151    // Equivalent to:
    152152    // client->setFunction(functor);
    153153    // client->doSomeHelping();
    154154    // client->finish();
    155     //
    156     // Except, unlike the above sequence, this won't allocate the task in the heap. This allocates
    157     // the task on the stack because it knows that the task is not reachable after this method is
    158     // done.
    159155    template<typename Functor>
    160156    void runFunctionInParallel(const Functor& functor)
    161157    {
    162         SharedTaskFunctor<Functor> sharedTask(functor);
    163         runTaskInParallel(&sharedTask);
     158        runTaskInParallel(createSharedTask(functor));
    164159    }
    165160
Note: See TracChangeset for help on using the changeset viewer.