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/MarkingConstraintSolver.h

    r226667 r226725  
    6565    void execute(MarkingConstraint&);
    6666   
    67     // Parallel constraints can add parallel tasks.
    68     void addParallelTask(RefPtr<SharedTask<void(SlotVisitor&)>>, MarkingConstraint&);
    69    
    7067private:
    7168    void runExecutionThread(SlotVisitor&, SchedulerPreference, ScopedLambda<std::optional<unsigned>()> pickNext);
    7269   
    73     struct TaskWithConstraint {
    74         TaskWithConstraint() { }
    75        
    76         TaskWithConstraint(RefPtr<SharedTask<void(SlotVisitor&)>> task, MarkingConstraint* constraint)
    77             : task(WTFMove(task))
    78             , constraint(constraint)
    79         {
    80         }
    81        
    82         bool operator==(const TaskWithConstraint& other) const
    83         {
    84             return task == other.task
    85                 && constraint == other.constraint;
    86         }
    87        
    88         RefPtr<SharedTask<void(SlotVisitor&)>> task;
    89         MarkingConstraint* constraint { nullptr };
    90     };
    91    
     70    void didExecute(ConstraintParallelism, unsigned index);
     71
    9272    Heap& m_heap;
    9373    SlotVisitor& m_mainVisitor;
    9474    MarkingConstraintSet& m_set;
    9575    BitVector m_executed;
    96     Deque<TaskWithConstraint, 32> m_toExecuteInParallel;
     76    Deque<unsigned, 32> m_toExecuteInParallel;
     77    BitVector m_toExecuteInParallelSet;
     78    Vector<unsigned, 32> m_didExecuteInParallel;
    9779    Vector<unsigned, 32> m_toExecuteSequentially;
    9880    Lock m_lock;
Note: See TracChangeset for help on using the changeset viewer.