Ignore:
Timestamp:
Oct 7, 2015, 4:10:20 PM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling back in r190450
https://bugs.webkit.org/show_bug.cgi?id=149727

This time for sure?

The cause of the leak was an invalidated compilation.

There was vestigial manual memory management code that eagerly removed
a CodeBlock from the set of CodeBlocks if compilation was invalidated.
That's not cool since we rely on the set of CodeBlocks when we run
destructors.

The fix is to remove the vestigial code.

I ran the leaks, correctness, and performance tests locally and did not
see any problems.

Restored changesets:

"CodeBlock should be a GC object"
https://bugs.webkit.org/show_bug.cgi?id=149727
http://trac.webkit.org/changeset/190450

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h

    r190606 r190694  
    130130
    131131        ConcurrentJITLocker locker(codeBlock->m_lock);
    132         pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), scope->structure());
     132        pc[5].u.structure.set(exec->vm(), codeBlock, scope->structure());
    133133        pc[6].u.operand = slot.cachedOffset();
    134134    }
     
    163163            {
    164164                ConcurrentJITLocker locker(codeBlock->m_lock);
    165                 pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), structure);
     165                pc[5].u.structure.set(exec->vm(), codeBlock, structure);
    166166                pc[6].u.operand = slot.cachedOffset();
    167167            }
Note: See TracChangeset for help on using the changeset viewer.