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

    r226667 r226725  
    5050    ~CodeBlockSet();
    5151
     52    void lastChanceToFinalize(VM&);
     53   
     54    // Add a CodeBlock. This is only called by CodeBlock constructors.
     55    void add(CodeBlock*);
     56   
     57    // Clear all mark bits for all CodeBlocks.
     58    void clearMarksForFullCollection();
     59
     60    // Mark a pointer that may be a CodeBlock that belongs to the set of DFG
     61    // blocks. This is defined in CodeBlock.h.
     62private:
    5263    void mark(const AbstractLocker&, CodeBlock* candidateCodeBlock);
     64public:
     65    void mark(const AbstractLocker&, void* candidateCodeBlock);
     66   
     67    // Delete all code blocks that are only referenced by this set (i.e. owned
     68    // by this set), and that have not been marked.
     69    void deleteUnmarkedAndUnreferenced(VM&, CollectionScope);
    5370   
    5471    void clearCurrentlyExecuting();
     
    6279    template<typename Functor> void iterate(const Functor&);
    6380    template<typename Functor> void iterate(const AbstractLocker&, const Functor&);
    64 
    65     template<typename Functor> void iterateViaSubspaces(VM&, const Functor&);
    6681   
    6782    template<typename Functor> void iterateCurrentlyExecuting(const Functor&);
    6883   
    6984    void dump(PrintStream&) const;
    70    
    71     void add(CodeBlock*);
    72     void remove(CodeBlock*);
    7385
    7486private:
    75     HashSet<CodeBlock*> m_codeBlocks;
     87    void promoteYoungCodeBlocks(const AbstractLocker&);
     88
     89    HashSet<CodeBlock*> m_oldCodeBlocks;
     90    HashSet<CodeBlock*> m_newCodeBlocks;
    7691    HashSet<CodeBlock*> m_currentlyExecuting;
    7792    Lock m_lock;
Note: See TracChangeset for help on using the changeset viewer.